2026-03-17 14:36:31 +08:00
|
|
|
"""
|
|
|
|
|
Base Pydantic schemas
|
|
|
|
|
"""
|
|
|
|
|
from datetime import datetime
|
|
|
|
|
from typing import Optional, Any
|
|
|
|
|
from uuid import UUID
|
2026-03-17 17:30:11 +08:00
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
2026-03-17 14:36:31 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
class TimestampMixin(BaseModel):
|
|
|
|
|
"""Mixin for timestamps"""
|
|
|
|
|
created_at: Optional[datetime] = None
|
|
|
|
|
updated_at: Optional[datetime] = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class UUIDMixin(BaseModel):
|
|
|
|
|
"""Mixin for UUID"""
|
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
|
|
|
|
|
|
id: UUID
|