This commit is contained in:
@@ -1,39 +0,0 @@
|
||||
defmodule PolicyService.Commands.Car.SubmitCarPolicyApplication do
|
||||
defstruct [
|
||||
:application_id,
|
||||
:org_id,
|
||||
:submitted_by,
|
||||
:applicant_info,
|
||||
:car_details,
|
||||
:selected_providers
|
||||
]
|
||||
end
|
||||
|
||||
defmodule PolicyService.Commands.Car.RecordCarProviderQuote do
|
||||
defstruct [
|
||||
:application_id,
|
||||
:org_id,
|
||||
:recorded_by,
|
||||
:provider_id,
|
||||
:quote_id,
|
||||
:premium,
|
||||
:coverage_details,
|
||||
:valid_until
|
||||
]
|
||||
end
|
||||
|
||||
defmodule PolicyService.Commands.Car.AcceptCarQuoteAndSolicit do
|
||||
defstruct [:application_id, :org_id, :accepted_by, :quote_id]
|
||||
end
|
||||
|
||||
defmodule PolicyService.Commands.Car.RecordCarPolicyIssued do
|
||||
defstruct [
|
||||
:application_id,
|
||||
:org_id,
|
||||
:recorded_by,
|
||||
:policy_number,
|
||||
:provider_id,
|
||||
:effective_date,
|
||||
:expiry_date
|
||||
]
|
||||
end
|
||||
8
lib/policy_service/commands/car_policy.ex
Normal file
8
lib/policy_service/commands/car_policy.ex
Normal file
@@ -0,0 +1,8 @@
|
||||
defmodule PolicyService.Commands.CarPolicy do
|
||||
alias PolicyService.Commands.Policy
|
||||
|
||||
defmodule SubmitPolicyApplication, do: use(Policy.SubmitPolicyApplication)
|
||||
defmodule RecordProviderQuote, do: use(Policy.RecordProviderQuote)
|
||||
defmodule AcceptQuoteAndSolicit, do: use(Policy.AcceptQuoteAndSolicit)
|
||||
defmodule RecordPolicyIssued, do: use(Policy.RecordPolicyIssued)
|
||||
end
|
||||
8
lib/policy_service/commands/fire_policy.ex
Normal file
8
lib/policy_service/commands/fire_policy.ex
Normal file
@@ -0,0 +1,8 @@
|
||||
defmodule PolicyService.Commands.FirePolicy do
|
||||
alias PolicyService.Commands.Policy
|
||||
|
||||
defmodule SubmitPolicyApplication, do: use(Policy.SubmitPolicyApplication)
|
||||
defmodule RecordProviderQuote, do: use(Policy.RecordProviderQuote)
|
||||
defmodule AcceptQuoteAndSolicit, do: use(Policy.AcceptQuoteAndSolicit)
|
||||
defmodule RecordPolicyIssued, do: use(Policy.RecordPolicyIssued)
|
||||
end
|
||||
65
lib/policy_service/commands/policy.ex
Normal file
65
lib/policy_service/commands/policy.ex
Normal file
@@ -0,0 +1,65 @@
|
||||
defmodule PolicyService.Commands.Policy do
|
||||
@moduledoc """
|
||||
Base templates for Policy commands.
|
||||
Use these macros to ensure all policy types share the same structure.
|
||||
"""
|
||||
|
||||
defmodule SubmitPolicyApplication do
|
||||
defmacro __using__(_opts) do
|
||||
quote do
|
||||
defstruct [
|
||||
:id,
|
||||
:submitted_by,
|
||||
:applicant_info,
|
||||
:policy_details,
|
||||
:selected_providers
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
defmodule RecordProviderQuote do
|
||||
defmacro __using__(_opts) do
|
||||
quote do
|
||||
defstruct [
|
||||
:id,
|
||||
:recorded_by,
|
||||
:provider_id,
|
||||
:quote_id,
|
||||
:premium,
|
||||
:coverage_details,
|
||||
:valid_until,
|
||||
:plans
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
defmodule AcceptQuoteAndSolicit do
|
||||
defmacro __using__(_opts) do
|
||||
quote do
|
||||
defstruct [
|
||||
:id,
|
||||
:accepted_by,
|
||||
:quote_id,
|
||||
:plan_id,
|
||||
:solicitation_fields
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
defmodule RecordPolicyIssued do
|
||||
defmacro __using__(_opts) do
|
||||
quote do
|
||||
defstruct [
|
||||
:id,
|
||||
:policy_number,
|
||||
:effective_date,
|
||||
:expiry_date,
|
||||
:issued_at
|
||||
]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user