Files
timemaster/backend/app/schemas/caldav.py
T
sysops 1fedd683e0 Initial commit – TimeMaster Zeiterfassung & HR-Tool
Stand: agent-06 (Audit-Log), agent-05 (Krankmeldung), agent-07 Phase 1 (Personalnummer),
Busylight-Pull-Integration, TOTP/2FA, Abwesenheiten, Zeiterfassung, Kiosk-Grundgerüst.
Migrations 0001–0023 deployed auf 192.168.1.137 + .164.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 20:03:27 +02:00

60 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import uuid
from datetime import datetime
from pydantic import BaseModel, Field
class CaldavCompanyConfigOut(BaseModel):
model_config = {"from_attributes": True}
id: uuid.UUID
company_id: uuid.UUID
enabled: bool
principal_url: str
calendar_url: str | None
username: str
calendar_display_name: str
verify_ssl: bool
name_template: str
last_error: str | None
updated_at: datetime
class CaldavCompanyConfigSave(BaseModel):
enabled: bool = False
principal_url: str = Field(min_length=1)
calendar_url: str | None = None
username: str = Field(min_length=1, max_length=255)
password: str | None = None # leer = unverändert
calendar_display_name: str = ""
verify_ssl: bool = True
name_template: str = "$vorname $nachname $typ"
class CaldavUserConfigOut(BaseModel):
model_config = {"from_attributes": True}
id: uuid.UUID
user_id: uuid.UUID
enabled: bool
principal_url: str
calendar_url: str | None
username: str
calendar_display_name: str
verify_ssl: bool
last_error: str | None
updated_at: datetime
class CaldavUserConfigSave(BaseModel):
enabled: bool = False
principal_url: str = Field(min_length=1)
calendar_url: str | None = None
username: str = Field(min_length=1, max_length=255)
password: str | None = None
calendar_display_name: str = ""
verify_ssl: bool = True
class ResyncResult(BaseModel):
synced: int
failed: int
total: int