feat(rbac): add roles and permissions
This commit is contained in:
parent
86a32a942c
commit
694b7bd09a
37 changed files with 2682 additions and 218 deletions
|
|
@ -1,9 +1,9 @@
|
|||
from datetime import datetime
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, EmailStr, Field, field_validator
|
||||
|
||||
UserRole = Literal["admin", "manager", "user"]
|
||||
from app.schemas.rbac import RoleResponse
|
||||
|
||||
UserRole = str
|
||||
|
||||
|
||||
class UserBase(BaseModel):
|
||||
|
|
@ -11,7 +11,8 @@ class UserBase(BaseModel):
|
|||
last_name: str = Field(default="", max_length=100)
|
||||
username: str = Field(min_length=3, max_length=50)
|
||||
email: EmailStr
|
||||
role: UserRole = "user"
|
||||
role: UserRole = "support"
|
||||
role_id: int | None = None
|
||||
is_active: bool = True
|
||||
|
||||
@field_validator("first_name", "last_name", "username", mode="before")
|
||||
|
|
@ -65,6 +66,8 @@ class UserResponse(BaseModel):
|
|||
username: str
|
||||
email: EmailStr
|
||||
role: UserRole
|
||||
role_id: int
|
||||
primary_role: RoleResponse
|
||||
is_active: bool
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue