feat: implement full arch design dashboard #1
|
|
@ -0,0 +1,102 @@
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
from app.modules.design.domain.entities import (
|
||||||
|
ADR,
|
||||||
|
ApiContract,
|
||||||
|
Capability,
|
||||||
|
ChangeLogEntry,
|
||||||
|
CodebaseAlignment,
|
||||||
|
DataFlow,
|
||||||
|
DataSecurity,
|
||||||
|
DesignDocument,
|
||||||
|
Domain,
|
||||||
|
DomainEntity,
|
||||||
|
DomainModule,
|
||||||
|
Entity,
|
||||||
|
Environment,
|
||||||
|
ExternalSystem,
|
||||||
|
Integration,
|
||||||
|
Module,
|
||||||
|
ModuleBoundaryRule,
|
||||||
|
OperationalBaseline,
|
||||||
|
ReleasePlan,
|
||||||
|
RuntimeComponent,
|
||||||
|
RuntimeTopology,
|
||||||
|
Scenario,
|
||||||
|
SharedTerm,
|
||||||
|
ScopeAndGoals,
|
||||||
|
SolutionLayer,
|
||||||
|
SystemContext,
|
||||||
|
TechSelection,
|
||||||
|
TraceabilityLink,
|
||||||
|
UbiquitousTerm,
|
||||||
|
UserJourney,
|
||||||
|
ValueFlow,
|
||||||
|
)
|
||||||
|
from app.modules.design.domain.value_objects import FileStatus
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class FileStatusEntry:
|
||||||
|
path: str
|
||||||
|
status: FileStatus
|
||||||
|
content_lines: int
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ScanSummary:
|
||||||
|
total_files: int
|
||||||
|
ok: int
|
||||||
|
sparse: int
|
||||||
|
missing: int
|
||||||
|
placeholder_heavy: int
|
||||||
|
template_residue: int
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class ScanResult:
|
||||||
|
"""Internal domain object carrying all parsed entities.
|
||||||
|
|
||||||
|
API response (ScanResultResponse) only includes project_id, scanned_at,
|
||||||
|
file_statuses, summary. Entity data is exposed through separate
|
||||||
|
/entities/* endpoints.
|
||||||
|
"""
|
||||||
|
|
||||||
|
project_id: str
|
||||||
|
scanned_at: datetime
|
||||||
|
file_statuses: list[FileStatusEntry]
|
||||||
|
summary: ScanSummary
|
||||||
|
# All parsed Design entities
|
||||||
|
capabilities: list[Capability] = field(default_factory=list)
|
||||||
|
modules: list[Module] = field(default_factory=list)
|
||||||
|
entities: list[Entity] = field(default_factory=list)
|
||||||
|
value_flows: list[ValueFlow] = field(default_factory=list)
|
||||||
|
user_journeys: list[UserJourney] = field(default_factory=list)
|
||||||
|
integrations: list[Integration] = field(default_factory=list)
|
||||||
|
data_flows: list[DataFlow] = field(default_factory=list)
|
||||||
|
traceability_links: list[TraceabilityLink] = field(default_factory=list)
|
||||||
|
external_systems: list[ExternalSystem] = field(default_factory=list)
|
||||||
|
runtime_components: list[RuntimeComponent] = field(default_factory=list)
|
||||||
|
tech_selections: list[TechSelection] = field(default_factory=list)
|
||||||
|
environments: list[Environment] = field(default_factory=list)
|
||||||
|
design_documents: list[DesignDocument] = field(default_factory=list)
|
||||||
|
change_log_entries: list[ChangeLogEntry] = field(default_factory=list)
|
||||||
|
adrs: list[ADR] = field(default_factory=list)
|
||||||
|
shared_terms: list[SharedTerm] = field(default_factory=list)
|
||||||
|
domains: list[Domain] = field(default_factory=list)
|
||||||
|
ubiquitous_terms: list[UbiquitousTerm] = field(default_factory=list)
|
||||||
|
scenarios: list[Scenario] = field(default_factory=list)
|
||||||
|
domain_modules: list[DomainModule] = field(default_factory=list)
|
||||||
|
domain_entities: list[DomainEntity] = field(default_factory=list)
|
||||||
|
data_securities: list[DataSecurity] = field(default_factory=list)
|
||||||
|
codebase_alignments: list[CodebaseAlignment] = field(default_factory=list)
|
||||||
|
api_contracts: list[ApiContract] = field(default_factory=list)
|
||||||
|
# MD file-specific (singleton or None)
|
||||||
|
scope_and_goals: ScopeAndGoals | None = None
|
||||||
|
system_context: SystemContext | None = None
|
||||||
|
solution_layer: SolutionLayer | None = None
|
||||||
|
module_boundary_rule: ModuleBoundaryRule | None = None
|
||||||
|
runtime_topology: RuntimeTopology | None = None
|
||||||
|
operational_baseline: OperationalBaseline | None = None
|
||||||
|
release_plan: ReleasePlan | None = None
|
||||||
Loading…
Reference in New Issue
Block a user