feat(postcard): profile country, country_from, per-user card number uniqueness, public page overhaul - Profile: add country field for default origin country - Postcard: add country_from field, auto-fill from profile.country on create - card_number uniqueness: change from global to per-user (profile_id + card_number) - Public pages: remove card_number display, only show cards with image_front - Public pages: show country as from→to format - Index page: no time display, add register button, fix lightbox with prev/next - Infinite scroll: add /api/public/cards endpoints and IntersectionObserver - Internal pages: update postcards list/detail for country_from display - i18n: add profiles.country_ph, pc_form.country_from, pc_detail.route
This commit is contained in:
@@ -7,11 +7,18 @@ from pydantic import BaseModel
|
||||
|
||||
class ProfileCreate(BaseModel):
|
||||
nickname: str
|
||||
country: str | None = None
|
||||
|
||||
|
||||
class ProfileUpdate(BaseModel):
|
||||
nickname: str | None = None
|
||||
country: str | None = None
|
||||
|
||||
|
||||
class ProfileOut(BaseModel):
|
||||
id: int
|
||||
nickname: str
|
||||
country: str | None
|
||||
created_at: datetime
|
||||
|
||||
model_config = {"from_attributes": True}
|
||||
@@ -24,6 +31,7 @@ class PostcardCreate(BaseModel):
|
||||
status: str
|
||||
recipient_name: str | None = None
|
||||
country: str | None = None
|
||||
country_from: str | None = None
|
||||
send_time: datetime | None = None
|
||||
arrival_time: datetime | None = None
|
||||
sender_name: str | None = None
|
||||
@@ -35,6 +43,7 @@ class PostcardUpdate(BaseModel):
|
||||
status: str | None = None
|
||||
recipient_name: str | None = None
|
||||
country: str | None = None
|
||||
country_from: str | None = None
|
||||
send_time: datetime | None = None
|
||||
arrival_time: datetime | None = None
|
||||
sender_name: str | None = None
|
||||
@@ -48,6 +57,7 @@ class PostcardOut(BaseModel):
|
||||
status: str
|
||||
recipient_name: str | None
|
||||
country: str | None
|
||||
country_from: str | None
|
||||
send_time: datetime | None
|
||||
arrival_time: datetime | None
|
||||
sender_name: str | None
|
||||
|
||||
Reference in New Issue
Block a user