print_log.py 881 B

12345678910111213141516171819202122232425262728293031
  1. from datetime import datetime
  2. from pydantic import BaseModel
  3. class PrintLogEntrySchema(BaseModel):
  4. id: int
  5. archive_id: int | None = None
  6. print_name: str | None = None
  7. printer_name: str | None = None
  8. printer_id: int | None = None
  9. status: str
  10. started_at: datetime | None = None
  11. completed_at: datetime | None = None
  12. duration_seconds: int | None = None
  13. filament_type: str | None = None
  14. filament_color: str | None = None
  15. filament_used_grams: float | None = None
  16. cost: float | None = None
  17. energy_kwh: float | None = None
  18. energy_cost: float | None = None
  19. failure_reason: str | None = None
  20. thumbnail_path: str | None = None
  21. created_by_id: int | None = None
  22. created_by_username: str | None = None
  23. created_at: datetime
  24. class PrintLogResponse(BaseModel):
  25. items: list[PrintLogEntrySchema]
  26. total: int