Implement display artifacts, pricing integrity, draft base and publish preview bundle
This commit is contained in:
50
backend/app/schemas/publish_preview.py
Normal file
50
backend/app/schemas/publish_preview.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class RemapPreviewRequest(BaseModel):
|
||||
seat_record_ids: list[str] | None = Field(default=None, max_length=500)
|
||||
from_sector_id: str | None = Field(default=None, max_length=128)
|
||||
to_sector_id: str | None = Field(default=None, max_length=128)
|
||||
from_group_id: str | None = Field(default=None, max_length=128)
|
||||
to_group_id: str | None = Field(default=None, max_length=128)
|
||||
|
||||
|
||||
class RemapPreviewSeatItem(BaseModel):
|
||||
seat_record_id: str
|
||||
seat_id: str | None
|
||||
before_sector_id: str | None
|
||||
after_sector_id: str | None
|
||||
before_group_id: str | None
|
||||
after_group_id: str | None
|
||||
|
||||
|
||||
class RemapPreviewResponse(BaseModel):
|
||||
scheme_id: str
|
||||
scheme_version_id: str
|
||||
matched_count: int
|
||||
items: list[RemapPreviewSeatItem]
|
||||
|
||||
|
||||
class RemapApplyRequest(BaseModel):
|
||||
seat_record_ids: list[str] | None = Field(default=None, max_length=500)
|
||||
from_sector_id: str | None = Field(default=None, max_length=128)
|
||||
to_sector_id: str | None = Field(default=None, max_length=128)
|
||||
from_group_id: str | None = Field(default=None, max_length=128)
|
||||
to_group_id: str | None = Field(default=None, max_length=128)
|
||||
|
||||
|
||||
class RemapApplyResponse(BaseModel):
|
||||
scheme_id: str
|
||||
scheme_version_id: str
|
||||
updated_count: int
|
||||
items: list[RemapPreviewSeatItem]
|
||||
|
||||
|
||||
class PublishPreviewResponse(BaseModel):
|
||||
scheme_id: str
|
||||
scheme_version_id: str
|
||||
artifacts: dict
|
||||
validation: dict
|
||||
structure_diff: dict
|
||||
pricing_coverage: dict
|
||||
summary: dict
|
||||
Reference in New Issue
Block a user