server-worklog/app/schemas.py
2026-01-25 10:21:23 +01:00

56 lines
1.1 KiB
Python

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