RBAC in the API
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user