"""Satellite schemas.""" from datetime import datetime from pydantic import BaseModel, ConfigDict, Field class SatelliteCreate(BaseModel): customer_id: int name: str = Field(min_length=1, max_length=255) class SatelliteRead(BaseModel): model_config = ConfigDict(from_attributes=True) id: int customer_id: int name: str api_key_prefix: str is_active: bool last_seen_at: datetime | None version: str | None hostname: str | None created_at: datetime class SatelliteCreated(SatelliteRead): """Returned exactly once on creation - contains the plaintext API key.""" api_key: str