Source code for arbor_imago.schemas.user

from pydantic import BaseModel, Field
from typing import Optional
from arbor_imago import custom_types, config
from arbor_imago.schemas import FromAttributes


[docs] class UserImport(BaseModel): phone_number: Optional[custom_types.User.phone_number] = None username: Optional[custom_types.User.username] = None password: Optional[custom_types.User.password] = None
[docs] class UserUpdate(UserImport): email: Optional[custom_types.User.email] = None
[docs] class UserAdminUpdate(UserUpdate): user_role_id: Optional[custom_types.User.user_role_id] = None
[docs] class UserCreate(UserImport): email: custom_types.User.email
[docs] class UserAdminCreate(UserCreate): user_role_id: custom_types.User.user_role_id = config.USER_ROLE_NAME_MAPPING['user']
[docs] class UserExport(FromAttributes): id: custom_types.User.id username: Optional[custom_types.User.username] = None
[docs] class UserPublic(UserExport): pass
[docs] class UserPrivate(UserExport): email: custom_types.User.email user_role_id: custom_types.User.user_role_id