2
2
from typing import List
3
3
from pydantic import BaseModel , EmailStr , constr
4
4
from bson .objectid import ObjectId
5
+ from .config import settings
5
6
6
7
7
8
class UserBaseSchema (BaseModel ):
8
9
name : str
9
10
email : str
10
11
photo : str
11
- role : str | None = None
12
- created_at : datetime | None = None
13
- updated_at : datetime | None = None
12
+ role : str = None
13
+ created_at : datetime = None
14
+ updated_at : datetime = None
14
15
15
16
class Config :
16
17
orm_mode = True
17
18
18
19
19
20
class CreateUserSchema (UserBaseSchema ):
20
- password : constr (min_length = 8 )
21
+ password : constr (min_length = settings . PASSWORD_MIN_LEN )
21
22
passwordConfirm : str
22
23
verified : bool = False
23
24
24
25
25
26
class LoginUserSchema (BaseModel ):
26
27
email : EmailStr
27
- password : constr (min_length = 8 )
28
+ password : constr (min_length = settings . PASSWORD_MIN_LEN )
28
29
29
30
30
31
class UserResponseSchema (UserBaseSchema ):
@@ -46,8 +47,8 @@ class PostBaseSchema(BaseModel):
46
47
content : str
47
48
category : str
48
49
image : str
49
- created_at : datetime | None = None
50
- updated_at : datetime | None = None
50
+ created_at : datetime = None
51
+ updated_at : datetime = None
51
52
52
53
class Config :
53
54
orm_mode = True
@@ -57,7 +58,7 @@ class Config:
57
58
58
59
59
60
class CreatePostSchema (PostBaseSchema ):
60
- user : ObjectId | None = None
61
+ user : ObjectId = None
61
62
pass
62
63
63
64
@@ -69,11 +70,11 @@ class PostResponse(PostBaseSchema):
69
70
70
71
71
72
class UpdatePostSchema (BaseModel ):
72
- title : str | None = None
73
- content : str | None = None
74
- category : str | None = None
75
- image : str | None = None
76
- user : str | None = None
73
+ title : str = None
74
+ content : str = None
75
+ category : str = None
76
+ image : str = None
77
+ user : str = None
77
78
78
79
class Config :
79
80
orm_mode = True
0 commit comments