lavkach3

Форк
0
/
current_user.py 
34 строки · 935.0 Байт
1
import uuid
2

3
from pydantic import BaseModel, UUID4, computed_field
4
from typing import Optional, List
5
from sqlalchemy import select
6
from core.db.session import session
7

8
#from app.basic.user.models import User
9
from core.types import TypeLocale
10

11

12
class CurrentUser(BaseModel):
13
    user_id: Optional[UUID4] = None
14
    company_ids: Optional[List[UUID4]] = []
15
    company_id: Optional[UUID4] = False
16
    store_id: Optional[UUID4] = False
17
    role_ids: Optional[List[str]] = []
18
    is_admin: Optional[bool] = False
19
    locale: Optional[TypeLocale] = False
20
    nickname: Optional[str] = None
21
    email: Optional[str] = None
22

23
    class Config:
24
        validate_assignment = True
25

26
    @computed_field
27
    @property
28
    def id(self) -> str:
29
        return self.user_id
30

31
    async def get_user_data(self):
32
        query = select(User).where(User.id == self.id)
33
        result = await session.execute(query)
34
        return result.scalars().first()
35

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.