-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodels.py
More file actions
80 lines (52 loc) · 1.72 KB
/
Copy pathmodels.py
File metadata and controls
80 lines (52 loc) · 1.72 KB
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
# 모든 데이터를 객체화시켜서 이용할 수 있도록 정의
from datetime import datetime
from enum import Enum
from pydantic import Field
from pydantic.main import BaseModel
from pydantic.networks import EmailStr, IPvAnyAddress
class UserRegister(BaseModel):
# EamilStr사용을 위한 필수설치 -> pip install 'pydantic[email]'
# 아래의 형태로 값이 들어오면 json형태로 변환해준다
email: EmailStr = None
pw: str = None
class SnsType(str, Enum):
# income model
# Enum : 아래중 하나만 들어올 수 있음 email: str = "email" # 인터프린터 언어는 절대 빨라지는건 아니고, 보기좋은 용도
email: str = "email"
facebook: str = "facebook"
google: str = "google"
kakao: str = "kakao"
class Token(BaseModel):
# Response model : 나가는 json 모델, 이런 객체를 json으로 변환해 내보내겠다
Authorization: str = None
class MessageOk(BaseModel):
message: str = Field(default="OK")
class UserToken(BaseModel):
id: int
pw: str = None
email: str = None
name: str = None
sns_type: str = None
class Config:
orm_mode = True
class UserMe(BaseModel):
id: int
sns_type: str = None
class Config:
orm_mode = True
class AddApiKey(BaseModel):
user_memo: str = None
class Config:
orm_mode = True
class GetApiKeyList(AddApiKey): # AddApiKey 클래스 상속
id: int = None
access_key: str = None
created_at: datetime = None
class GetApiKeys(GetApiKeyList):
secret_key: str = None
class CreateAPIWhiteLists(BaseModel):
ip_addr: str = None
class GetAPIWhiteLists(CreateAPIWhiteLists):
id: int
class Config:
orm_mode = True