1- from typing import List
2-
3- from sqlalchemy .ext .asyncio import AsyncSession
4- from sqlalchemy .future import select
5-
6- from ..models .command_task import CommandTask
7- from ..schemas .command_task import CommandTaskCreate , CommandTaskUpdate
8-
9-
10- class CRUDCommandTask :
11- async def create (self , db : AsyncSession , obj_in : CommandTaskCreate , agent_id : str , task_id : str ) -> CommandTask :
12- db_obj = CommandTask (task_id = task_id , agent_id = agent_id , ** obj_in .model_dump ())
13- db .add (db_obj )
14- await db .commit ()
15- await db .refresh (db_obj )
16- return db_obj
17-
18- async def get (self , db : AsyncSession , task_id : str ) -> CommandTask | None :
19- result = await db .execute (select (CommandTask ).where (CommandTask .task_id == task_id ))
20- return result .scalars ().first ()
21-
22- async def get_by_agent (self , db : AsyncSession , agent_id : str ) -> List [CommandTask ]:
23- result = await db .execute (select (CommandTask ).where (CommandTask .agent_id == agent_id ))
24- return list (result .scalars ().all ())
25-
26- async def update (self , db : AsyncSession , db_obj : CommandTask , obj_in : CommandTaskUpdate ) -> CommandTask :
27- update_data = obj_in .model_dump (exclude_unset = True )
28- for field , value in update_data .items ():
29- setattr (db_obj , field , value )
30- await db .commit ()
31- await db .refresh (db_obj )
32- return db_obj
33-
34- async def remove (self , db : AsyncSession , task_id : str ) -> CommandTask | None :
35- result = await db .execute (select (CommandTask ).where (CommandTask .task_id == task_id ))
36- db_obj = result .scalars ().first ()
37- if db_obj :
38- await db .delete (db_obj )
39- await db .commit ()
40- return db_obj
41-
42-
43- crud_command_task = CRUDCommandTask ()
1+ from sqlalchemy .ext .asyncio import AsyncSession
2+ from sqlalchemy .future import select
3+
4+ from ..models .command_task import CommandTask
5+ from ..schemas .command_task import CommandTaskCreate , CommandTaskUpdate
6+
7+
8+ class CRUDCommandTask :
9+ async def create (self , db : AsyncSession , obj_in : CommandTaskCreate , agent_id : str , task_id : str ) -> CommandTask :
10+ db_obj = CommandTask (task_id = task_id , agent_id = agent_id , ** obj_in .model_dump ())
11+ db .add (db_obj )
12+ await db .commit ()
13+ await db .refresh (db_obj )
14+ return db_obj
15+
16+ async def get (self , db : AsyncSession , task_id : str ) -> CommandTask | None :
17+ result = await db .execute (select (CommandTask ).where (CommandTask .task_id == task_id ))
18+ return result .scalars ().first ()
19+
20+ async def get_by_agent (self , db : AsyncSession , agent_id : str ) -> list [CommandTask ]:
21+ result = await db .execute (select (CommandTask ).where (CommandTask .agent_id == agent_id ))
22+ return list (result .scalars ().all ())
23+
24+ async def update (self , db : AsyncSession , db_obj : CommandTask , obj_in : CommandTaskUpdate ) -> CommandTask :
25+ update_data = obj_in .model_dump (exclude_unset = True )
26+ for field , value in update_data .items ():
27+ setattr (db_obj , field , value )
28+ await db .commit ()
29+ await db .refresh (db_obj )
30+ return db_obj
31+
32+ async def remove (self , db : AsyncSession , task_id : str ) -> CommandTask | None :
33+ result = await db .execute (select (CommandTask ).where (CommandTask .task_id == task_id ))
34+ db_obj = result .scalars ().first ()
35+ if db_obj :
36+ await db .delete (db_obj )
37+ await db .commit ()
38+ return db_obj
39+
40+
41+ crud_command_task = CRUDCommandTask ()
0 commit comments