34 lines
857 B
Python
34 lines
857 B
Python
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")
|