1111
1212from commons .data_access_layer .cosmos_db import CosmosDBDao
1313from commons .data_access_layer .database import EventContext
14- from time_tracker_api .security import current_user_id , current_user_tenant_id
14+ from time_tracker_api .security import current_user_id , current_user_tenant_id , current_role_user , roles
1515
1616
1717class CRUDDao (abc .ABC ):
@@ -37,10 +37,11 @@ def delete(self, id):
3737
3838
3939class ApiEventContext (EventContext ):
40- def __init__ (self , container_id : str , action : str , description : str = None ,
41- user_id : str = None , tenant_id : str = None , session_id : str = None ):
40+ def __init__ (self , container_id : str , action : str , description : str = None , user_id : str = None ,
41+ tenant_id : str = None , session_id : str = None , user_role : str = None ):
4242 super (ApiEventContext , self ).__init__ (container_id , action , description )
4343 self ._user_id = user_id
44+ self ._user_role = user_role
4445 self ._tenant_id = tenant_id
4546 self ._session_id = session_id
4647
@@ -50,6 +51,10 @@ def user_id(self) -> str:
5051 self ._user_id = current_user_id ()
5152 return self ._user_id
5253
54+ @property
55+ def user_role (self ) -> str :
56+ return self ._user_role if self ._user_role else current_role_user ()
57+
5358 @property
5459 def tenant_id (self ) -> str :
5560 if self ._tenant_id is None :
@@ -60,6 +65,10 @@ def tenant_id(self) -> str:
6065 def session_id (self ) -> str :
6166 return self ._session_id
6267
68+ @property
69+ def is_admin (self ):
70+ return True if self .user_role == roles .get ("admin" ).get ("name" ) else False
71+
6372
6473class APICosmosDBDao (CosmosDBDao ):
6574 def create_event_context (self , action : str = None , description : str = None ):
0 commit comments