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 } } """