Source code for ace.centralize.graphql.mutations
"""
Centralize GraphQL Message Mutations for Centralize
This module contains all the mutation definition needed for GraphQl requests sent to
create/modify/delete entities
"""
[docs]
class GraphQLMutation:
# ========================= Party =========================
PARTY_SERVICE_CREATE = """
mutation createParty($party: PartyEntityParamsInput!, $client: ClientCreateParamsInput! ) {
createParty(party:$party) {
partyId
info{
partyEntityTypeId
organization{
displayName{
default
}
}
}
createClient(client:$client){
initialDivisionId
}
}
}
"""
PARTY_SERVICE_UPDATE = """
mutation updateParty($party: PartyUpdateGqlParamsInput!) {
updateParty(party: $party) {
PartyId
partyId
partyEntityTypeId
info{
contact{
addresses{
id
street
city
stateId
countryId
postalCode
addressTypeId
additionalInfo
main
}
emails {
id
emailAddress
isInvalid
main
},
phones{
id
extension
phoneValue
main
}
}
individual {
birthDate,
deathDate,
firstName,
lastName
citizenshipId
}
}
}
}
"""
PARTIES_SERVICE_UPDATE = """
mutation updateParties($parties: [PartyUpdateGqlParamsInput!]!) {
updateParties(parties: $parties) {
partyId
partyEntityTypeId
info{
contact{
addresses{
id
street
city
stateId
countryId
postalCode
addressTypeId
additionalInfo
main
}
emails {
id
emailAddress
isInvalid
main
},
phones{
id
extension
phoneValue
main
}
}
individual {
birthDate,
deathDate,
firstName,
lastName
citizenshipId
}
}
}
}
"""
# ========================= Billing =========================
BILLING_SERVICE_CREATE_ACCOUNT = """
mutation createAccount
(
$account: BillingAccountCreateParamsInput!
)
{
createAccount(account: $account)
{
id
paymentGatewayId
defaultCurrencyId
statusId
payableEntities
{
entityId
entityTypeId
defaultDescription
}
gatewayAccountParams
{
accountParamName
accountParamValue
gatewayAccountParamsId
}
}
}
"""
# the "statusId" from this mutation is extremely important to validate if the payment was sent successfully
BILLING_SERVICE_CREATE_PAYMENT_REQUEST = """
mutation createPaymentRequest(
$paymentRequest: PaymentRequestParamsInput!
)
{
createPaymentRequest(paymentRequest: $paymentRequest)
{
accountId
currencyId
requestId
statusId
totalAmount
entities
{
entityId
entityType
totalAmount
}
}
}
"""
# ====================== Scheduled Job ======================
SCHEDULED_JOB_CREATE = """
mutation createScheduledJob($scheduledJob: CreateScheduledJobParamsInput!)
{
createScheduledJob(scheduledJob:$scheduledJob)
{
scheduledJobId
}
}
"""
SCHEDULED_JOB_UPDATE = """
mutation updateScheduledJob($scheduledJob: UpdateScheduledJobParamsInput!)
{
updateScheduledJob(job:$scheduledJob)
{
scheduledJobId
}
}
"""
SCHEDULED_JOB_CANCEL = """
mutation cancelScheduledJob($scheduledJob: CancelScheduledJobParamsInput!)
{
cancelScheduledJob(job:$scheduledJob)
{
scheduledJobId
status
}
}
"""
SCHEDULED_JOB_RUN = """
mutation runScheduledJob($scheduledJob: RunScheduledJobParamsInput!)
{
runScheduledJob(job:$scheduledJob)
{
scheduledJobId
status
}
}
"""
SCHEDULED_JOB_CHANGE_STATUS = """
mutation ChangeStatusProcessedJob($job: JobProcessedParamsInput!) {
changeJobStatus(job:$job) {
status
}
}
"""
# ====================== Business Event ======================
BUSINESS_EVENT_CREATE = """
mutation CreateBusinessEvent($businessEvent: CreateBusinessEventParamsInput!)
{
createBusinessEvent(businessEvent:$businessEvent)
{
businessEventId
}
}
"""
BUSINESS_EVENT_UPDATE = """
mutation updateBusinessEvent($businessEvent: UpdateBusinessEventParamsInput!)
{
updateBusinessEvent(businessEvent:$businessEvent)
{
businessEventId
}
}
"""
BUSINESS_EVENT_CANCEL = """
mutation cancelBusinessEvent($businessEvent: CancelBusinessEventParamsInput!)
{
cancelBusinessEvent(businessEvent:$businessEvent)
{
businessEventId
status
}
}
"""
# ====================== Application ======================
APPLICATION_SERVICE_CREATE = """
mutation createApplication(
$application: ApplicationCreateParamsInput!,
$participants:[ParticipantEntityLinkCreateParamsInput!]!)
{
createApplication(application:$application){
info{
applicationId
applicationNumber
policy{
policyId
policyGUID
policyNumber
coverages{
coverageNumber
coverageGUID
id
}
}
}
linkParticipants(linkParticipants:$participants){
id
party{
id
}
roles{
id
}
}
}
}
"""
APPLICATION_SERVICE_CREATE_FULL = """
mutation createApplication(
$application: ApplicationCreateParamsInput!,
$participants:[ParticipantEntityLinkCreateParamsInput!]!)
{
createApplication(application:$application){
applicationId
info{
applicationId
applicationNumber
applicationTypeId
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
deliveryMethodId
dynamic
effectiveDate
interviewTypeId
isCalculatedInProduction
isDelivered
isReplacement
lastUpdateDateTimeUTC
lastUpdateUserId
referenceNumber
signedDate
statusId
submissionTypeId
submittedDate
terminationDate
terminationReasonId
policy{
annualPremium
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
dynamic
effectiveDate
feeAmount
issueDate
jurisdictionId
lastUpdateDateTimeUTC
lastUpdateUserId
modalPremium
policyGUID
policyId
policyNumber
premiumPaymentAgreement{
dayOfMonth
paymentMethodId
paymentModeId
}
productId
statusId
terminationDate
terminationReasonId
coverages{
id
coverageGUID
coverageProductId
parentCoverageId
productCode
currentAmount
coverageNumber
annualPremium
modalPremium
effectiveDate
terminationDate
terminationReasonId
expiryDate
livesTypeId
durationDesign
coverageLife{
initialAmount
currentAmount
livesTypeId
deathBenefitOptionTypeId
durationDesign
expiryDate
renewalDate
conversionDate
}
coverageBenefit{
initialBenefitAmount
initialBenefitCurrencyId
currentBenefitAmount
currentBenefitCurrencyId
livesTypeId
eliminationPeriodId
benefitPeriodId
expiryDate
renewalDate
benefitPercentage
}
rating{
issueAge
issueGenderId
underwritingClassId
occupation
employmentClassId
tobaccoPremiumBasisId
}
}
}
}
linkParticipants(linkParticipants: $participants){
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
entityId
entityTypeId
id
party{
contact{
addresses{
additionalInfo
addressTypeId
addressTypeOtherDesc
city
countryId
endDate
id
isInvalid
isVerified
main
partyId
startDate
stateId
street
zip
}
emails{
emailAddress
emailTypeId
id
isInvalid
main
partyId
terminatedDate
}
phones{
extension
id
isInvalid
main
partyId
phoneTypeId
phoneValue
terminatedDate
}
preferredCommunicationMethodId
}
id
individual{
birthDate
deathDate
displayName{
default
translations{
id
translation
}
}
firstName
genderId
id
lastName
maritalStatusId
middleName
occupation
occupationTitle
origName
preferredLanguageId
suffix
title
}
organization{
displayName{
default
translations{
id
translation
}
}
dissolvedDate
establishedDate
id
name{
default
translations{
id
translation
}
}
preferredLanguageId
website
}
partyEntityTypeId
partyTypeId
}
roles{
agentContractId
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
effectiveDate
id
participantId
partyRoleId
sharedPercent
statusId
terminationDate
terminationReasonId
}
}
}
}
"""
APPLICATION_SERVICE_UPDATE = """
mutation updateApplication($application: ApplicationUpdateParamsInput!) {
updateApplication(application:$application){
applicationId
}
}
"""
APPLICATION_SERVICE_UPDATE_WITH_PARTICIPANTS = """
mutation updateApplication(
$application: ApplicationUpdateParamsInput!,
$participants:ParticipantsEntityLinkUpdateParamsInput!) {
updateApplication(application: $application) {
applicationId
info {
applicationId
applicationNumber
referenceNumber
applicationTypeId
submissionTypeId
isDelivered
deliveryMethodId
interviewTypeId
isReplacement
isCalculatedInProduction
terminationDate
effectiveDate
terminationReasonId
submittedDate
signedDate
statusId
policy {
productId
policyNumber
jurisdictionId
effectiveDate
terminationDate
annualPremium
modalPremium
feeAmount
premiumPaymentAgreement {
paymentModeId
paymentMethodId
dayOfMonth
}
coverages {
id
coverageProductId
parentCoverageId
productCode
currentAmount
annualPremium
modalPremium
effectiveDate
}
}
participants {
id
}
}
updateParticipants(participants: $participants){
id
entityTypeId
party{
id
partyTypeId
individual{
id
displayName{
default
translations {
id
translation
}
}
}
organization{
id
displayName{
default
translations {
id
translation
}
}
}
}
roles{
id
sharedPercent
partyRoleId
effectiveDate
terminationDate
terminationReasonId
entityId
entityTypeId
beneficiary{
beneficiaryTypeId
}
trustee{
trustTypeId
}
}
}
}
}
"""
APPLICATION_SERVICE_UPDATE_FULL = """
mutation updateApplication($application: ApplicationUpdateParamsInput!) {
updateApplication(application:$application){
applicationId
info{
applicationId
applicationNumber
applicationTypeId
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
deliveryMethodId
dynamic
effectiveDate
interviewTypeId
isCalculatedInProduction
isDelivered
isReplacement
lastUpdateDateTimeUTC
lastUpdateUserId
referenceNumber
signedDate
statusId
submissionTypeId
submittedDate
terminationDate
terminationReasonId
policy{
annualPremium
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
dynamic
effectiveDate
feeAmount
issueDate
jurisdictionId
lastUpdateDateTimeUTC
lastUpdateUserId
modalPremium
policyGUID
policyId
policyNumber
premiumPaymentAgreement{
dayOfMonth
paymentMethodId
paymentModeId
}
productId
statusId
terminationDate
terminationReasonId
coverages{
annualPremium
coverageGUID
coverageNumber
coverageProductId
creationDateTimeUTC
creationUserId
currentAmount
deletionDateTimeUTC
deletionUserId
durationDesign
effectiveDate
expiryDate
id
lastUpdateDateTimeUTC
lastUpdateUserId
livesTypeId
modalPremium
parentCoverageId
productCode
statusId
terminationDate
terminationReasonId
}
}
}
}
}
"""
APPLICATION_SERVICE_DELETE = """
mutation deleteApplications($ids: [Int!]!) {
deleteApplications(ids:$ids){
deleted
errorCode
errorMessage
id
}
}
"""
# ====================== Policy ======================
POLICY_SERVICE_CREATE = """
mutation createPolicy(
$policy: PolicyCreateParamsInput!,
$participants:[ParticipantEntityLinkCreateParamsInput!]!)
{
createPolicy(policy:$policy){
info{
policyId
policyGUID
policyNumber
coverages{
coverageNumber
coverageGUID
id
}
}
linkParticipants(linkParticipants: $participants){
id
party{
id
}
roles{
id
}
}
}
}
"""
POLICY_SERVICE_CREATE_WITH_NOTES = """
mutation createPolicy(
$policy: PolicyCreateParamsInput!,
$participants:[ParticipantEntityLinkCreateParamsInput!]!,
$paymentAccount:BillingAccountEntityCreateParamsInput!,
$notes:[NoteEntityCreateParamsInput!]!)
{
createPolicy(policy:$policy){
info{
policyId
policyGUID
policyNumber
coverages{
coverageNumber
coverageGUID
id
}
}
linkParticipants(linkParticipants: $participants){
id
party{
id
}
roles{
id
}
}
addPaymentAccount(account:$paymentAccount){
id
}
addNotes(notes:$notes){
noteId
noteType{
name
}
description
}
}
}
"""
POLICY_SERVICE_CREATE_FULL = """
mutation createPolicy(
$policy: PolicyCreateParamsInput!,
$participants:[ParticipantEntityLinkCreateParamsInput!]!,
$paymentAccount:BillingAccountEntityCreateParamsInput!,
$metadata: [MetadataInstanceInput!]!)
{
createPolicy(policy:$policy){
policyId
info{
annualPremium
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
dynamic
effectiveDate
feeAmount
issueDate
jurisdictionId
lastUpdateDateTimeUTC
lastUpdateUserId
modalPremium
policyGUID
policyId
policyNumber
premiumPaymentAgreement{
dayOfMonth
paymentMethodId
paymentModeId
}
productId
statusId
terminationDate
terminationReasonId
coverages{
id
coverageGUID
coverageProductId
parentCoverageId
productCode
currentAmount
coverageNumber
annualPremium
modalPremium
effectiveDate
terminationDate
terminationReasonId
expiryDate
livesTypeId
durationDesign
coverageLife{
initialAmount
currentAmount
livesTypeId
deathBenefitOptionTypeId
durationDesign
expiryDate
renewalDate
conversionDate
}
coverageBenefit{
initialBenefitAmount
initialBenefitCurrencyId
currentBenefitAmount
currentBenefitCurrencyId
livesTypeId
eliminationPeriodId
benefitPeriodId
expiryDate
renewalDate
benefitPercentage
}
rating{
issueAge
issueGenderId
underwritingClassId
occupation
employmentClassId
tobaccoPremiumBasisId
}
}
}
linkParticipants(linkParticipants: $participants){
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
entityId
entityTypeId
id
party{
contact{
addresses{
additionalInfo
addressTypeId
addressTypeOtherDesc
city
countryId
endDate
id
isInvalid
isVerified
main
partyId
startDate
stateId
street
}
emails{
emailAddress
emailTypeId
id
isInvalid
main
partyId
terminatedDate
}
phones{
extension
id
isInvalid
main
partyId
phoneTypeId
phoneValue
terminatedDate
}
preferredCommunicationMethodId
}
id
individual{
birthDate
deathDate
displayName{
default
translations{
id
translation
}
}
firstName
genderId
id
lastName
maritalStatusId
middleName
occupation
occupationTitle
origName
preferredLanguageId
suffix
title
}
organization{
displayName{
default
translations{
id
translation
}
}
dissolvedDate
establishedDate
id
name{
default
translations{
id
translation
}
}
preferredLanguageId
website
}
partyEntityTypeId
partyTypeId
}
roles{
agentContractId
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
effectiveDate
id
participantId
partyRoleId
sharedPercent
statusId
terminationDate
terminationReasonId
}
}
addPaymentAccount(account:$paymentAccount){
id
gatewayAccountParams{
accountParamName
accountParamValue
}
}
addMetadata(metadata:$metadata){
entityType
guid
data{
key
value
}
}
}
}
"""
POLICY_SERVICE_UPDATE = """
mutation updatePolicy($policy: PolicyUpdateParamsInput!) {
updatePolicy(policy:$policy){
policyId
}
}
"""
POLICY_SERVICE_UPDATE_WITH_PARTICIPANTS = """
mutation updatePolicy(
$policy: PolicyUpdateParamsInput!
$participants: ParticipantsEntityLinkUpdateParamsInput!
) {
updatePolicy(policy: $policy) {
policyId
updateParticipants(participants: $participants) {
id
}
}
}
"""
POLICY_SERVICE_UPDATE_FULL = """
mutation updatePolicy($policy: PolicyUpdateParamsInput!) {
updatePolicy(policy:$policy){
policyId
info{
annualPremium
creationDateTimeUTC
creationUserId
deletionDateTimeUTC
deletionUserId
dynamic
effectiveDate
feeAmount
issueDate
jurisdictionId
lastUpdateDateTimeUTC
lastUpdateUserId
modalPremium
policyGUID
policyId
policyNumber
premiumPaymentAgreement{
dayOfMonth
paymentMethodId
paymentModeId
}
productId
statusId
terminationDate
terminationReasonId
coverages{
annualPremium
coverageGUID
coverageNumber
coverageProductId
creationDateTimeUTC
creationUserId
currentAmount
deletionDateTimeUTC
deletionUserId
durationDesign
effectiveDate
expiryDate
id
lastUpdateDateTimeUTC
lastUpdateUserId
livesTypeId
modalPremium
parentCoverageId
productCode
statusId
terminationDate
terminationReasonId
}
}
}
}
"""
POLICY_SERVICE_DELETE = """
mutation deletePolicies($ids: [Int!]!) {
deletePolicies(ids:$ids){
deleted
errorCode
errorMessage
id
}
}
"""
POLICY_SERVICE_UPDATE_ACCOUNT = """
mutation updatePolicy(
$policy: PolicyUpdateParamsInput!,
$paymentAccount:BillingAccountEntityCreateParamsInput!
)
{
updatePolicy(policy:$policy)
{
policyId
addPaymentAccount(account:$paymentAccount)
{
id
gatewayAccountParams
{
accountParamName
accountParamValue
}
}
}
}
"""
POLICY_SERVICE_UPDATE_NOTES = """
mutation updatePolicy($policy: PolicyUpdateParamsInput!,$notes:NoteListEntityUpdateParamsInput!)
{
updatePolicy(policy:$policy)
{
policyId
updateNotes(notes: $notes)
{
noteId
description
}
}
}
"""
FINANCE_SERVICE_CREATE_TRANSACTION = """
mutation createTransaction(
$transaction: CreateTransactionInput!,
$agent: AgentTransactionLinkInput!,
$policy: PolicyTransactionLinkInput!,
$metadata: [MetadataInstanceInput!]!,
$includeMetadata: Boolean!
) {
createTransaction(transaction: $transaction) {
transactionDetailId
linkToAgent (agent: $agent) {
accreditedAgentContractId
baseAgentContractId
}
linkToPolicy (policy: $policy) {
policyId
coverageId
}
addMetadata (metadata: $metadata) @include(if: $includeMetadata) {
entityType
data {
key
value
}
}
}
}
"""
FINANCE_SERVICE_CREATE_STATEMENT = """
mutation createStatement($statement: CreateStatementInput!) {
createStatement(statement: $statement) {
statementId
}
}
"""
NOTE_CREATE = """
mutation CreateNote($note: NoteCreateParamsInput!) {
createNote(note: $note) {
noteId
}
}
"""
NOTE_GET = """
query GetNotesUnderEntity($entityId: Int!, $entityTypeId: UUID!) {
getNotesUnderEntity(entityId: $entityId, entityTypeId: $entityTypeId) {
description
noteId
noteType {
id
}
priority {
id
}
}
}
"""
NOTE_DELETE = """
mutation DeleteNote($noteId: Int!) {
deleteNote(noteId: $noteId)
}
"""
REQUIREMENTS_DELETE = """
mutation DeleteRequirementInfo($ids: [Int!]!) {
deleteRequirementInfo(ids: $ids) {
ids
}
}
"""