Files
ss-tools/backend/src/models/dashboard.py

32 lines
899 B
Python

# [DEF:DashboardModels:Module]
# @COMPLEXITY: 3
# @SEMANTICS: dashboard, model, metadata, migration
# @PURPOSE: Defines data models for dashboard metadata and selection.
# @LAYER: Model
# @RELATION: USED_BY -> MigrationApi
from pydantic import BaseModel
from typing import List
# [DEF:DashboardMetadata:Class]
# @COMPLEXITY: 1
# @PURPOSE: Represents a dashboard available for migration.
class DashboardMetadata(BaseModel):
id: int
title: str
last_modified: str
status: str
# [/DEF:DashboardMetadata:Class]
# [DEF:DashboardSelection:Class]
# @COMPLEXITY: 1
# @PURPOSE: Represents the user's selection of dashboards to migrate.
class DashboardSelection(BaseModel):
selected_ids: List[int]
source_env_id: str
target_env_id: str
replace_db_config: bool = False
fix_cross_filters: bool = True
# [/DEF:DashboardSelection:Class]
# [/DEF:DashboardModels:Module]