from pydantic import BaseModel class SystemCreateRequest(BaseModel): system_key: str name: str status: str = "active" 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 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 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 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 ListResponse(BaseModel): items: list total: int limit: int offset: int class PermissionGroupCreateRequest(BaseModel): group_key: str name: str status: str = "active" class PermissionGroupItem(BaseModel): id: str group_key: str name: str status: str