11from fastapi import APIRouter
22from sqlmodel import select
33from apps .system .models .system_model import WorkspaceBase , WorkspaceEditor , WorkspaceModel
4- from common .core .deps import SessionDep
4+ from common .core .deps import SessionDep , Trans
55from common .utils .time import get_timestamp
66
77router = APIRouter (tags = ["system/workspace" ], prefix = "/system/workspace" )
88
99@router .get ("" , response_model = list [WorkspaceModel ])
10- async def query (session : SessionDep ):
11- return session .exec (select (WorkspaceModel ).order_by (WorkspaceModel .create_time )).all ()
10+ async def query (session : SessionDep , trans : Trans ):
11+ list_result = session .exec (select (WorkspaceModel ).order_by (WorkspaceModel .create_time )).all ()
12+ for ws in list_result :
13+ if ws .name .startswith ('i18n' ):
14+ ws .name = trans (ws .name )
15+ return list_result
1216
1317@router .post ("" )
1418async def add (session : SessionDep , creator : WorkspaceBase ):
@@ -29,10 +33,12 @@ async def update(session: SessionDep, editor: WorkspaceEditor):
2933 session .commit ()
3034
3135@router .get ("/{id}" , response_model = WorkspaceModel )
32- async def get_one (session : SessionDep , id : int ):
36+ async def get_one (session : SessionDep , trans : Trans , id : int ):
3337 db_model = session .get (WorkspaceModel , id )
3438 if not db_model :
3539 raise ValueError (f"WorkspaceModel with id { id } not found" )
40+ if db_model .name .startswith ('i18n' ):
41+ db_model .name = trans (db_model .name )
3642 return db_model
3743
3844@router .delete ("/{id}" )
@@ -41,4 +47,8 @@ async def delete(session: SessionDep, id: int):
4147 if not db_model :
4248 raise ValueError (f"WorkspaceModel with id { id } not found" )
4349 session .delete (db_model )
44- session .commit ()
50+ session .commit ()
51+
52+ @router .post ("/user/{id}" )
53+ async def bindUser (session : SessionDep , user_id : int ):
54+ pass
0 commit comments