parent
8b9b4e6e08
commit
1ad47cb20b
@ -1,11 +1,24 @@
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
from typing import List
|
||||
from bson import ObjectId
|
||||
import bson
|
||||
|
||||
class PinDTO(BaseModel):
|
||||
title: str
|
||||
description: str
|
||||
location: list
|
||||
files: list
|
||||
user_id: str
|
||||
files: List[str] = Field(default_factory=list)
|
||||
user_id: str = None
|
||||
|
||||
@field_validator('files')
|
||||
@classmethod
|
||||
def validate_files(cls, files):
|
||||
for file_id in files:
|
||||
try:
|
||||
ObjectId(file_id)
|
||||
except bson.errors.InvalidId:
|
||||
raise ValueError(f"Invalid image ID format: {file_id}")
|
||||
return files
|
||||
|
||||
class PinShareDTO(BaseModel):
|
||||
friend_id: str
|
Loading…
Reference in new issue