fix(models): Add MicrodaoActivity and related classes to models_city

This commit is contained in:
Apple
2025-12-02 03:21:20 -08:00
parent 973b58f08f
commit 95c9a17a7a

View File

@@ -5,6 +5,7 @@ Pydantic Models для City Backend
from pydantic import BaseModel, Field
from typing import Optional, List, Dict, Any
from datetime import datetime
from uuid import UUID
# =============================================================================
@@ -720,3 +721,45 @@ class DagiRouterSummary(BaseModel):
phantom: int = 0
stale: int = 0
last_audit_at: Optional[datetime] = None
# =============================================================================
# MicroDAO Activity & Dashboard
# =============================================================================
class MicrodaoActivity(BaseModel):
"""Activity feed item for MicroDAO"""
id: UUID
microdao_slug: str
kind: str # 'post', 'event', 'update'
title: Optional[str] = None
body: str
author_agent_id: Optional[UUID] = None
author_name: Optional[str] = None
created_at: datetime
class CreateMicrodaoActivity(BaseModel):
"""Request to create a new activity item"""
kind: str = Field(pattern="^(post|event|update)$")
title: Optional[str] = None
body: str
author_agent_id: Optional[UUID] = None
author_name: Optional[str] = None
class MicrodaoStats(BaseModel):
"""Statistics for MicroDAO dashboard"""
rooms_count: int
citizens_count: int
agents_count: int
last_update_at: Optional[datetime] = None
class MicrodaoDashboard(BaseModel):
"""Complete dashboard data for a MicroDAO"""
microdao: MicrodaoSummary
stats: MicrodaoStats
recent_activity: List[MicrodaoActivity]
rooms: List[CityRoomSummary]
citizens: List[PublicCitizenSummary]