revamp aggregate and use typestruct
All checks were successful
Build and Publish / build-release (push) Successful in 1m41s

This commit is contained in:
2026-04-22 11:37:04 -05:00
parent 5f2f9e9085
commit a7160aadcf
19 changed files with 228 additions and 185 deletions

View File

@@ -227,16 +227,10 @@ defmodule PolicyServiceWeb.Schemas.Policy do
OpenApiSpex.schema(%{
title: "AcceptQuoteRequest",
type: :object,
required: [:quote_id, :plan_id],
required: [:accepted_plan_id],
properties: %{
quote_id: %Schema{type: :string},
plan_id: %Schema{type: :string},
solicitation_fields: %Schema{
type: :object,
additionalProperties: %Schema{type: :string},
description: "Optional flat map of AcroForm field names to values",
nullable: true
}
plan_id: %Schema{type: :string}
}
})
end
@@ -266,7 +260,6 @@ defmodule PolicyServiceWeb.Schemas.Policy do
type: :object,
properties: %{
download_url: %Schema{type: :string},
s3_key: %Schema{type: :string},
version: %Schema{type: :integer}
}
})
@@ -283,11 +276,11 @@ defmodule PolicyServiceWeb.Schemas.Policy do
policy_type: %Schema{type: :string, enum: ["car", "life", "fire"]},
status: %Schema{
type: :string,
enum: ["quote_requested", "quotes_received", "solicitation_sent", "issued"]
enum: ["quote_requested", "quotes_received", "awaiting_policy", "issued"]
},
applicant_info: ApplicantInfo,
policy_details: PolicyDetails,
policy_number: %Schema{type: :string, nullable: true},
provider_policy_number: %Schema{type: :string, nullable: true},
submitted_at: %Schema{type: :string, format: :"date-time"}
}
})
@@ -306,19 +299,15 @@ defmodule PolicyServiceWeb.Schemas.Policy do
policy_type: %Schema{type: :string, enum: ["car", "life", "fire"]},
status: %Schema{
type: :string,
enum: ["quote_requested", "quotes_received", "solicitation_sent", "issued"]
enum: ["quote_requested", "quotes_received", "awaiting_policy", "issued"]
},
applicant_info: ApplicantInfo,
policy_details: PolicyDetails,
selected_providers: %Schema{type: :array, items: %Schema{type: :string}},
quotes: %Schema{type: :object, additionalProperties: QuoteData},
accepted_quote_id: %Schema{type: :string, nullable: true},
accepted_plan_id: %Schema{type: :string, nullable: true},
accepted_provider_id: %Schema{type: :string, nullable: true},
accepted_at: %Schema{type: :string, format: :"date-time", nullable: true},
solicitation_id: %Schema{type: :string, nullable: true},
solicitation_s3_key: %Schema{type: :string, nullable: true},
policy_number: %Schema{type: :string, nullable: true},
accepted_by: %Schema{type: :string, nullable: true},
provider_policy_number: %Schema{type: :string, nullable: true},
premium: %Schema{type: :number, nullable: true},
effective_date: %Schema{type: :string, format: :date, nullable: true},
expiry_date: %Schema{type: :string, format: :date, nullable: true},