Files
T
taylanbakircioglu 6aae0f4309 Initial commit
2025-10-27 12:14:03 +03:00

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