satupeta-main/app/schemas/file_schema.py
2026-02-23 12:20:42 +07:00

34 lines
857 B
Python
Executable File

from datetime import datetime
from typing import Optional
from pydantic import Field
from app.core.data_types import UUID7Field
from .base import BaseSchema
from .user_schema import UserSchema
class FileSchema(BaseSchema):
id: UUID7Field
object_name: str
uploaded_by: UserSchema
created_at: datetime
modified_at: Optional[datetime] = None
class FileCreateSchema(BaseSchema):
filename: str
content_type: str
size: int
description: Optional[str] = None
url: str
class FileUpdateSchema(BaseSchema):
filename: Optional[str] = Field(None, title="File Name")
content_type: Optional[str] = Field(None, title="Content Type")
size: Optional[int] = Field(None, title="File Size")
description: Optional[str] = Field(None, title="File Description")
url: Optional[str] = Field(None, title="File URL")