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: