Added Roles and Permissions. Some minor UI fixes
This commit is contained in:
37
backend/staff/models.py
Normal file
37
backend/staff/models.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from auth.models import StaffPermissions
|
||||
|
||||
|
||||
class StaffCreate(BaseModel):
|
||||
email: str
|
||||
password: str
|
||||
name: str
|
||||
role: str # sysadmin, admin, editor, user
|
||||
permissions: Optional[StaffPermissions] = None
|
||||
|
||||
|
||||
class StaffUpdate(BaseModel):
|
||||
email: Optional[str] = None
|
||||
name: Optional[str] = None
|
||||
role: Optional[str] = None
|
||||
is_active: Optional[bool] = None
|
||||
permissions: Optional[StaffPermissions] = None
|
||||
|
||||
|
||||
class StaffPasswordUpdate(BaseModel):
|
||||
new_password: str
|
||||
|
||||
|
||||
class StaffResponse(BaseModel):
|
||||
id: str
|
||||
email: str
|
||||
name: str
|
||||
role: str
|
||||
is_active: bool
|
||||
permissions: Optional[dict] = None
|
||||
|
||||
|
||||
class StaffListResponse(BaseModel):
|
||||
staff: list[StaffResponse]
|
||||
total: int
|
||||
Reference in New Issue
Block a user