refactor(api): type _jsonify_form_definition payload with FormDefinitionPayload TypedDict (#35094)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
aviu16 2026-04-13 15:21:19 -04:00 committed by GitHub
parent b0bf7ca486
commit f040733e28
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -5,6 +5,7 @@ Web App Human Input Form APIs.
import json import json
import logging import logging
from datetime import datetime from datetime import datetime
from typing import Any, NotRequired, TypedDict
from flask import Response, request from flask import Response, request
from flask_restx import Resource from flask_restx import Resource
@ -58,10 +59,19 @@ def _to_timestamp(value: datetime) -> int:
return int(value.timestamp()) return int(value.timestamp())
class FormDefinitionPayload(TypedDict):
form_content: Any
inputs: Any
resolved_default_values: dict[str, str]
user_actions: Any
expiration_time: int
site: NotRequired[dict]
def _jsonify_form_definition(form: Form, site_payload: dict | None = None) -> Response: def _jsonify_form_definition(form: Form, site_payload: dict | None = None) -> Response:
"""Return the form payload (optionally with site) as a JSON response.""" """Return the form payload (optionally with site) as a JSON response."""
definition_payload = form.get_definition().model_dump() definition_payload = form.get_definition().model_dump()
payload = { payload: FormDefinitionPayload = {
"form_content": definition_payload["rendered_content"], "form_content": definition_payload["rendered_content"],
"inputs": definition_payload["inputs"], "inputs": definition_payload["inputs"],
"resolved_default_values": _stringify_default_values(definition_payload["default_values"]), "resolved_default_values": _stringify_default_values(definition_payload["default_values"]),