-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathmodels.py
46 lines (33 loc) · 793 Bytes
/
models.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
from datetime import datetime
from enum import Enum
from pydantic import BaseModel, HttpUrl
class Actions(str, Enum):
published = 'published'
unpublished = 'unpublished'
created = 'created'
edited = 'edited'
deleted = 'deleted'
released = 'released'
prereleased = 'prereleased'
class Repository(BaseModel):
name: str
class Author(BaseModel):
login: str
avatar_url: HttpUrl
class Release(BaseModel):
name: str
draft: bool = False
tag_name: str
html_url: HttpUrl
author: Author
created_at: datetime
published_at: datetime = None
body: str
class Body(BaseModel):
action: str
release: Release
repository: Repository
class Message(BaseModel):
text: str
chat_id: str
parse_mode: str = None