From 7d30331cdabdcea5c6d61f796d2eaee470b398cc Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Fri, 18 Aug 2023 17:41:55 +0900 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20=E3=82=B3=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=83=A9=E3=83=BC=E9=96=A2=E6=95=B0=E3=82=92?= =?UTF-8?q?=E3=81=99=E3=81=B9=E3=81=A6async(=E3=82=B7=E3=83=B3=E3=82=B0?= =?UTF-8?q?=E3=83=AB=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89)=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/controller/bio.py | 4 ++-- ecs/jskult-webapp/src/controller/healthcheck.py | 2 +- ecs/jskult-webapp/src/controller/login.py | 8 ++++---- ecs/jskult-webapp/src/controller/logout.py | 2 +- .../src/controller/master_mainte.py | 12 ++++++------ ecs/jskult-webapp/src/controller/menu.py | 2 +- ecs/jskult-webapp/src/controller/root.py | 2 +- ecs/jskult-webapp/src/controller/ultmarc.py | 16 ++++++++-------- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/ecs/jskult-webapp/src/controller/bio.py b/ecs/jskult-webapp/src/controller/bio.py index 108fc747..a11be3d0 100644 --- a/ecs/jskult-webapp/src/controller/bio.py +++ b/ecs/jskult-webapp/src/controller/bio.py @@ -25,7 +25,7 @@ logger = get_logger('生物由来参照') @router.get('/BioSearchList') -def bio_view( +async def bio_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), bio_service: BioViewService = Depends(get_service(BioViewService)) @@ -57,7 +57,7 @@ def bio_view( @router.post('/BioSearchList') -def search_bio( +async def search_bio( request: Request, bio_form: Optional[BioModel] = Depends(BioModel.as_form), bio_service: BioViewService = Depends(get_service(BioViewService)), diff --git a/ecs/jskult-webapp/src/controller/healthcheck.py b/ecs/jskult-webapp/src/controller/healthcheck.py index cdb8f00e..a9b819e7 100644 --- a/ecs/jskult-webapp/src/controller/healthcheck.py +++ b/ecs/jskult-webapp/src/controller/healthcheck.py @@ -8,5 +8,5 @@ router = APIRouter() @router.get('/') -def healthcheck(): +async def healthcheck(): return {'status': 'OK'} diff --git a/ecs/jskult-webapp/src/controller/login.py b/ecs/jskult-webapp/src/controller/login.py index c8a5663c..991457f8 100644 --- a/ecs/jskult-webapp/src/controller/login.py +++ b/ecs/jskult-webapp/src/controller/login.py @@ -30,7 +30,7 @@ logger = get_logger('ログイン') @router.get('/userlogin') -def login_user_redirect_view(): +async def login_user_redirect_view(): auth_query_string = parse.urlencode( { 'response_type': 'code', @@ -45,7 +45,7 @@ def login_user_redirect_view(): @router.get('/maintlogin') -def login_maintenance_view(request: Request): +async def login_maintenance_view(request: Request): mainte_login = MainteLoginViewModel() return templates.TemplateResponse( 'maintlogin.html', @@ -61,7 +61,7 @@ def login_maintenance_view(request: Request): @router.post('/maintlogin') -def login( +async def login( response: Response, request: LoginModel = Depends(LoginModel.as_form), login_service: LoginService = Depends(get_service(LoginService)) @@ -117,7 +117,7 @@ def login( @router.get('/authorize') -def sso_authorize( +async def sso_authorize( code: Union[str, None] = Depends(code_security), login_service: LoginService = Depends(get_service(LoginService)) ) -> Response: diff --git a/ecs/jskult-webapp/src/controller/logout.py b/ecs/jskult-webapp/src/controller/logout.py index 36ab6229..2d8c60c8 100644 --- a/ecs/jskult-webapp/src/controller/logout.py +++ b/ecs/jskult-webapp/src/controller/logout.py @@ -17,7 +17,7 @@ router = APIRouter() @router.get('/', response_class=HTMLResponse) -def logout_view( +async def logout_view( request: Request, reason: Optional[str] = None, session: Union[UserSession, None] = Depends(verify_session) diff --git a/ecs/jskult-webapp/src/controller/master_mainte.py b/ecs/jskult-webapp/src/controller/master_mainte.py index 460e256a..aa27ecb2 100644 --- a/ecs/jskult-webapp/src/controller/master_mainte.py +++ b/ecs/jskult-webapp/src/controller/master_mainte.py @@ -35,7 +35,7 @@ router.route_class = AuthenticatedRoute @router.get('/masterMainteMenu', response_class=HTMLResponse) -def menu_view( +async def menu_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -75,7 +75,7 @@ def menu_view( @router.get('/instEmpCsvUL', response_class=HTMLResponse) -def inst_emp_csv_upload_view( +async def inst_emp_csv_upload_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -177,7 +177,7 @@ async def inst_emp_csv_upload( @router.post('/newInst', response_class=HTMLResponse) -def new_inst_result_view( +async def new_inst_result_view( request: Request, csv_upload_form: Optional[MasterMainteCsvUpModel] = Depends(MasterMainteCsvUpModel.as_form), master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)), @@ -219,7 +219,7 @@ def new_inst_result_view( @ router.get('/instEmpCsvDL', response_class=HTMLResponse) -def inst_emp_csv_download_view( +async def inst_emp_csv_download_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -331,7 +331,7 @@ async def inst_emp_csv_download( @router.get('/tableOverride', response_class=HTMLResponse) -def table_override_view( +async def table_override_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -371,7 +371,7 @@ def table_override_view( @router.post('/tableOverride', response_class=HTMLResponse) -def table_override_result_view( +async def table_override_result_view( request: Request, master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)), batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) diff --git a/ecs/jskult-webapp/src/controller/menu.py b/ecs/jskult-webapp/src/controller/menu.py index 96826fce..0f801a9e 100644 --- a/ecs/jskult-webapp/src/controller/menu.py +++ b/ecs/jskult-webapp/src/controller/menu.py @@ -22,7 +22,7 @@ router.route_class = AuthenticatedRoute @router.get('/', response_class=HTMLResponse) -def menu_view( +async def menu_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): diff --git a/ecs/jskult-webapp/src/controller/root.py b/ecs/jskult-webapp/src/controller/root.py index c02471ca..3c47aa7a 100644 --- a/ecs/jskult-webapp/src/controller/root.py +++ b/ecs/jskult-webapp/src/controller/root.py @@ -6,6 +6,6 @@ router = APIRouter() @router.get('/') -def redirect_to_user_login(): +async def redirect_to_user_login(): # ルートパスへのアクセスは、顧客ユーザーログイン画面にリダイレクトさせる return RedirectResponse(url='/login/userlogin', status_code=status.HTTP_303_SEE_OTHER) diff --git a/ecs/jskult-webapp/src/controller/ultmarc.py b/ecs/jskult-webapp/src/controller/ultmarc.py index 825c8b50..a0161b0a 100644 --- a/ecs/jskult-webapp/src/controller/ultmarc.py +++ b/ecs/jskult-webapp/src/controller/ultmarc.py @@ -27,7 +27,7 @@ router.route_class = AuthenticatedRoute @router.get('/instSearch') -def ultmarc_inst_view( +async def ultmarc_inst_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)) @@ -59,7 +59,7 @@ def ultmarc_inst_view( @router.post('/instSearch') -def search_inst( +async def search_inst( request: Request, ultmarc_inst_form: Optional[UltmarcInstSearchModel] = Depends(UltmarcInstSearchModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -103,7 +103,7 @@ def search_inst( @router.get('/instInfo') -def ultmarc_inst_info_view( +async def ultmarc_inst_info_view( request: Request, id: str, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), @@ -143,7 +143,7 @@ def ultmarc_inst_info_view( @router.post('/instInfo') -def ultmarc_inst_info_search( +async def ultmarc_inst_info_search( request: Request, ultmarc_inst_form: Optional[UltmarcInstInfoModel] = Depends(UltmarcInstInfoModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -190,7 +190,7 @@ def ultmarc_inst_info_search( @router.get('/docSearch') -def ultmarc_doctor_view( +async def ultmarc_doctor_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)) @@ -222,7 +222,7 @@ def ultmarc_doctor_view( @router.post('/docSearch') -def search_doc( +async def search_doc( request: Request, ultmarc_doctor_form: Optional[UltmarcDoctorSearchModel] = Depends(UltmarcDoctorSearchModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -266,7 +266,7 @@ def search_doc( @router.get('/docInfo') -def ultmarc_doctor_info_view( +async def ultmarc_doctor_info_view( request: Request, id: str, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), @@ -306,7 +306,7 @@ def ultmarc_doctor_info_view( @router.post('/docInfo') -def ultmarc_doctor_info_search( +async def ultmarc_doctor_info_search( request: Request, ultmarc_doctor_form: Optional[UltmarcDoctorInfoModel] = Depends(UltmarcDoctorInfoModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), From b7e9682be6116bf418e057d73d4a404e19c931c2 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Fri, 18 Aug 2023 17:43:49 +0900 Subject: [PATCH 2/9] =?UTF-8?q?feat:=20=E3=82=B5=E3=83=B3=E3=83=97?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E3=83=AB=E3=83=BC=E3=83=86=E3=82=A3=E3=83=B3?= =?UTF-8?q?=E3=82=B0=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/controller/sample_send_file.py | 44 ------------------- ecs/jskult-webapp/src/main.py | 4 -- 2 files changed, 48 deletions(-) delete mode 100644 ecs/jskult-webapp/src/controller/sample_send_file.py diff --git a/ecs/jskult-webapp/src/controller/sample_send_file.py b/ecs/jskult-webapp/src/controller/sample_send_file.py deleted file mode 100644 index b866763c..00000000 --- a/ecs/jskult-webapp/src/controller/sample_send_file.py +++ /dev/null @@ -1,44 +0,0 @@ -from typing import Annotated - -from fastapi import APIRouter, File, Form, Request, UploadFile - -from src.templates import templates - -router = APIRouter() - - -@router.get('/') -def get_view(request: Request): - return templates.TemplateResponse( - 'sample_send_file.html', - { - 'request': request - } - ) - - -@router.post('/') -# file.readがCoroutineが返ってくるため、必ずasync関数にする -async def post_view( - # formからファイルを受け取る。(formタグにenctype="multipart/form-data"を指定すること) - file: Annotated[UploadFile, File()], - message: str = Form() -): - # ファイルを読み込む(Coroutineが取れるため、必ずawaitする) - file_bytes = await file.read() - # 閉じとく - await file.close() - # 読み込んだファイルはbytesで返ってくるので、デコードする - file_content = file_bytes.decode() - print(file_content) - try: - return { - # ファイル名 - "file_name": file.filename, - # ファイルのバイト数 - "file_size": file.size, - # Content-Type - "file_content_type": file.content_type - } - except Exception: - return {'code': 'fail'} diff --git a/ecs/jskult-webapp/src/main.py b/ecs/jskult-webapp/src/main.py index 8717c7cb..c63fcb58 100644 --- a/ecs/jskult-webapp/src/main.py +++ b/ecs/jskult-webapp/src/main.py @@ -7,7 +7,6 @@ from starlette import status import src.static as static from src.controller import (bio, bio_download, healthcheck, login, logout, master_mainte, menu, root, ultmarc) -from src.controller.sample_send_file import router as sample_router from src.core import tasks from src.error.exception_handler import http_exception_handler from src.error.exceptions import UnexpectedException @@ -36,9 +35,6 @@ app.include_router(master_mainte.router, prefix='/masterMainte') # ヘルスチェック用のルーター app.include_router(healthcheck.router, prefix='/healthcheck') -# サンプル実装、ファイル送信ルーター -app.include_router(sample_router, prefix='/sample') - # エラー発生時にログアウト画面に遷移させるハンドラー app.add_exception_handler(status.HTTP_401_UNAUTHORIZED, http_exception_handler) app.add_exception_handler(status.HTTP_403_FORBIDDEN, http_exception_handler) From a5e1d141bf834da058089b1fd49ce33e93c3c02f Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 21 Aug 2023 15:16:54 +0900 Subject: [PATCH 3/9] =?UTF-8?q?Revert=20"feat:=20=E3=82=B3=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=83=AD=E3=83=BC=E3=83=A9=E3=83=BC=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=82=92=E3=81=99=E3=81=B9=E3=81=A6async(=E3=82=B7=E3=83=B3?= =?UTF-8?q?=E3=82=B0=E3=83=AB=E3=82=B9=E3=83=AC=E3=83=83=E3=83=89)?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 7d30331cdabdcea5c6d61f796d2eaee470b398cc. --- ecs/jskult-webapp/src/controller/bio.py | 4 ++-- ecs/jskult-webapp/src/controller/healthcheck.py | 2 +- ecs/jskult-webapp/src/controller/login.py | 8 ++++---- ecs/jskult-webapp/src/controller/logout.py | 2 +- .../src/controller/master_mainte.py | 12 ++++++------ ecs/jskult-webapp/src/controller/menu.py | 2 +- ecs/jskult-webapp/src/controller/root.py | 2 +- ecs/jskult-webapp/src/controller/ultmarc.py | 16 ++++++++-------- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/ecs/jskult-webapp/src/controller/bio.py b/ecs/jskult-webapp/src/controller/bio.py index a11be3d0..108fc747 100644 --- a/ecs/jskult-webapp/src/controller/bio.py +++ b/ecs/jskult-webapp/src/controller/bio.py @@ -25,7 +25,7 @@ logger = get_logger('生物由来参照') @router.get('/BioSearchList') -async def bio_view( +def bio_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), bio_service: BioViewService = Depends(get_service(BioViewService)) @@ -57,7 +57,7 @@ async def bio_view( @router.post('/BioSearchList') -async def search_bio( +def search_bio( request: Request, bio_form: Optional[BioModel] = Depends(BioModel.as_form), bio_service: BioViewService = Depends(get_service(BioViewService)), diff --git a/ecs/jskult-webapp/src/controller/healthcheck.py b/ecs/jskult-webapp/src/controller/healthcheck.py index a9b819e7..cdb8f00e 100644 --- a/ecs/jskult-webapp/src/controller/healthcheck.py +++ b/ecs/jskult-webapp/src/controller/healthcheck.py @@ -8,5 +8,5 @@ router = APIRouter() @router.get('/') -async def healthcheck(): +def healthcheck(): return {'status': 'OK'} diff --git a/ecs/jskult-webapp/src/controller/login.py b/ecs/jskult-webapp/src/controller/login.py index 991457f8..c8a5663c 100644 --- a/ecs/jskult-webapp/src/controller/login.py +++ b/ecs/jskult-webapp/src/controller/login.py @@ -30,7 +30,7 @@ logger = get_logger('ログイン') @router.get('/userlogin') -async def login_user_redirect_view(): +def login_user_redirect_view(): auth_query_string = parse.urlencode( { 'response_type': 'code', @@ -45,7 +45,7 @@ async def login_user_redirect_view(): @router.get('/maintlogin') -async def login_maintenance_view(request: Request): +def login_maintenance_view(request: Request): mainte_login = MainteLoginViewModel() return templates.TemplateResponse( 'maintlogin.html', @@ -61,7 +61,7 @@ async def login_maintenance_view(request: Request): @router.post('/maintlogin') -async def login( +def login( response: Response, request: LoginModel = Depends(LoginModel.as_form), login_service: LoginService = Depends(get_service(LoginService)) @@ -117,7 +117,7 @@ async def login( @router.get('/authorize') -async def sso_authorize( +def sso_authorize( code: Union[str, None] = Depends(code_security), login_service: LoginService = Depends(get_service(LoginService)) ) -> Response: diff --git a/ecs/jskult-webapp/src/controller/logout.py b/ecs/jskult-webapp/src/controller/logout.py index 2d8c60c8..36ab6229 100644 --- a/ecs/jskult-webapp/src/controller/logout.py +++ b/ecs/jskult-webapp/src/controller/logout.py @@ -17,7 +17,7 @@ router = APIRouter() @router.get('/', response_class=HTMLResponse) -async def logout_view( +def logout_view( request: Request, reason: Optional[str] = None, session: Union[UserSession, None] = Depends(verify_session) diff --git a/ecs/jskult-webapp/src/controller/master_mainte.py b/ecs/jskult-webapp/src/controller/master_mainte.py index aa27ecb2..460e256a 100644 --- a/ecs/jskult-webapp/src/controller/master_mainte.py +++ b/ecs/jskult-webapp/src/controller/master_mainte.py @@ -35,7 +35,7 @@ router.route_class = AuthenticatedRoute @router.get('/masterMainteMenu', response_class=HTMLResponse) -async def menu_view( +def menu_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -75,7 +75,7 @@ async def menu_view( @router.get('/instEmpCsvUL', response_class=HTMLResponse) -async def inst_emp_csv_upload_view( +def inst_emp_csv_upload_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -177,7 +177,7 @@ async def inst_emp_csv_upload( @router.post('/newInst', response_class=HTMLResponse) -async def new_inst_result_view( +def new_inst_result_view( request: Request, csv_upload_form: Optional[MasterMainteCsvUpModel] = Depends(MasterMainteCsvUpModel.as_form), master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)), @@ -219,7 +219,7 @@ async def new_inst_result_view( @ router.get('/instEmpCsvDL', response_class=HTMLResponse) -async def inst_emp_csv_download_view( +def inst_emp_csv_download_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -331,7 +331,7 @@ async def inst_emp_csv_download( @router.get('/tableOverride', response_class=HTMLResponse) -async def table_override_view( +def table_override_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): @@ -371,7 +371,7 @@ async def table_override_view( @router.post('/tableOverride', response_class=HTMLResponse) -async def table_override_result_view( +def table_override_result_view( request: Request, master_mainte_service: MasterMainteService = Depends(get_service(MasterMainteService)), batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) diff --git a/ecs/jskult-webapp/src/controller/menu.py b/ecs/jskult-webapp/src/controller/menu.py index 0f801a9e..96826fce 100644 --- a/ecs/jskult-webapp/src/controller/menu.py +++ b/ecs/jskult-webapp/src/controller/menu.py @@ -22,7 +22,7 @@ router.route_class = AuthenticatedRoute @router.get('/', response_class=HTMLResponse) -async def menu_view( +def menu_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)) ): diff --git a/ecs/jskult-webapp/src/controller/root.py b/ecs/jskult-webapp/src/controller/root.py index 3c47aa7a..c02471ca 100644 --- a/ecs/jskult-webapp/src/controller/root.py +++ b/ecs/jskult-webapp/src/controller/root.py @@ -6,6 +6,6 @@ router = APIRouter() @router.get('/') -async def redirect_to_user_login(): +def redirect_to_user_login(): # ルートパスへのアクセスは、顧客ユーザーログイン画面にリダイレクトさせる return RedirectResponse(url='/login/userlogin', status_code=status.HTTP_303_SEE_OTHER) diff --git a/ecs/jskult-webapp/src/controller/ultmarc.py b/ecs/jskult-webapp/src/controller/ultmarc.py index a0161b0a..825c8b50 100644 --- a/ecs/jskult-webapp/src/controller/ultmarc.py +++ b/ecs/jskult-webapp/src/controller/ultmarc.py @@ -27,7 +27,7 @@ router.route_class = AuthenticatedRoute @router.get('/instSearch') -async def ultmarc_inst_view( +def ultmarc_inst_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)) @@ -59,7 +59,7 @@ async def ultmarc_inst_view( @router.post('/instSearch') -async def search_inst( +def search_inst( request: Request, ultmarc_inst_form: Optional[UltmarcInstSearchModel] = Depends(UltmarcInstSearchModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -103,7 +103,7 @@ async def search_inst( @router.get('/instInfo') -async def ultmarc_inst_info_view( +def ultmarc_inst_info_view( request: Request, id: str, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), @@ -143,7 +143,7 @@ async def ultmarc_inst_info_view( @router.post('/instInfo') -async def ultmarc_inst_info_search( +def ultmarc_inst_info_search( request: Request, ultmarc_inst_form: Optional[UltmarcInstInfoModel] = Depends(UltmarcInstInfoModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -190,7 +190,7 @@ async def ultmarc_inst_info_search( @router.get('/docSearch') -async def ultmarc_doctor_view( +def ultmarc_doctor_view( request: Request, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)) @@ -222,7 +222,7 @@ async def ultmarc_doctor_view( @router.post('/docSearch') -async def search_doc( +def search_doc( request: Request, ultmarc_doctor_form: Optional[UltmarcDoctorSearchModel] = Depends(UltmarcDoctorSearchModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), @@ -266,7 +266,7 @@ async def search_doc( @router.get('/docInfo') -async def ultmarc_doctor_info_view( +def ultmarc_doctor_info_view( request: Request, id: str, batch_status_service: BatchStatusService = Depends(get_service(BatchStatusService)), @@ -306,7 +306,7 @@ async def ultmarc_doctor_info_view( @router.post('/docInfo') -async def ultmarc_doctor_info_search( +def ultmarc_doctor_info_search( request: Request, ultmarc_doctor_form: Optional[UltmarcDoctorInfoModel] = Depends(UltmarcDoctorInfoModel.as_form), ultmarc_service: UltmarcViewService = Depends(get_service(UltmarcViewService)), From 54d4d09afa97e73a8e71343a133c6689ee8eb2ff Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 21 Aug 2023 17:37:14 +0900 Subject: [PATCH 4/9] =?UTF-8?q?fix:=20DB=E3=81=AE=E3=82=B3=E3=83=8D?= =?UTF-8?q?=E3=82=AF=E3=82=B7=E3=83=A7=E3=83=B3=E3=83=97=E3=83=BC=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=B0=E3=82=92=E3=81=97=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/db/database.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ecs/jskult-webapp/src/db/database.py b/ecs/jskult-webapp/src/db/database.py index 971c859e..b4a54fb8 100644 --- a/ecs/jskult-webapp/src/db/database.py +++ b/ecs/jskult-webapp/src/db/database.py @@ -1,4 +1,4 @@ -from sqlalchemy import (Connection, CursorResult, Engine, QueuePool, +from sqlalchemy import (Connection, CursorResult, Engine, NullPool, create_engine, event, exc, text) from sqlalchemy.engine.url import URL from sqlalchemy.pool import Pool @@ -63,8 +63,7 @@ class Database: self.__engine = create_engine( self.__connection_string, - pool_timeout=5, - poolclass=QueuePool + poolclass=NullPool ) @classmethod @@ -181,7 +180,7 @@ class Database: self.__connection = None def to_jst(self): - self.execute('SET time_zone = "+9:00"') + self.execute('SET time_zone = "+9:00"') def __execute_with_transaction(self, query: str, parameters: dict): # トランザクションを開始してクエリを実行する From aa5bab9f272cd53bd3404e4c35d2e0ce7014cdb1 Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 21 Aug 2023 18:15:49 +0900 Subject: [PATCH 5/9] =?UTF-8?q?fix:=20DB=E5=A4=9A=E9=87=8D=E6=8E=A5?= =?UTF-8?q?=E7=B6=9A=E6=99=82=E3=81=AB=E8=A4=87=E6=95=B0=E3=82=B9=E3=83=AC?= =?UTF-8?q?=E3=83=83=E3=83=89=E3=81=8C=E5=87=BA=E6=9D=A5=E4=B8=8A=E3=81=8C?= =?UTF-8?q?=E3=81=A3=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=81=AE=E5=AF=BE=E5=87=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/core/__init__.py | 0 ecs/jskult-webapp/src/core/tasks.py | 21 ------------------- ecs/jskult-webapp/src/db/tasks.py | 14 ------------- ecs/jskult-webapp/src/depends/database.py | 11 +--------- ecs/jskult-webapp/src/main.py | 5 ----- .../src/router/session_router.py | 17 +++++++++++++-- 6 files changed, 16 insertions(+), 52 deletions(-) delete mode 100644 ecs/jskult-webapp/src/core/__init__.py delete mode 100644 ecs/jskult-webapp/src/core/tasks.py delete mode 100644 ecs/jskult-webapp/src/db/tasks.py diff --git a/ecs/jskult-webapp/src/core/__init__.py b/ecs/jskult-webapp/src/core/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/ecs/jskult-webapp/src/core/tasks.py b/ecs/jskult-webapp/src/core/tasks.py deleted file mode 100644 index 93f4c8f5..00000000 --- a/ecs/jskult-webapp/src/core/tasks.py +++ /dev/null @@ -1,21 +0,0 @@ -"""FastAPIサーバーの起動・終了イベントのラッパー""" - -from typing import Callable - -from fastapi import FastAPI - -from src.db.tasks import close_db, init_db - - -def create_start_app_handler(app: FastAPI) -> Callable: - def start_app() -> None: - init_db(app) - - return start_app - - -def create_stop_app_handler(app: FastAPI) -> Callable: - def stop_app() -> None: - close_db(app) - - return stop_app diff --git a/ecs/jskult-webapp/src/db/tasks.py b/ecs/jskult-webapp/src/db/tasks.py deleted file mode 100644 index da1a6fdc..00000000 --- a/ecs/jskult-webapp/src/db/tasks.py +++ /dev/null @@ -1,14 +0,0 @@ -from fastapi import FastAPI - -from src.db.database import Database - - -def init_db(app: FastAPI) -> None: - # DB接続モジュールを初期化 - database = Database.get_instance() - # FastAPI App内で使える変数として追加 - app.state._db = database - - -def close_db(app: FastAPI) -> None: - app.state._db = None diff --git a/ecs/jskult-webapp/src/depends/database.py b/ecs/jskult-webapp/src/depends/database.py index c5b28042..65a8a967 100644 --- a/ecs/jskult-webapp/src/depends/database.py +++ b/ecs/jskult-webapp/src/depends/database.py @@ -1,17 +1,8 @@ -from typing import Callable, Type - -from fastapi import Depends from starlette.requests import Request from src.db.database import Database -from src.repositories.base_repository import BaseRepository def get_database(request: Request) -> Database: + # medaca_routerでDB接続エンジンが初期化される return request.app.state._db - - -def get_repository(Repo_type: Type[BaseRepository]) -> Callable: - def get_repo(db: Database = Depends(get_database)) -> Type[BaseRepository]: - return Repo_type(db) - return get_repo diff --git a/ecs/jskult-webapp/src/main.py b/ecs/jskult-webapp/src/main.py index c63fcb58..6ed9e6da 100644 --- a/ecs/jskult-webapp/src/main.py +++ b/ecs/jskult-webapp/src/main.py @@ -7,7 +7,6 @@ from starlette import status import src.static as static from src.controller import (bio, bio_download, healthcheck, login, logout, master_mainte, menu, root, ultmarc) -from src.core import tasks from src.error.exception_handler import http_exception_handler from src.error.exceptions import UnexpectedException @@ -41,7 +40,3 @@ app.add_exception_handler(status.HTTP_403_FORBIDDEN, http_exception_handler) # サーバーエラーが発生した場合のハンドラー。HTTPExceptionではハンドリングできないため、個別に設定 app.add_exception_handler(UnexpectedException, http_exception_handler) - -# サーバー起動・終了イベントを登録 -app.add_event_handler('startup', tasks.create_start_app_handler(app)) -app.add_event_handler('shutdown', tasks.create_stop_app_handler(app)) diff --git a/ecs/jskult-webapp/src/router/session_router.py b/ecs/jskult-webapp/src/router/session_router.py index 324c777f..a5ae4b64 100644 --- a/ecs/jskult-webapp/src/router/session_router.py +++ b/ecs/jskult-webapp/src/router/session_router.py @@ -5,6 +5,7 @@ from fastapi.exceptions import HTTPException from fastapi.routing import APIRoute from starlette import status +from src.db.database import Database from src.depends.auth import (check_session_expired, get_current_session, verify_session) from src.error.exceptions import DBException, UnexpectedException @@ -75,6 +76,18 @@ class MeDaCaRoute(APIRoute): return response +class PrepareDatabaseRoute(MeDaCaRoute): + """事前処理として、データベースのエンジンを作成するルートハンドラー + Args: + MeDaCaRoute (MeDaCaRoute): 共通ルートハンドラー + """ + async def pre_process_route(self, request: Request): + request = await super().pre_process_route(request) + # DBエンジンを構築して状態にセット + request.app.state._db = Database.get_instance() + return request + + class BeforeCheckSessionRoute(MeDaCaRoute): """事前処理として、セッションチェックを行うルートハンドラー @@ -97,11 +110,11 @@ class BeforeCheckSessionRoute(MeDaCaRoute): return session_request -class AfterSetCookieSessionRoute(MeDaCaRoute): +class AfterSetCookieSessionRoute(PrepareDatabaseRoute): """事後処理として、セッションキーをcookieに設定するカスタムルートハンドラー Args: - MeDaCaRoute (MeDaCaRoute): 共通ルートハンドラー + PrepareDatabaseRoute (PrepareDatabaseRoute): DBチェックハンドラー """ async def post_process_route(self, request: Request, response: Response): response = await super().post_process_route(request, response) From 8c8b5474f7b0da8d3b1377dd29eb2de1960873dd Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Mon, 21 Aug 2023 18:16:13 +0900 Subject: [PATCH 6/9] =?UTF-8?q?fix:=20=E7=94=9F=E7=89=A9=E7=94=B1=E6=9D=A5?= =?UTF-8?q?=E7=85=A7=E4=BC=9A=E7=94=BB=E9=9D=A2=E3=81=AE=E6=A4=9C=E7=B4=A2?= =?UTF-8?q?=E6=99=82=E3=81=AE=E3=83=AD=E3=83=BC=E3=83=87=E3=82=A3=E3=83=B3?= =?UTF-8?q?=E3=82=B0=E5=AF=BE=E5=BF=9C=E6=BC=8F=E3=82=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/templates/bioSearchList.html | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/ecs/jskult-webapp/src/templates/bioSearchList.html b/ecs/jskult-webapp/src/templates/bioSearchList.html index 08302af9..5dd724f6 100644 --- a/ecs/jskult-webapp/src/templates/bioSearchList.html +++ b/ecs/jskult-webapp/src/templates/bioSearchList.html @@ -28,7 +28,7 @@ -