mirror of
https://github.com/taylanbakircioglu/haproxy-openmanager.git
synced 2026-09-16 15:45:11 +00:00
49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional, List
|
|
|
|
class User(BaseModel):
|
|
username: str
|
|
email: str
|
|
full_name: Optional[str] = None
|
|
phone: Optional[str] = None
|
|
is_active: bool = True
|
|
is_verified: bool = False
|
|
role_ids: Optional[List[int]] = []
|
|
|
|
class UserCreate(User):
|
|
password: str
|
|
|
|
class UserUpdate(BaseModel):
|
|
email: Optional[str] = None
|
|
full_name: Optional[str] = None
|
|
phone: Optional[str] = None
|
|
is_active: Optional[bool] = None
|
|
is_verified: Optional[bool] = None
|
|
role_ids: Optional[List[int]] = None
|
|
|
|
class UserPasswordUpdate(BaseModel):
|
|
current_password: str
|
|
new_password: str
|
|
|
|
class Role(BaseModel):
|
|
name: str
|
|
display_name: str
|
|
description: Optional[str] = None
|
|
permissions: List[str] = []
|
|
is_active: bool = True
|
|
|
|
class ClusterSpecificRole(BaseModel):
|
|
name: str
|
|
display_name: str
|
|
description: Optional[str] = None
|
|
permissions: List[str] = []
|
|
cluster_ids: Optional[List[int]] = [] # Empty means all clusters
|
|
is_active: bool = True
|
|
|
|
class UserRoleAssignment(BaseModel):
|
|
user_id: int
|
|
role_ids: List[int]
|
|
|
|
class LoginRequest(BaseModel):
|
|
username: str
|
|
password: str |