This is an automated email from the ASF dual-hosted git repository. sbp pushed a commit to branch sbp in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
commit df73c6009768b8d46c4357bfeacbddc3bf0eaa1a Author: Sean B. Palmer <[email protected]> AuthorDate: Fri Mar 6 20:49:04 2026 +0000 Use JSON mode when serialising any Pydantic model in the API --- atr/api/__init__.py | 92 ++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/atr/api/__init__.py b/atr/api/__init__.py index 259194b6..97c5b750 100644 --- a/atr/api/__init__.py +++ b/atr/api/__init__.py @@ -91,7 +91,7 @@ async def checks_list( checks=check_results, checks_revision=release.unwrap_revision_number, current_phase=release.phase, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -132,7 +132,7 @@ async def checks_list_revision( checks=check_results, checks_revision=revision, current_phase=release_result.phase, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -172,7 +172,7 @@ async def checks_ongoing( return models.api.ChecksOngoingResults( endpoint="/checks/ongoing", ongoing=ongoing_tasks_count, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -196,7 +196,7 @@ async def committee_get( return models.api.CommitteeGetResults( endpoint="/committee/get", committee=committee, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -222,7 +222,7 @@ async def committee_keys( return models.api.CommitteeKeysResults( endpoint="/committee/keys", keys=committee.public_signing_keys, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -248,7 +248,7 @@ async def committee_projects( return models.api.CommitteeProjectsResults( endpoint="/committee/projects", projects=committee.projects, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -268,7 +268,7 @@ async def committees_list( return models.api.CommitteesListResults( endpoint="/committees/list", committees=committees, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -305,7 +305,7 @@ async def distribute_ssh_register( fingerprint=fingerprint, project=release.safe_project_name, expires=expires, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -349,7 +349,7 @@ async def distribution_record( return models.api.DistributionRecordResults( endpoint="/distribution/record", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -390,7 +390,7 @@ async def distribution_record_from_workflow( return models.api.DistributionRecordFromWorkflowResults( endpoint="/distribute/record_from_workflow", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -424,7 +424,7 @@ async def ignore_add( return models.api.IgnoreAddResults( endpoint="/ignore/add", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -451,7 +451,7 @@ async def ignore_delete( return models.api.IgnoreDeleteResults( endpoint="/ignore/delete", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 # TODO: Rename to ignores @@ -472,7 +472,7 @@ async def ignore_list( return models.api.IgnoreListResults( endpoint="/ignore/list", ignores=ignores, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -500,7 +500,7 @@ async def jwt_create( endpoint="/jwt/create", asfuid=data.asfuid, jwt=jwt, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -538,7 +538,7 @@ async def key_add( return models.api.KeyAddResults( endpoint="/key/add", fingerprint=key.key_model.fingerprint.upper(), - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -575,7 +575,7 @@ async def key_delete( return models.api.KeyDeleteResults( endpoint="/key/delete", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -599,7 +599,7 @@ async def key_get( return models.api.KeyGetResults( endpoint="/key/get", key=key, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -661,7 +661,7 @@ async def keys_upload( success_count=outcomes.result_count, error_count=outcomes.error_count, submitted_committee=selected_committee_name, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -681,7 +681,7 @@ async def keys_user( return models.api.KeysUserResults( endpoint="/keys/user", keys=keys, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -700,7 +700,7 @@ async def project_get( return models.api.ProjectGetResults( endpoint="/project/get", project=project, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -744,7 +744,7 @@ async def project_policy( policy_start_vote_template=project.policy_start_vote_template, policy_strict_checking=project.policy_strict_checking, policy_vote_comment_template=project.policy_vote_comment_template, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -764,7 +764,7 @@ async def project_releases( return models.api.ProjectReleasesResults( endpoint="/project/releases", releases=releases, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -783,7 +783,7 @@ async def projects_list( return models.api.ProjectsListResults( endpoint="/projects/list", projects=projects, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -834,7 +834,7 @@ async def publisher_distribution_record( return models.api.PublisherDistributionRecordResults( endpoint="/publisher/distribution/record", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -872,7 +872,7 @@ async def publisher_release_announce( return models.api.PublisherReleaseAnnounceResults( endpoint="/publisher/release/announce", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -903,7 +903,7 @@ async def publisher_ssh_register( fingerprint=fingerprint, project=project.safe_name, expires=expires, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -936,7 +936,7 @@ async def publisher_vote_resolve( return models.api.PublisherVoteResolveResults( endpoint="/publisher/vote/resolve", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -978,7 +978,7 @@ async def release_announce( return models.api.ReleaseAnnounceResults( endpoint="/release/announce", success=True, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 @api.typed @@ -1008,7 +1008,7 @@ async def release_create( return models.api.ReleaseCreateResults( endpoint="/release/create", release=release, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 # TODO: Duplicates the below @@ -1038,7 +1038,7 @@ async def release_delete( return models.api.ReleaseDeleteResults( endpoint="/release/delete", deleted=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1059,7 +1059,7 @@ async def release_get( return models.api.ReleaseGetResults( endpoint="/release/get", release=release, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1090,7 +1090,7 @@ async def release_paths( return models.api.ReleasePathsResults( endpoint="/release/paths", rel_paths=files, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1114,7 +1114,7 @@ async def release_revisions( return models.api.ReleaseRevisionsResults( endpoint="/release/revisions", revisions=revisions, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1150,7 +1150,7 @@ async def release_upload( return models.api.ReleaseUploadResults( endpoint="/release/upload", revision=result, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 @api.typed @@ -1196,7 +1196,7 @@ async def releases_list( endpoint="/releases/list", data=paged_releases, count=count, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1263,7 +1263,7 @@ async def signature_provenance( fingerprint=signer_fingerprint, key_asc_text=key.ascii_armored_key, committees_with_artifact=signing_keys, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1289,7 +1289,7 @@ async def ssh_key_add( return models.api.SshKeyAddResults( endpoint="/ssh-key/add", fingerprint=fingerprint, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 @api.typed @@ -1315,7 +1315,7 @@ async def ssh_key_delete( return models.api.SshKeyDeleteResults( endpoint="/ssh-key/delete", success=True, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 @api.typed @@ -1349,7 +1349,7 @@ async def ssh_keys_list( endpoint="/ssh-keys/list", data=paged_keys, count=count, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1380,7 +1380,7 @@ async def tasks_list( endpoint="/tasks/list", data=paged_tasks, count=count, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1406,7 +1406,7 @@ async def update_distribution_task_status( return models.api.DistributeStatusUpdateResults( endpoint="/distribute/task/status", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1430,7 +1430,7 @@ async def user_info( endpoint="/user/info", participant_of=list(participant_of), member_of=list(member_of), - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1472,7 +1472,7 @@ async def users_list( return models.api.UsersListResults( endpoint="/users/list", users=sorted(users), - ).model_dump(), 200 + ).model_dump(mode="json"), 200 # TODO: Add endpoints to allow users to vote @@ -1512,7 +1512,7 @@ async def vote_resolve( return models.api.VoteResolveResults( endpoint="/vote/resolve", success=True, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 @api.typed @@ -1559,7 +1559,7 @@ async def vote_start( return models.api.VoteStartResults( endpoint="/vote/start", task=task, - ).model_dump(), 201 + ).model_dump(mode="json"), 201 @api.typed @@ -1600,7 +1600,7 @@ async def vote_tabulate( return models.api.VoteTabulateResults( endpoint="/vote/tabulate", details=details, - ).model_dump(), 200 + ).model_dump(mode="json"), 200 def _jwt_asf_uid() -> str: --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
