44from app .models .chat import Storage
55from sqlalchemy .ext .asyncio import AsyncSession
66from sqlalchemy import select , delete
7+ from sqlalchemy .orm import selectinload
78
89
910async def create_storage (
@@ -19,16 +20,22 @@ async def create_storage(
1920 await db .commit ()
2021 await db .refresh (db_storage )
2122
22- return db_storage
23+ return StorageResponse (
24+ id = db_storage .id ,
25+ title = db_storage .title ,
26+ created_at = db_storage .created_at ,
27+ updated_at = db_storage .updated_at ,
28+ category = None ,
29+ )
2330
2431
2532async def read_storages (
2633 db : AsyncSession , user_id : UUID , category_id : UUID
2734) -> List [StorageResponse ]:
2835 result = await db .execute (
29- select (Storage ). where (
30- Storage . user_id == user_id , Storage .category_id == category_id
31- )
36+ select (Storage )
37+ . options ( selectinload ( Storage .category ))
38+ . where ( Storage . user_id == user_id , Storage . category_id == category_id )
3239 )
3340 return result .scalars ().all ()
3441
@@ -37,7 +44,9 @@ async def read_storage_by_id(
3744 db : AsyncSession , user_id : UUID , category_id : UUID , storage_id : UUID
3845) -> Optional [StorageResponse ]:
3946 result = await db .execute (
40- select (Storage ).where (
47+ select (Storage )
48+ .options (selectinload (Storage .category ))
49+ .where (
4150 Storage .user_id == user_id ,
4251 Storage .category_id == category_id ,
4352 Storage .id == storage_id ,
0 commit comments