RBAC in the API

This commit is contained in:
James Pattinson
2025-10-23 20:02:54 +00:00
parent 91b734426c
commit fb21329109
7 changed files with 131 additions and 21 deletions

View File

@@ -13,6 +13,12 @@ class PPRStatus(str, Enum):
DEPARTED = "DEPARTED"
class UserRole(str, Enum):
ADMINISTRATOR = "administrator"
OPERATOR = "operator"
READ_ONLY = "read_only"
class PPRBase(BaseModel):
ac_reg: str
ac_type: str
@@ -97,12 +103,19 @@ class PPRInDB(PPRInDBBase):
# User schemas
class UserBase(BaseModel):
username: str
role: UserRole = UserRole.READ_ONLY
class UserCreate(UserBase):
password: str
class UserUpdate(BaseModel):
username: Optional[str] = None
password: Optional[str] = None
role: Optional[UserRole] = None
class UserInDBBase(UserBase):
id: int