Skip to content

Commit 9ac1ab5

Browse files
committed
feat: create DTO models for events api
1 parent d517c24 commit 9ac1ab5

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

src/event/models.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
from pydantic import BaseModel, ConfigDict
2+
import datetime
3+
4+
class Event(BaseModel):
5+
model_config = ConfigDict(from_attributes=True)
6+
eid: int
7+
name: str
8+
start_time: datetime.datetime()
9+
end_time: datetime.datetime()
10+
description: str | None = None
11+
repeat: str | None = None
12+
start_date: datetime.date() | None = None
13+
end_date: datetime.date() | None = None
14+
15+
class EventPublic(BaseModel):
16+
model_config = ConfigDict(from_attributes=True)
17+
name: str
18+
start_time: datetime.datetime()
19+
end_time: datetime.datetime()
20+
description: str | None = None
21+
repeat: str | None = None
22+
start_date: datetime.date() | None = None
23+
end_date: datetime.date() | None = None
24+
25+
class EventCreate(BaseModel):
26+
name: str
27+
start_time: datetime.datetime()
28+
end_time: datetime.datetime()
29+
description: str | None = None
30+
repeat: str | None = None
31+
start_date: datetime.date() | None = None
32+
end_date: datetime.date() | None = None
33+
34+
class EventUpdate(BaseModel):
35+
name: str | None = None
36+
start_time: datetime.datetime() | None = None
37+
end_time: datetime.datetime() | None = None
38+
description: str | None = None
39+
repeat: str | None = None
40+
start_date: datetime.date() | None = None
41+
end_date: datetime.date() | None = None

0 commit comments

Comments
 (0)