generated from coulomb/repo-seed
46 lines
948 B
Python
46 lines
948 B
Python
import uuid
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from hub_core.schemas.domain import DomainCreate, DomainRead, DomainRename, DomainUpdate
|
|
|
|
|
|
class RepoStub(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
id: uuid.UUID
|
|
slug: str
|
|
name: str
|
|
local_path: str | None = None
|
|
remote_url: str | None = None
|
|
status: str
|
|
|
|
|
|
class DomainDetail(DomainRead):
|
|
"""Domain with entity counts and repo list."""
|
|
topic_count: int = 0
|
|
workstream_count: int = 0
|
|
ep_count: int = 0
|
|
td_count: int = 0
|
|
repos: list[RepoStub] = []
|
|
|
|
|
|
class DomainSummary(BaseModel):
|
|
"""Lightweight domain stats for the state summary."""
|
|
slug: str
|
|
name: str
|
|
repo_count: int = 0
|
|
active_workstream_count: int = 0
|
|
ep_count: int = 0
|
|
td_count: int = 0
|
|
|
|
|
|
__all__ = [
|
|
"DomainCreate",
|
|
"DomainDetail",
|
|
"DomainRead",
|
|
"DomainRename",
|
|
"DomainSummary",
|
|
"DomainUpdate",
|
|
"RepoStub",
|
|
]
|