diff --git a/ecs/jskult-webapp/src/router/session_router.py b/ecs/jskult-webapp/src/router/session_router.py index 8188c10f..90f3a5c9 100644 --- a/ecs/jskult-webapp/src/router/session_router.py +++ b/ecs/jskult-webapp/src/router/session_router.py @@ -7,7 +7,7 @@ from starlette import status from src.depends.auth import (check_session_expired, get_current_session, verify_session) -from src.error.exceptions import UnexpectedException +from src.error.exceptions import DBException, UnexpectedException from src.logging.get_logger import get_logger from src.system_var import constants, environment @@ -46,7 +46,10 @@ class MeDaCaRoute(APIRoute): raise e except Exception as e: logger.exception(e) - raise UnexpectedException(detail=constants.LOGOUT_REASON_UNEXPECTED) + if isinstance(e, DBException): + raise UnexpectedException(detail=constants.LOGOUT_REASON_DB_ERROR) + else: + raise UnexpectedException(detail=constants.LOGOUT_REASON_UNEXPECTED) return custom_route_handler async def pre_process_route(self, request: Request) -> Request: diff --git a/ecs/jskult-webapp/src/system_var/constants.py b/ecs/jskult-webapp/src/system_var/constants.py index 99bdd872..899c19e5 100644 --- a/ecs/jskult-webapp/src/system_var/constants.py +++ b/ecs/jskult-webapp/src/system_var/constants.py @@ -114,16 +114,16 @@ LOGOUT_REASON_BATCH_PROCESSING = 'batch_processing' LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE = 'batch_processing_ult' LOGOUT_REASON_NOT_LOGIN = 'not_login' LOGOUT_REASON_SESSION_EXPIRED = 'session_expired' +LOGOUT_REASON_DB_ERROR = 'db_error' LOGOUT_REASON_UNEXPECTED = 'unexpected' LOGOUT_REASON_MESSAGE_MAP = { LOGOUT_REASON_DO_LOGOUT: 'Logoutしました。', LOGOUT_REASON_LOGIN_ERROR: '存在しないユーザー、
またはパスワードが違います。', - # 機能を利用できないとかでいいんじゃ LOGOUT_REASON_BATCH_PROCESSING: '日次バッチ処理中なので、
生物由来データ参照は使用出来ません。', LOGOUT_REASON_BATCH_PROCESSING_FOR_MAINTE: '日次バッチ処理中のため、
マスタ-メンテは使用出来ません。', - # 使ってなさそう LOGOUT_REASON_NOT_LOGIN: 'Loginしてからページにアクセスしてください。', LOGOUT_REASON_SESSION_EXPIRED: 'セッションが切れています。
再度Loginしてください。', + LOGOUT_REASON_DB_ERROR: 'DB接続に失敗しました。
再度Loginするか、
管理者にお問い合わせください。', LOGOUT_REASON_UNEXPECTED: '予期しないエラーが発生しました。
再度Loginするか、
管理者に問い合わせてください。' }