thực hiện phân quyền admin giáo viên và học sinh xong

This commit is contained in:
2026-04-01 19:26:47 +07:00
parent 8546d41a26
commit 386871bd4a
14 changed files with 796 additions and 37 deletions
+13
View File
@@ -2,6 +2,8 @@ from datetime import datetime
from pydantic import BaseModel, EmailStr, field_validator
import re
from .models import UserRole, UserStatus
# ── Auth ─────────────────────────────────────────────────────────────────────
@@ -9,6 +11,7 @@ class UserRegister(BaseModel):
username: str
email: EmailStr
password: str
role: UserRole = UserRole.student
@field_validator("username")
@classmethod
@@ -37,11 +40,21 @@ class UserOut(BaseModel):
id: int
username: str
email: str
role: UserRole
status: UserStatus
created_at: datetime
model_config = {"from_attributes": True}
class UserApprove(BaseModel):
status: UserStatus
class UserRoleUpdate(BaseModel):
role: UserRole
class TokenPayload(BaseModel):
sub: int # user id
exp: int