from datetime import datetime from pydantic import BaseModel class OwnerBase(BaseModel): name: str contact: str | None = None class OwnerCreate(OwnerBase): pass class OwnerRead(OwnerBase): id: int class Config: from_attributes = True class ServerBase(BaseModel): hostname: str description: str | None = None owner_id: int | None = None class ServerCreate(ServerBase): pass class ServerRead(ServerBase): id: int owner: OwnerRead | None = None class Config: from_attributes = True class WorkEntryBase(BaseModel): title: str description: str | None = None duration_minutes: int | None = None class WorkEntryCreate(WorkEntryBase): server_ids: list[int] | None = None pass class WorkEntryRead(WorkEntryBase): id: int created_at: datetime created_by_user_id: int servers: list[ServerRead] class Config: from_attributes = True class UserCreate(BaseModel): username: str password: str class UserRead(BaseModel): id: int username: str class Config: from_attributes = True