diff --git a/gsuid_core/utils/database/dal.py b/gsuid_core/utils/database/dal.py index c5c4a45..bf9b4a9 100644 --- a/gsuid_core/utils/database/dal.py +++ b/gsuid_core/utils/database/dal.py @@ -207,6 +207,15 @@ class SQLA: result = await session.execute(sql) return data[0] if (data := result.scalars().all()) else None + async def select_user_data_by_user_id( + self, user_id: str + ) -> Optional[GsUser]: + async with self.async_session() as session: + async with session.begin(): + sql = select(GsUser).where(GsUser.user_id == user_id) + result = await session.execute(sql) + return data[0] if (data := result.scalars().all()) else None + async def select_cache_cookie(self, uid: str) -> Optional[str]: async with self.async_session() as session: async with session.begin(): @@ -456,10 +465,18 @@ class SQLA: data = await self.select_user_data(uid) return data.cookie if data else None + async def get_user_cookie_by_user_id(self, user_id: str) -> Optional[str]: + data = await self.select_user_data_by_user_id(user_id) + return data.cookie if data else None + async def cookie_validate(self, uid: str) -> bool: data = await self.select_user_data(uid) return True if data and data.status is None else False + async def get_user_stoken_by_user_id(self, user_id: str) -> Optional[str]: + data = await self.select_user_data_by_user_id(user_id) + return data.stoken if data and data.stoken else None + async def get_user_stoken(self, uid: str) -> Optional[str]: data = await self.select_user_data(uid) return data.stoken if data and data.stoken else None