From 14c8ecc5639f21cd4c5a4c818a8046a37537faab Mon Sep 17 00:00:00 2001 From: ChoiseU Date: Tue, 19 Aug 2025 22:30:29 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=EB=94=94=EB=B9=84=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1,=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8,=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C=20=EC=8B=9C=20id=20=EA=B0=92=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=EB=A1=9C=20=EB=B0=98=ED=99=98=ED=95=98=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/user_db_api.py | 18 +++++++++--------- app/repository/user_db_repository.py | 16 +++++++++++++--- app/schemas/user_db/result_model.py | 4 +++- app/services/user_db_service.py | 15 +++------------ 4 files changed, 28 insertions(+), 25 deletions(-) diff --git a/app/api/user_db_api.py b/app/api/user_db_api.py index f354ab1..a27bdea 100644 --- a/app/api/user_db_api.py +++ b/app/api/user_db_api.py @@ -34,52 +34,52 @@ def connection_test( @router.post( "/create/profile", - response_model=ResponseMessage[str], + response_model=ResponseMessage[dict], summary="DB 프로필 저장", ) def create_profile( create_db_info: UpdateOrCreateDBProfile, service: UserDbService = user_db_service_dependency, -) -> ResponseMessage[str]: +) -> ResponseMessage[dict]: create_db_info.validate_required_fields() result = service.create_profile(create_db_info) if not result.is_successful: raise APIException(result.code) - return ResponseMessage.success(value=result.view_name, code=result.code) + return ResponseMessage.success(value=result.data, code=result.code) @router.put( "/modify/profile", - response_model=ResponseMessage[str], + response_model=ResponseMessage[dict], summary="DB 프로필 업데이트", ) def update_profile( update_db_info: UpdateOrCreateDBProfile, service: UserDbService = user_db_service_dependency, -) -> ResponseMessage[str]: +) -> ResponseMessage[dict]: update_db_info.validate_required_fields() result = service.update_profile(update_db_info) if not result.is_successful: raise APIException(result.code) - return ResponseMessage.success(value=result.view_name, code=result.code) + return ResponseMessage.success(value=result.data, code=result.code) @router.delete( "/remove/{profile_id}", - response_model=ResponseMessage[str], + response_model=ResponseMessage[dict], summary="DB 프로필 삭제", ) def delete_profile( profile_id: str, service: UserDbService = user_db_service_dependency, -) -> ResponseMessage[str]: +) -> ResponseMessage[dict]: result = service.delete_profile(profile_id) if not result.is_successful: raise APIException(result.code) - return ResponseMessage.success(value=result.view_name, code=result.code) + return ResponseMessage.success(value=result.data, code=result.code) @router.get( diff --git a/app/repository/user_db_repository.py b/app/repository/user_db_repository.py index c162cba..3b3157f 100644 --- a/app/repository/user_db_repository.py +++ b/app/repository/user_db_repository.py @@ -52,8 +52,12 @@ def create_profile(self, sql: str, data: tuple, create_db_info: UpdateOrCreateDB cursor = connection.cursor() cursor.execute(sql, data) connection.commit() + name = create_db_info.view_name if create_db_info.view_name else create_db_info.type - return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_SAVE_PROFILE, view_name=name) + id = create_db_info.id + data = {"view_name": name, "id": id} + + return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_SAVE_PROFILE, data=data) except sqlite3.Error: return ChangeProfileResult(is_successful=False, code=CommonCode.FAIL_SAVE_PROFILE) except Exception: @@ -73,8 +77,12 @@ def update_profile(self, sql: str, data: tuple, update_db_info: UpdateOrCreateDB cursor = connection.cursor() cursor.execute(sql, data) connection.commit() + name = update_db_info.view_name if update_db_info.view_name else update_db_info.type - return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_UPDATE_PROFILE, view_name=name) + id = update_db_info.id + data = {"view_name": name, "id": id} + + return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_UPDATE_PROFILE, data=data) except sqlite3.Error: return ChangeProfileResult(is_successful=False, code=CommonCode.FAIL_UPDATE_PROFILE) except Exception: @@ -99,7 +107,9 @@ def delete_profile( cursor = connection.cursor() cursor.execute(sql, data) connection.commit() - return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_DELETE_PROFILE, view_name=profile_id) + + data = {"id": profile_id} + return ChangeProfileResult(is_successful=True, code=CommonCode.SUCCESS_DELETE_PROFILE, data=data) except sqlite3.Error: return ChangeProfileResult(is_successful=False, code=CommonCode.FAIL_DELETE_PROFILE) except Exception: diff --git a/app/schemas/user_db/result_model.py b/app/schemas/user_db/result_model.py index a223ef8..304637d 100644 --- a/app/schemas/user_db/result_model.py +++ b/app/schemas/user_db/result_model.py @@ -18,7 +18,9 @@ class BasicResult(BaseModel): class ChangeProfileResult(BasicResult): """DB 조회 결과를 위한 확장 모델""" - view_name: str = Field(..., description="저장된 디비명") + data: dict = Field(..., description="반환 값") + # view_name: str = Field(..., description="저장된 디비명") + # id: str | None = Field(None, description="저장된 디비 id") # DB Profile 조회되는 정보를 담는 모델입니다. diff --git a/app/services/user_db_service.py b/app/services/user_db_service.py index 4aabb73..b798c65 100644 --- a/app/services/user_db_service.py +++ b/app/services/user_db_service.py @@ -55,10 +55,7 @@ def create_profile( create_db_info.id = generate_prefixed_uuid(DBSaveIdEnum.user_db.value) try: sql, data = self._get_create_query_and_data(create_db_info) - result = repository.create_profile(sql, data, create_db_info) - if not result.is_successful: - raise APIException(result.code) - return result + return repository.create_profile(sql, data, create_db_info) except APIException: raise except Exception as e: @@ -72,10 +69,7 @@ def update_profile( """ try: sql, data = self._get_update_query_and_data(update_db_info) - result = repository.update_profile(sql, data, update_db_info) - if not result.is_successful: - raise APIException(result.code) - return result + return repository.update_profile(sql, data, update_db_info) except APIException: raise except Exception as e: @@ -87,10 +81,7 @@ def delete_profile(self, profile_id: str, repository: UserDbRepository = user_db """ try: sql, data = self._get_delete_query_and_data(profile_id) - result = repository.delete_profile(sql, data, profile_id) - if not result.is_successful: - raise APIException(result.code) - return result + return repository.delete_profile(sql, data, profile_id) except APIException: raise except Exception as e: