v1.3 - client and admin scaffolding
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
|
||||
|
||||
class ClientUserCreate(BaseModel):
|
||||
client_account_id: int
|
||||
full_name: str
|
||||
email: str
|
||||
role: str = "viewer"
|
||||
status: str = "invited"
|
||||
is_new_user: bool = True
|
||||
|
||||
|
||||
class ClientUserUpdate(BaseModel):
|
||||
full_name: str | None = None
|
||||
email: str | None = None
|
||||
role: str | None = None
|
||||
status: str | None = None
|
||||
is_new_user: bool | None = None
|
||||
|
||||
|
||||
class ClientFeatureUpdate(BaseModel):
|
||||
enabled: bool
|
||||
|
||||
|
||||
class ClientUserRead(BaseModel):
|
||||
id: int
|
||||
client_account_id: int
|
||||
full_name: str
|
||||
email: str
|
||||
role: str
|
||||
status: str
|
||||
is_new_user: bool
|
||||
last_login_at: datetime | None
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class ClientFeatureRead(BaseModel):
|
||||
id: int
|
||||
client_account_id: int
|
||||
feature_key: str
|
||||
feature_name: str
|
||||
feature_group: str
|
||||
description: str | None
|
||||
enabled: bool
|
||||
updated_at: datetime
|
||||
created_at: datetime
|
||||
|
||||
|
||||
class ClientAccessRead(BaseModel):
|
||||
id: int
|
||||
tenant_id: str
|
||||
name: str
|
||||
client_code: str
|
||||
status: str
|
||||
powerbi_workspace: str | None
|
||||
notes: str | None
|
||||
created_at: datetime
|
||||
users: list[ClientUserRead]
|
||||
features: list[ClientFeatureRead]
|
||||
active_user_count: int
|
||||
new_user_count: int
|
||||
enabled_feature_count: int
|
||||
total_feature_count: int
|
||||
Reference in New Issue
Block a user