satupeta-main/app/schemas/map_source_schema.py
2026-01-27 09:11:58 +07:00

39 lines
990 B
Python

from datetime import datetime
from typing import Optional
from pydantic import Field
from app.core.data_types import UUID7Field
from app.schemas import CredentialSchema
from .base import BaseSchema
class MapSourceSchema(BaseSchema):
id: UUID7Field
name: str
description: Optional[str]
credential: CredentialSchema
url: Optional[str]
is_active: bool
is_deleted: bool
created_at: datetime
updated_at: Optional[datetime]
class MapSourceCreateSchema(BaseSchema):
name: str = Field(..., min_length=1, max_length=50)
description: Optional[str] = Field(None)
url: Optional[str]
credential_id: UUID7Field
is_active: bool = True
class MapSourceUpdateSchema(BaseSchema):
name: Optional[str] = Field(None, min_length=1, max_length=50)
description: Optional[str] = Field(None)
url: Optional[str] = Field(None)
credential_id: Optional[UUID7Field]
is_active: Optional[bool] = None
is_deleted: Optional[bool] = None