-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathschemas.py
126 lines (79 loc) · 1.89 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
from datetime import datetime
from pydantic import BaseModel
from typing import List
class UserBase(BaseModel):
email: str
class UserCreate(UserBase):
password: str
name: str
phone_number: str
class UserLogin(UserBase):
password: str
class User(UserBase):
user_id: int
name: str
phone_number: str
is_teacher: bool
class Config:
from_attributes = True
# Ticket
class TicketBase(BaseModel):
user_id: int
is_anonymous: bool
class TicketCreate(TicketBase):
report_content: str
lat: float
long: float
class Ticket(TicketBase):
ticket_id: int
teacher_id: int
is_open: bool
class Config:
from_attributes = True
# TicketChatMessage
class TickerChatMessageBase(BaseModel):
message_text: str
user_id: int
class TicketChatMessageCreate(TickerChatMessageBase):
ticket_id: int
class TicketChatMessage(TickerChatMessageBase):
message_id: int
created_at: datetime
class Config:
from_attributes = True
class CommunityChatMessageBase(BaseModel):
message_text: str
user_id: int
class CommunityChatMessageCreate(CommunityChatMessageBase):
pass
class CommunityChatMessage(CommunityChatMessageBase):
message_id: int
created_at: datetime
class Config:
from_attributes = True
class SOSRequest(BaseModel):
user_id: int
lat: float
long: float
class ChatbotRequest(BaseModel):
message: str
class ChatbotResponse(BaseModel):
response: str
class Center(BaseModel):
latitude: float
longitude: float
class Area(BaseModel):
center: Center
radius: int
class Markers(BaseModel):
markers: List[Area]
class UserSchema(BaseModel):
user_id: str
name: str
class ChatMessageSchema(BaseModel):
user: UserSchema
message_text: str
message_id: str
created_at: str
class Config:
from_attributes = True