2025-04-09 21:02:43 -04:00

38 lines
795 B
Python

from pydantic import BaseModel, ConfigDict
from typing import Optional, List
from datetime import datetime
# Base schema with common attributes
class FileBase(BaseModel):
name: str
type: str
path: str
# Schema for creating a new file
class FileCreate(FileBase):
pass
# Schema for updating a file
class FileUpdate(BaseModel):
name: Optional[str] = None
type: Optional[str] = None
path: Optional[str] = None
# Schema for reading a file
class File(FileBase):
id: int
created_at: datetime
updated_at: datetime
model_config = ConfigDict(from_attributes=True)
# Schema for deleting a file
class FileDelete(BaseModel):
id: int
# Schema for listing files
class FileList(BaseModel):
files: List[File]
total: int
page: int
limit: int