You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
orquestrador/admin_app/view/view_models.py

202 lines
4.5 KiB
Python

from pydantic import BaseModel
class AdminPanelNavigationItem(BaseModel):
label: str
href: str
description: str
badge: str | None = None
is_active: bool = False
class AdminPanelQuickAction(BaseModel):
label: str
href: str
button_class: str = "btn-outline-dark"
class AdminPanelMetric(BaseModel):
label: str
value: str
description: str
class AdminPanelModuleCard(BaseModel):
eyebrow: str
title: str
description: str
status_label: str
status_variant: str = "secondary"
highlights: tuple[str, ...] = ()
cta_label: str | None = None
href: str | None = None
is_available: bool = False
class AdminPanelSurfaceLink(BaseModel):
method: str
label: str
href: str
description: str
class AdminPanelRoadmapItem(BaseModel):
step: str
title: str
description: str
status_label: str
class AdminPanelHomeView(BaseModel):
service: str
app_name: str
panel_title: str
panel_subtitle: str
environment: str
version: str
api_prefix: str
release_label: str
navigation: tuple[AdminPanelNavigationItem, ...]
quick_actions: tuple[AdminPanelQuickAction, ...]
metrics: tuple[AdminPanelMetric, ...]
modules: tuple[AdminPanelModuleCard, ...]
surface_links: tuple[AdminPanelSurfaceLink, ...]
roadmap: tuple[AdminPanelRoadmapItem, ...]
class AdminLoginPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
auth_endpoint: str
email_placeholder: str
password_placeholder: str
access_token_ttl_label: str
refresh_token_ttl_label: str
password_policy_label: str
security_highlights: tuple[str, ...]
integration_notes: tuple[str, ...]
class AdminToolReviewWorkflowStep(BaseModel):
eyebrow: str
title: str
description: str
status_label: str
status_variant: str = "secondary"
class AdminToolReviewPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
overview_endpoint: str
contracts_endpoint: str
review_queue_endpoint: str
publications_endpoint: str
workflow: tuple[AdminToolReviewWorkflowStep, ...]
review_notes: tuple[str, ...]
approval_notes: tuple[str, ...]
activation_notes: tuple[str, ...]
class AdminToolIntakeDomainOption(BaseModel):
value: str
label: str
description: str
class AdminToolIntakeParameterTypeOption(BaseModel):
value: str
label: str
description: str
class AdminToolIntakePageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
review_href: str
intake_endpoint: str
domain_options: tuple[AdminToolIntakeDomainOption, ...]
parameter_type_options: tuple[AdminToolIntakeParameterTypeOption, ...]
naming_rules: tuple[str, ...]
submission_notes: tuple[str, ...]
approval_notes: tuple[str, ...]
class AdminCollaboratorManagementPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
collection_endpoint: str
password_policy_label: str
onboarding_notes: tuple[str, ...]
governance_notes: tuple[str, ...]
class AdminSystemConfigurationPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
overview_endpoint: str
runtime_endpoint: str
security_endpoint: str
model_runtimes_endpoint: str
functional_endpoint: str
functional_detail_base: str
bot_governance_endpoint: str
access_notes: tuple[str, ...]
governance_notes: tuple[str, ...]
class AdminSalesRevenueReportsPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
sales_overview_endpoint: str
revenue_overview_endpoint: str
access_notes: tuple[str, ...]
reading_notes: tuple[str, ...]
class AdminRentalReportsPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
overview_endpoint: str
access_notes: tuple[str, ...]
reading_notes: tuple[str, ...]
class AdminBotMonitoringPageView(BaseModel):
app_name: str
title: str
subtitle: str
environment: str
version: str
dashboard_href: str
bot_flow_overview_endpoint: str
telemetry_overview_endpoint: str
access_notes: tuple[str, ...]
reading_notes: tuple[str, ...]