-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschemas.py
67 lines (42 loc) · 1.08 KB
/
schemas.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from datetime import datetime
from typing import List, Optional
from uuid import UUID
from pydantic import BaseModel
"""
Schemas classes use pydantic's BaseModel class to validate the structure of the data sent to and from the API.
"""
class QRCodeData(BaseModel):
user_id: str
department_id: str
role: str
class UserBase(BaseModel):
name: str
class UserCreate(UserBase):
pass
class User(UserBase):
id: UUID
created_at: datetime
updated_at: datetime
class ConfigDict:
from_attrinutes = True
class DepartmentBase(BaseModel):
name: str
class DepartmentCreate(DepartmentBase):
pass
class Department(DepartmentBase):
id: UUID
created_at: datetime
updated_at: datetime
class ConfigDict:
from_attrinutes = True
class DepartmentRoleBase(BaseModel):
role: str
class DepartmentRoleCreate(DepartmentRoleBase):
pass
class DepartmentRole(DepartmentRoleBase):
user_id: UUID
department_id: UUID
created_at: datetime
updated_at: datetime
class ConfigDict:
from_attrinutes = True