33from app .core .database import database
44from app .models .base import BaseModel
55from app .repositories .base import BaseRepository
6- from app .schemas .base import BaseSchemaRequest , BaseSchemaResponse
6+ from app .schemas .base import BaseRequest , BaseResponse
77
88T = TypeVar ("T" , bound = BaseModel )
99
@@ -13,51 +13,47 @@ def __init__(self, repository: BaseRepository[T]) -> None:
1313 self .repository = repository
1414
1515 @overload
16- def mapper (self , data : BaseSchemaRequest ) -> T : ...
16+ def mapper (self , data : BaseRequest ) -> T : ...
1717
1818 @overload
19- def mapper (self , data : T ) -> BaseSchemaResponse : ...
19+ def mapper (self , data : T ) -> BaseResponse : ...
2020
21- def mapper (self , data : BaseSchemaRequest | T ) -> T | BaseSchemaResponse :
22- if isinstance (data , BaseSchemaRequest ):
21+ def mapper (self , data : BaseRequest | T ) -> T | BaseResponse :
22+ if isinstance (data , BaseRequest ):
2323 return self .repository .model (** data .model_dump ())
24- return BaseSchemaResponse .model_validate (data )
24+ return BaseResponse .model_validate (data )
2525
2626 @database .transactional
27- async def create (self , schema : BaseSchemaRequest ) -> BaseSchemaResponse :
27+ async def create (self , schema : BaseRequest ) -> BaseResponse :
2828 entity = self .mapper (schema )
2929 entity = await self .repository .create (entity = entity )
3030 return self .mapper (entity )
3131
3232 @database .transactional
33- async def get_by_id (self , id : int ) -> BaseSchemaResponse :
33+ async def get_by_id (self , id : int ) -> BaseResponse :
3434 entity = await self .repository .read_by_id (id = id )
3535 return self .mapper (entity )
3636
3737 @database .transactional
38- async def put_by_id (self , id : int , schema : BaseSchemaRequest ) -> BaseSchemaResponse :
38+ async def put_by_id (self , id : int , schema : BaseRequest ) -> BaseResponse :
3939 entity = await self .repository .update_by_id (id = id , data = schema .model_dump ())
4040 return self .mapper (entity )
4141
4242 @database .transactional
43- async def patch_by_id (
44- self , id : int , schema : BaseSchemaRequest
45- ) -> BaseSchemaResponse :
43+ async def patch_by_id (self , id : int , schema : BaseRequest ) -> BaseResponse :
4644 entity = await self .repository .update_by_id (
4745 id = id , data = schema .model_dump (exclude_none = True )
4846 )
4947 return self .mapper (entity )
5048
5149 @database .transactional
52- async def patch_attr_by_id (
53- self , id : int , attr : str , value : Any
54- ) -> BaseSchemaResponse :
50+ async def patch_attr_by_id (self , id : int , attr : str , value : Any ) -> BaseResponse :
5551 entity = await self .repository .update_attr_by_id (
5652 id = id , column = attr , value = value
5753 )
5854 return self .mapper (entity )
5955
6056 @database .transactional
61- async def delete_by_id (self , id : int ) -> BaseSchemaResponse :
57+ async def delete_by_id (self , id : int ) -> BaseResponse :
6258 entity = await self .repository .delete_by_id (id = id )
6359 return self .mapper (entity )
0 commit comments