mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Per PR review: the FE writes the selection config
({portfolio_id, property_ids?, select_all?}) into the FE-owned task.inputs and
passes only task_id, so a large hand-picked selection never travels in an HTTP
body. The route reads task.inputs, resolves to landlord_property_ids, caps, and
pins the recipe onto sub_task.inputs as before. Declares the FE-owned inputs
column on the TaskRow mirror so the backend can read it and the test schema
builds it.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
16 lines
527 B
Python
16 lines
527 B
Python
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class BulkDownloadRequest(BaseModel):
|
|
"""A request to assemble a Download Package (ADR-0060).
|
|
|
|
The front end creates the app-owned Task first and writes the **selection
|
|
config** into ``task.inputs`` (a JSON object of
|
|
``{portfolio_id, property_ids?, select_all?}`` — so a large hand-picked set
|
|
never travels in an HTTP body), then passes only the ``task_id`` here. The
|
|
backend reads the selection from ``task.inputs``.
|
|
"""
|
|
|
|
task_id: UUID
|