feat(storage): add S3 image storage support with file-based config and migration script
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel
|
||||
from pydantic import BaseModel, model_validator
|
||||
|
||||
|
||||
# ---------- Profile ----------
|
||||
@@ -23,6 +23,13 @@ class ProfileOut(BaseModel):
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
@model_validator(mode="after")
|
||||
def _resolve_image_urls(self) -> "PostcardOut":
|
||||
from app.storage import resolve_url
|
||||
self.image_front = resolve_url(self.image_front) or None
|
||||
self.image_back = resolve_url(self.image_back) or None
|
||||
return self
|
||||
|
||||
|
||||
# ---------- Postcard ----------
|
||||
|
||||
@@ -68,3 +75,10 @@ class PostcardOut(BaseModel):
|
||||
updated_at: datetime
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
|
||||
@model_validator(mode="after")
|
||||
def _resolve_image_urls(self) -> "PostcardOut":
|
||||
from app.storage import resolve_url
|
||||
self.image_front = resolve_url(self.image_front) or None
|
||||
self.image_back = resolve_url(self.image_back) or None
|
||||
return self
|
||||
|
||||
Reference in New Issue
Block a user