127 lines
2.2 KiB
Python
127 lines
2.2 KiB
Python
from pydantic import BaseModel
|
|
|
|
|
|
class SystemCreateRequest(BaseModel):
|
|
system_key: str
|
|
name: str
|
|
status: str = "active"
|
|
|
|
|
|
class SystemUpdateRequest(BaseModel):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
|
|
|
|
class SystemItem(BaseModel):
|
|
id: str
|
|
system_key: str
|
|
name: str
|
|
status: str
|
|
|
|
|
|
class ModuleCreateRequest(BaseModel):
|
|
system_key: str
|
|
module_key: str
|
|
name: str
|
|
status: str = "active"
|
|
|
|
|
|
class ModuleUpdateRequest(BaseModel):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
|
|
|
|
class ModuleItem(BaseModel):
|
|
id: str
|
|
system_key: str | None = None
|
|
module_key: str
|
|
name: str
|
|
status: str
|
|
|
|
|
|
class CompanyCreateRequest(BaseModel):
|
|
company_key: str
|
|
name: str
|
|
status: str = "active"
|
|
|
|
|
|
class CompanyUpdateRequest(BaseModel):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
|
|
|
|
class CompanyItem(BaseModel):
|
|
id: str
|
|
company_key: str
|
|
name: str
|
|
status: str
|
|
|
|
|
|
class SiteCreateRequest(BaseModel):
|
|
site_key: str
|
|
company_key: str
|
|
name: str
|
|
status: str = "active"
|
|
|
|
|
|
class SiteUpdateRequest(BaseModel):
|
|
company_key: str | None = None
|
|
name: str | None = None
|
|
status: str | None = None
|
|
|
|
|
|
class SiteItem(BaseModel):
|
|
id: str
|
|
site_key: str
|
|
company_key: str
|
|
name: str
|
|
status: str
|
|
|
|
|
|
class MemberItem(BaseModel):
|
|
id: str
|
|
authentik_sub: str
|
|
email: str | None = None
|
|
display_name: str | None = None
|
|
is_active: bool
|
|
|
|
|
|
class MemberUpsertRequest(BaseModel):
|
|
authentik_sub: str | None = None
|
|
email: str | None = None
|
|
display_name: str | None = None
|
|
is_active: bool = True
|
|
sync_to_authentik: bool = True
|
|
|
|
|
|
class MemberUpdateRequest(BaseModel):
|
|
email: str | None = None
|
|
display_name: str | None = None
|
|
is_active: bool | None = None
|
|
sync_to_authentik: bool = True
|
|
|
|
|
|
class ListResponse(BaseModel):
|
|
items: list
|
|
total: int
|
|
limit: int
|
|
offset: int
|
|
|
|
|
|
class PermissionGroupCreateRequest(BaseModel):
|
|
group_key: str
|
|
name: str
|
|
status: str = "active"
|
|
|
|
|
|
class PermissionGroupUpdateRequest(BaseModel):
|
|
name: str | None = None
|
|
status: str | None = None
|
|
|
|
|
|
class PermissionGroupItem(BaseModel):
|
|
id: str
|
|
group_key: str
|
|
name: str
|
|
status: str
|