diff --git a/MINT.postman_collection.json b/MINT.postman_collection.json index b1c755a149..1c74cdeb92 100644 --- a/MINT.postman_collection.json +++ b/MINT.postman_collection.json @@ -24,6 +24,7 @@ "opsEvalAndLearningID = responseData.opsEvalAndLearning.id", "modelLeadID = responseData.collaborators[0].id", "paymentsID = responseData.payments.id", + "dataExchangeApproachID = responseData.dataExchangeApproach.id", "firstOpNeed = responseData.operationalNeeds[0].id", "userID = responseData.createdByUserAccount.id", "", @@ -36,6 +37,7 @@ "pm.collectionVariables.set(\"opsEvalAndLearningID\", opsEvalAndLearningID);", "pm.collectionVariables.set(\"modelLeadID\", modelLeadID);", "pm.collectionVariables.set(\"paymentsID\", paymentsID);", + "pm.collectionVariables.set(\"dataExchangeApproachID\", dataExchangeApproachID)", "pm.collectionVariables.set(\"operationalNeedID\", firstOpNeed);", "pm.collectionVariables.set(\"userID\", userID);" ], @@ -50,7 +52,7 @@ "body": { "mode": "graphql", "graphql": { - "query": "mutation createModelPlan{\n \n createModelPlan(modelName:\"Excellent Model\" ){\n id\n modelName\n createdByUserAccount{\n givenName\n id\n }\n operationalNeeds {\n id\n modelPlanID\n name\n key\n nameOther\n needed\n section \n } \n basics{\n id \n }\n generalCharacteristics {\n id\n }\n participantsAndProviders {\n id\n }\n beneficiaries {\n id\n }\n opsEvalAndLearning {\n id\n }\n collaborators {\n id\n }\n payments{\n id\n }\n }\n}\n ", + "query": "mutation createModelPlan{\n \n createModelPlan(modelName:\"Excellent Model\" ){\n id\n modelName\n createdByUserAccount{\n givenName\n id\n }\n operationalNeeds {\n id\n modelPlanID\n name\n key\n nameOther\n needed\n section \n } \n basics{\n id \n }\n generalCharacteristics {\n id\n }\n participantsAndProviders {\n id\n }\n beneficiaries {\n id\n }\n opsEvalAndLearning {\n id\n }\n collaborators {\n id\n }\n payments{\n id\n }\n dataExchangeApproach{\n id\n }\n }\n}\n ", "variables": "" } }, @@ -411,6 +413,27 @@ }, "response": [] }, + { + "name": "Update Data Exchange Approach", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "graphql", + "graphql": { + "query": "mutation updatePlanDataExchangeApproach {\n updatePlanDataExchangeApproach(id: \"{{dataExchangeApproachID}}\", changes: {\n # Page 1\n dataToCollectFromParticipants: [CLINICAL_DATA, OTHER]\n dataToCollectFromParticipantsReportsDetails: \"Detailed reports information\"\n dataToCollectFromParticipantsOther: \"Additional data to collect from participants\"\n dataWillNotBeCollectedFromParticipants: false\n dataToCollectFromParticipantsNote: \"Notes regarding data collection from participants\"\n\n # Page 2\n dataToSendToParticipants: [DATA_FEEDBACK_DASHBOARD]\n dataToSendToParticipantsNote: \"Notes about data being sent to participants\"\n\n # Page 3\n doesNeedToMakeMultiPayerDataAvailable: YES\n anticipatedMultiPayerDataAvailabilityUseCase: MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION\n doesNeedToMakeMultiPayerDataAvailableNote: \"Notes on multi-payer data availability\"\n\n doesNeedToCollectAndAggregateMultiSourceData: YES\n multiSourceDataToCollect: [COMMERCIAL_CLAIMS]\n multiSourceDataToCollectOther: \"Additional multi-source data to collect\"\n doesNeedToCollectAndAggregateMultiSourceDataNote: \"Notes on multi-source data collection\"\n\n # Page 4\n willImplementNewDataExchangeMethods: YES\n newDataExchangeMethodsDescription: \"Description of new data exchange methods\"\n newDataExchangeMethodsNote: \"Notes on new data exchange methods\"\n\n # Meta\n isDataExchangeApproachComplete: false\n }) {\n # Meta Fields\n id\n modelPlanID\n isDataExchangeApproachComplete\n\n # Page 1\n dataToCollectFromParticipants\n dataToCollectFromParticipantsReportsDetails\n dataToCollectFromParticipantsOther\n dataWillNotBeCollectedFromParticipants\n dataToCollectFromParticipantsNote\n\n # Page 2\n dataToSendToParticipants\n dataToSendToParticipantsNote\n\n # Page 3\n doesNeedToMakeMultiPayerDataAvailable\n anticipatedMultiPayerDataAvailabilityUseCase\n doesNeedToMakeMultiPayerDataAvailableNote\n doesNeedToCollectAndAggregateMultiSourceData\n multiSourceDataToCollect\n multiSourceDataToCollectOther\n doesNeedToCollectAndAggregateMultiSourceDataNote\n\n # Page 4\n willImplementNewDataExchangeMethods\n newDataExchangeMethodsDescription\n newDataExchangeMethodsNote\n additionalDataExchangeConsiderationsDescription\n isDataExchangeApproachComplete\n\n # User Accounts\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n markedCompleteDts\n markedCompleteBy\n markedCompleteByUserAccount {\n id\n email\n }\n\n createdByUserAccount {\n commonName\n }\n modifiedByUserAccount {\n commonName\n }\n \n status\n }\n}\n", + "variables": "" + } + }, + "url": { + "raw": "{{url}}", + "host": [ + "{{url}}" + ] + } + }, + "response": [] + }, { "name": "Get Plan Payments (Deprecated)", "request": { @@ -650,7 +673,7 @@ "body": { "mode": "graphql", "graphql": { - "query": "mutation createDiscussionReply {\n createDiscussionReply (input: {\n discussionID: \"{{discussionID}}\"\n content: \"Let me look into it, ok? @Audrey Abrams!\"\n userRole: SOLUTION_ARCHITECT\n }) {\n id\n discussionID\n content{\n rawContent\n tags{\n id\n taggedField\n taggedContentTable\n taggedContentID\n entityUUID\n entityIntID\n entity{\n __typename\n ... on UserAccount{\n id\n commonName\n email\n }\n ... on PossibleOperationalSolution {\n name\n key\n }\n }\n }\n }\n isAssessment\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n createdByUserAccount \n {\n commonName\n } \n modifiedByUserAccount\n {\n commonName\n } \n }\n}", + "query": "mutation createDiscussionReply {\n createDiscussionReply (input: {\n discussionID: \"{{discussionID}}\"\n content: \"Let me look into it, ok? @Audrey Abrams!\"\n userRole: IT_ARCHITECT\n }) {\n id\n discussionID\n content{\n rawContent\n tags{\n id\n taggedField\n taggedContentTable\n taggedContentID\n entityUUID\n entityIntID\n entity{\n __typename\n ... on UserAccount{\n id\n commonName\n email\n }\n ... on PossibleOperationalSolution {\n name\n key\n }\n }\n }\n }\n isAssessment\n createdBy\n createdDts\n modifiedBy\n modifiedDts\n createdByUserAccount \n {\n commonName\n } \n modifiedByUserAccount\n {\n commonName\n } \n }\n}", "variables": "" } }, @@ -2656,137 +2679,6 @@ "response": [] } ] - }, - { - "name": "ECHIMP", - "item": [ - { - "name": "CR Echimp by id", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query echimpCR {\n echimpCR(id: \"FFS3550\") {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n sensitiveFlag\n implementationDate\n crSummary {\n rawContent\n }\n crStatus\n emergencyCrFlag\n relatedCrNumbers\n relatedCrTdlNumbers\n associatedModelUids\n }\n}", - "variables": "" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] - }, - { - "name": "All CR Echimp data", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query echimpCR {\n echimpCRs {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n sensitiveFlag\n implementationDate\n crSummary {\n rawContent\n }\n crStatus\n emergencyCrFlag\n relatedCrNumbers\n relatedCrTdlNumbers\n associatedModelUids\n }\n}", - "variables": "" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] - }, - { - "name": "All Echimp CRS And TDLS", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query echimpCRAndTDLS {\n echimpCRAndTDLS{\n __typename\n ... on EChimpCR {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n sensitiveFlag\n implementationDate\n crSummary {\n rawContent\n }\n crStatus\n emergencyCrFlag\n relatedCrNumbers\n relatedCrTdlNumbers\n associatedModelUids\n }\n ... on EChimpTDL {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n issuedDate\n status\n associatedModelUids\n }\n }\n}", - "variables": "" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] - }, - { - "name": "TDL Echimp by id", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query echimpTDL {\n echimpTDL(id: \"TDL240535\") {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n issuedDate\n status\n associatedModelUids\n }\n\n}", - "variables": "" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] - }, - { - "name": "ALL TDL Echimp data", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query echimpTDL {\n echimpTDLs {\n id\n versionNum\n initiator\n firstName\n lastName\n title\n issuedDate\n status\n associatedModelUids\n }\n\n}", - "variables": "" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get Model Plan with ECHIMP data", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "graphql", - "graphql": { - "query": "query modelPlan ($id: UUID!) {\n modelPlan (id: $id) {\n id\n modelName\n echimpCRs{\n title\n }\n echimpTDLs{\n title\n }\n\n }\n}", - "variables": "{\n \"id\": \"{{modelPlanID}}\"\n}" - } - }, - "url": { - "raw": "{{url}}", - "host": [ - "{{url}}" - ] - } - }, - "response": [] } ], "auth": { @@ -2842,7 +2734,7 @@ }, { "key": "modelPlanID", - "value": "082b49d3-b548-48cb-9119-77a281bc2a8c" + "value": "" }, { "key": "basicsID", @@ -2872,6 +2764,11 @@ "key": "paymentsID", "value": "" }, + { + "key": "dataExchangeApproachID", + "value": "", + "type": "string" + }, { "key": "operationalNeedID", "value": "" diff --git a/cmd/dbseed/main.go b/cmd/dbseed/main.go index 665f467639..074bdaa07a 100644 --- a/cmd/dbseed/main.go +++ b/cmd/dbseed/main.go @@ -441,10 +441,48 @@ func (s *Seeder) SeedData() { "cmmiGroups": []string{"PATIENT_CARE_MODELS_GROUP", "SEAMLESS_CARE_MODELS_GROUP"}, "completeICIP": "2020-05-13T20:47:50.12Z", "phasedIn": true, - "clearanceStarts": now.AddDate(0, 3, 0), + "clearanceStarts": time.Now().AddDate(0, 3, 0), "highLevelNote": "Some high level note", }, ) + + // Send a notification for Data Exchange Approach Completed + dataExchangeApproach := models.NewPlanDataExchangeApproach( + models.NewCoreTaskListSection( + planWithDocuments.CreatedBy, + planWithDocuments.ID, + ), + ) + + dataExchangeApproach.ID = uuid.MustParse("01020304-0506-0708-090a-0b0c0d0e0f10") + + // create an actor principal for testing notifications + + actorPrincipal := s.getTestPrincipalByUsername("MINT") + + // Use a test user to mark the data exchange approach as complete + testUser := s.getTestPrincipalByUsername("BTAL") + + err = resolvers.SendDataExchangeApproachCompletedNotification( + s.Config.Context, + s.Config.EmailService, + s.Config.EmailTemplateService, + s.Config.AddressBook, + actorPrincipal.UserAccount.ID, + s.Config.Store, + []*models.UserAccountAndNotificationPreferences{ + { + UserAccount: *testUser.UserAccount, + PreferenceFlags: models.DefaultUserNotificationPreferencesFlags(), + }, + }, + planWithDocuments, + dataExchangeApproach, + testUser.UserAccount.ID, + ) + if err != nil { + panic(fmt.Errorf("failed to send data exchange approach completed notification: %w", err)) + } } func (s *Seeder) SetDefaultUserViews() { diff --git a/cmd/test_email/main.go b/cmd/test_email/main.go index 0e599230a2..b438dda2d2 100644 --- a/cmd/test_email/main.go +++ b/cmd/test_email/main.go @@ -30,9 +30,11 @@ func main() { //DiscussionReply email sendDiscussionReplyOriginatorTestEmail(emailService, templateService, addressBook) + // Model plan emails sendModelPlanShareTest(emailService, templateService, addressBook) sendDateChangedEmailsTest(emailService, templateService, addressBook) sendCollaboratorAddedEmailTest(emailService, templateService, addressBook) + sendDataExchangeApproachCompletedEmailNotificationTest(emailService, templateService, addressBook) sendFeedbackEmail(emailService, templateService, addressBook) reportAProblemEmail(emailService, templateService, addressBook) @@ -395,6 +397,30 @@ func sendCollaboratorAddedEmailTest( noErr(err) } +func sendDataExchangeApproachCompletedEmailNotificationTest( + emailService oddmail.EmailService, + templateService email.TemplateService, + addressBook email.AddressBook, +) { + + modelPlan := models.NewModelPlan( + uuid.Nil, + "Retcon Plan", + ) + + err := resolvers.SendDataExchangeApproachCompletedEmailNotification( + emailService, + templateService, + addressBook, + modelPlan, + "marty.mcfly@delorean.88", + "Doc Brown", + true, + ) + + noErr(err) +} + func sendFeedbackEmail( emailService oddmail.EmailService, templateService email.TemplateService, diff --git a/migrations/V176__Add_Data_Exchange_Approach.sql b/migrations/V176__Add_Data_Exchange_Approach.sql new file mode 100644 index 0000000000..62bae9c90b --- /dev/null +++ b/migrations/V176__Add_Data_Exchange_Approach.sql @@ -0,0 +1,120 @@ +CREATE TYPE DEA_DATA_TO_COLLECT_FROM_PARTICIPANTS AS ENUM ( + 'BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS', + 'CLINICAL_DATA', + 'COLLECT_BIDS_AND_PLAN_INFORMATION', + 'COOPERATIVE_AGREEMENT_APPLICATION', + 'DECARBONIZATION_DATA', + 'EXPANDED_DEMOGRAPHICS_DATA', + 'FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES', + 'LEARNING_SYSTEM_METRICS', + 'PARTICIPANT_AGREEMENT', + 'PARTICIPANT_AGREEMENT_LETTER_OF_INTENT', + 'PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION', + 'PARTICIPANT_REPORTED_DATA', + 'PARTICIPANT_REPORTED_QUALITY_MEASURES', + 'PROVIDER_PARTICIPANT_ROSTER', + 'REPORTS_FROM_PARTICIPANTS', + 'SOCIAL_DETERMINANTS_OF_HEALTH', + 'SURVEY', + 'OTHER' +); + +CREATE TYPE DEA_DATA_TO_SEND_TO_PARTICIPANTS AS ENUM ( + 'DATA_FEEDBACK_DASHBOARD', + 'NON_CLAIMS_BASED_PAYMENTS', + 'OPERATIONS_DATA', + 'PARTIALLY_ADJUSTED_CLAIMS_DATA', + 'RAW_CLAIMS_DATA', + 'DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS' +); + +CREATE TYPE DEA_ANTICIPATED_MULTI_PAYER_DATA_AVAILABILITY_USE_CASE AS ENUM ( + 'MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION', + 'SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING', + 'FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS' +); + +CREATE TYPE DEA_MULTI_SOURCE_DATA_TO_COLLECT AS ENUM ( + 'COMMERCIAL_CLAIMS', + 'LAB_DATA', + 'MANUFACTURER', + 'MEDICAID_CLAIMS', + 'MEDICARE_CLAIMS', + 'PATIENT_REGISTRY', + 'OTHER' +); + +CREATE TYPE DEA_TASK_LIST_STATUS AS ENUM ( + 'READY', + 'IN_PROGRESS', + 'COMPLETED' + ); + +CREATE TABLE plan_data_exchange_approach ( + id UUID PRIMARY KEY NOT NULL, + model_plan_id UUID NOT NULL REFERENCES model_plan(id), + + -- page 2 + data_to_collect_from_participants DEA_DATA_TO_COLLECT_FROM_PARTICIPANTS[], + data_to_collect_from_participants_reports_details ZERO_STRING, + data_to_collect_from_participants_other ZERO_STRING, + data_will_not_be_collected_from_participants BOOLEAN NOT NULL DEFAULT FALSE, + data_to_collect_from_participants_note ZERO_STRING, + + data_to_send_to_participants DEA_DATA_TO_SEND_TO_PARTICIPANTS[], + data_to_send_to_participants_note ZERO_STRING, + + -- page 3 + does_need_to_make_multi_payer_data_available YES_NO_TYPE DEFAULT NULL, + anticipated_multi_payer_data_availability_use_case DEA_ANTICIPATED_MULTI_PAYER_DATA_AVAILABILITY_USE_CASE DEFAULT NULL, + does_need_to_make_multi_payer_data_available_note ZERO_STRING, + + does_need_to_collect_and_aggregate_multi_source_data YES_NO_TYPE DEFAULT NULL, + multi_source_data_to_collect DEA_MULTI_SOURCE_DATA_TO_COLLECT[], + multi_source_data_to_collect_other ZERO_STRING, + does_need_to_collect_and_aggregate_multi_source_data_note ZERO_STRING, + + -- page 4 + will_implement_new_data_exchange_methods YES_NO_TYPE DEFAULT NULL, + new_data_exchange_methods_description ZERO_STRING, + new_data_exchange_methods_note ZERO_STRING, + + additional_data_exchange_considerations_description ZERO_STRING, + + + -- META DATA + created_by UUID REFERENCES public.user_account (id) MATCH SIMPLE NOT NULL, + created_dts TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP, + modified_by UUID REFERENCES public.user_account (id) MATCH SIMPLE, + modified_dts TIMESTAMP WITH TIME ZONE, + marked_complete_by UUID REFERENCES public.user_account (id) MATCH SIMPLE, + marked_complete_dts TIMESTAMP WITH TIME ZONE, + + status DEA_TASK_LIST_STATUS NOT NULL DEFAULT 'READY' +); + +COMMENT ON TABLE plan_data_exchange_approach IS 'This table stores the data exchange approach for a model plan.'; +COMMENT ON COLUMN plan_data_exchange_approach.id IS 'Unique identifier for the data exchange approach.'; +COMMENT ON COLUMN plan_data_exchange_approach.model_plan_id IS 'The model plan identifier that this data exchange approach is associated with.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_collect_from_participants IS 'The data that will be collected from participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_collect_from_participants_reports_details IS 'The details of the data that will be collected from participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_collect_from_participants_other IS 'Other data that will be collected from participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_will_not_be_collected_from_participants IS 'Indicates if data will not be collected from participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_collect_from_participants_note IS 'Additional notes about the data that will be collected from participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_send_to_participants IS 'The data that will be sent to participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.data_to_send_to_participants_note IS 'Additional notes about the data that will be sent to participants.'; +COMMENT ON COLUMN plan_data_exchange_approach.does_need_to_make_multi_payer_data_available IS 'Indicates if multi-payer data needs to be made available.'; +COMMENT ON COLUMN plan_data_exchange_approach.anticipated_multi_payer_data_availability_use_case IS 'The anticipated use case for multi-payer data availability.'; +COMMENT ON COLUMN plan_data_exchange_approach.does_need_to_make_multi_payer_data_available_note IS 'Additional notes about the need to make multi-payer data available.'; +COMMENT ON COLUMN plan_data_exchange_approach.does_need_to_collect_and_aggregate_multi_source_data IS 'Indicates if multi-source data needs to be collected and aggregated.'; +COMMENT ON COLUMN plan_data_exchange_approach.multi_source_data_to_collect IS 'The multi-source data that needs to be collected and aggregated.'; +COMMENT ON COLUMN plan_data_exchange_approach.multi_source_data_to_collect_other IS 'Other multi-source data that needs to be collected and aggregated.'; +COMMENT ON COLUMN plan_data_exchange_approach.does_need_to_collect_and_aggregate_multi_source_data_note IS 'Additional notes about the need to collect and aggregate multi-source data.'; +COMMENT ON COLUMN plan_data_exchange_approach.will_implement_new_data_exchange_methods IS 'Indicates if new data exchange methods will be implemented.'; +COMMENT ON COLUMN plan_data_exchange_approach.new_data_exchange_methods_description IS 'The description of the new data exchange methods that will be implemented.'; +COMMENT ON COLUMN plan_data_exchange_approach.new_data_exchange_methods_note IS 'Additional notes about the new data exchange methods that will be implemented.'; +COMMENT ON COLUMN plan_data_exchange_approach.additional_data_exchange_considerations_description IS 'Additional considerations for data exchange.'; +COMMENT ON COLUMN plan_data_exchange_approach.created_by IS 'The user that created the data exchange approach.'; +COMMENT ON COLUMN plan_data_exchange_approach.created_dts IS 'The date and time that the data exchange approach was created.'; +COMMENT ON COLUMN plan_data_exchange_approach.modified_by IS 'The user that last modified the data exchange approach.'; +COMMENT ON COLUMN plan_data_exchange_approach.modified_dts IS 'The date and time that the data exchange approach was last modified.'; diff --git a/migrations/V177__Add_Data_Exchange_Approach_Completed_Notification.sql b/migrations/V177__Add_Data_Exchange_Approach_Completed_Notification.sql new file mode 100644 index 0000000000..c817fa51e5 --- /dev/null +++ b/migrations/V177__Add_Data_Exchange_Approach_Completed_Notification.sql @@ -0,0 +1,7 @@ +ALTER TYPE ACTIVITY_TYPE +ADD VALUE 'DATA_EXCHANGE_APPROACH_COMPLETED' AFTER 'NEW_MODEL_PLAN'; + +ALTER TABLE user_notification_preferences +ADD COLUMN data_exchange_approach_completed USER_NOTIFICATION_PREFERENCE_FLAG[] DEFAULT '{}'::USER_NOTIFICATION_PREFERENCE_FLAG[]; + +COMMENT ON COLUMN user_notification_preferences.data_exchange_approach_completed IS 'Notification preference for when a data exchange approach is completed'; diff --git a/pkg/email/data_exchange_approach_completed.go b/pkg/email/data_exchange_approach_completed.go new file mode 100644 index 0000000000..49e9bcf398 --- /dev/null +++ b/pkg/email/data_exchange_approach_completed.go @@ -0,0 +1,15 @@ +package email + +// DataExchangeApproachCompletedSubjectContent defines the parameters necessary for the corresponding email subject +type DataExchangeApproachCompletedSubjectContent struct { + ModelName string +} + +// DataExchangeApproachCompletedBodyContent defines the parameters necessary for the corresponding email body +type DataExchangeApproachCompletedBodyContent struct { + ClientAddress string + ModelName string + ModelID string + MarkedCompletedByUserCommonName string + ShowFooter bool +} diff --git a/pkg/email/template_service_impl.go b/pkg/email/template_service_impl.go index dd5b74e401..b741ed6d45 100644 --- a/pkg/email/template_service_impl.go +++ b/pkg/email/template_service_impl.go @@ -148,6 +148,15 @@ var modelPlanSuggestedPhaseSubjectTemplate string //go:embed templates/model_plan_suggested_phase_body.html var modelPlanSuggestedPhaseBodyTemplate string +// DataExchangeApproachCompletedTemplateName is the template name for the data exchange approach completed email +const DataExchangeApproachCompletedTemplateName string = "data_exchange_approach_completed" + +//go:embed templates/data_exchange_approach_completed_body.html +var dataExchangeApproachCompletedBodyTemplate string + +//go:embed templates/data_exchange_approach_completed_subject.html +var dataExchangeApproachCompletedSubjectTemplate string + // TemplateServiceImpl is an implementation-specific structure loading all resources necessary for server execution type TemplateServiceImpl struct { templateCache *emailtemplates.TemplateCache @@ -194,6 +203,7 @@ func (t *TemplateServiceImpl) Load() error { if err != nil { return err } + err = t.loadEmailTemplate(DiscussionReplyCreatedOriginatorTemplateName, discussionReplyCreatedOriginatorSubjectTemplate, discussionReplyCreatedOriginatorBodyTemplate) if err != nil { return err @@ -239,6 +249,11 @@ func (t *TemplateServiceImpl) Load() error { return err } + err = t.loadEmailTemplate(DataExchangeApproachCompletedTemplateName, dataExchangeApproachCompletedSubjectTemplate, dataExchangeApproachCompletedBodyTemplate) + if err != nil { + return err + } + return nil } diff --git a/pkg/email/templates/data_exchange_approach_completed_body.html b/pkg/email/templates/data_exchange_approach_completed_body.html new file mode 100644 index 0000000000..31070e32f7 --- /dev/null +++ b/pkg/email/templates/data_exchange_approach_completed_body.html @@ -0,0 +1,19 @@ +{{template "shared_header.html" "Data exchange approach complete:"}} + +

{{.ModelName}}

+

Marked complete by {{.MarkedCompletedByUserCommonName}}

+
+

+ View data exchange approach +

+
+ +{{if .ShowFooter}} +
+
+

+ You are currently subscribed to notifications when data exchange approaches are completed. If you no longer wish to receive these email notifications, please unsubscribe or change your notification settings. +

+{{end}} + +{{template "shared_footer.html"}} \ No newline at end of file diff --git a/pkg/email/templates/data_exchange_approach_completed_subject.html b/pkg/email/templates/data_exchange_approach_completed_subject.html new file mode 100644 index 0000000000..965e963b9c --- /dev/null +++ b/pkg/email/templates/data_exchange_approach_completed_subject.html @@ -0,0 +1 @@ +Data exchange approach complete: {{.ModelName}} \ No newline at end of file diff --git a/pkg/graph/generated/generated.go b/pkg/graph/generated/generated.go index dcd1fb21d7..e949c3b688 100644 --- a/pkg/graph/generated/generated.go +++ b/pkg/graph/generated/generated.go @@ -62,6 +62,8 @@ type ResolverRoot interface { PlanBasics() PlanBasicsResolver PlanBeneficiaries() PlanBeneficiariesResolver PlanCollaborator() PlanCollaboratorResolver + PlanDataExchangeApproach() PlanDataExchangeApproachResolver + PlanDataExchangeApproachCompletedActivityMeta() PlanDataExchangeApproachCompletedActivityMetaResolver PlanDiscussion() PlanDiscussionResolver PlanDocument() PlanDocumentResolver PlanGeneralCharacteristics() PlanGeneralCharacteristicsResolver @@ -347,6 +349,7 @@ type ComplexityRoot struct { CreatedByUserAccount func(childComplexity int) int CreatedDts func(childComplexity int) int Crs func(childComplexity int) int + DataExchangeApproach func(childComplexity int) int Discussions func(childComplexity int) int Documents func(childComplexity int) int EchimpCRs func(childComplexity int) int @@ -438,6 +441,7 @@ type ComplexityRoot struct { UpdatePlanBeneficiaries func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int UpdatePlanCollaborator func(childComplexity int, id uuid.UUID, newRoles []models.TeamRole) int UpdatePlanCr func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int + UpdatePlanDataExchangeApproach func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int UpdatePlanGeneralCharacteristics func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int UpdatePlanOpsEvalAndLearning func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int UpdatePlanParticipantsAndProviders func(childComplexity int, id uuid.UUID, changes map[string]interface{}) int @@ -764,6 +768,50 @@ type ComplexityRoot struct { Username func(childComplexity int) int } + PlanDataExchangeApproach struct { + AdditionalDataExchangeConsiderationsDescription func(childComplexity int) int + AnticipatedMultiPayerDataAvailabilityUseCase func(childComplexity int) int + CreatedBy func(childComplexity int) int + CreatedByUserAccount func(childComplexity int) int + CreatedDts func(childComplexity int) int + DataToCollectFromParticipants func(childComplexity int) int + DataToCollectFromParticipantsNote func(childComplexity int) int + DataToCollectFromParticipantsOther func(childComplexity int) int + DataToCollectFromParticipantsReportsDetails func(childComplexity int) int + DataToSendToParticipants func(childComplexity int) int + DataToSendToParticipantsNote func(childComplexity int) int + DataWillNotBeCollectedFromParticipants func(childComplexity int) int + DoesNeedToCollectAndAggregateMultiSourceData func(childComplexity int) int + DoesNeedToCollectAndAggregateMultiSourceDataNote func(childComplexity int) int + DoesNeedToMakeMultiPayerDataAvailable func(childComplexity int) int + DoesNeedToMakeMultiPayerDataAvailableNote func(childComplexity int) int + ID func(childComplexity int) int + IsDataExchangeApproachComplete func(childComplexity int) int + MarkedCompleteBy func(childComplexity int) int + MarkedCompleteByUserAccount func(childComplexity int) int + MarkedCompleteDts func(childComplexity int) int + ModelPlanID func(childComplexity int) int + ModifiedBy func(childComplexity int) int + ModifiedByUserAccount func(childComplexity int) int + ModifiedDts func(childComplexity int) int + MultiSourceDataToCollect func(childComplexity int) int + MultiSourceDataToCollectOther func(childComplexity int) int + NewDataExchangeMethodsDescription func(childComplexity int) int + NewDataExchangeMethodsNote func(childComplexity int) int + Status func(childComplexity int) int + WillImplementNewDataExchangeMethods func(childComplexity int) int + } + + PlanDataExchangeApproachCompletedActivityMeta struct { + DataExchangeApproach func(childComplexity int) int + DataExchangeApproachID func(childComplexity int) int + MarkedCompleteBy func(childComplexity int) int + MarkedCompleteByUserAccount func(childComplexity int) int + ModelPlan func(childComplexity int) int + Type func(childComplexity int) int + Version func(childComplexity int) int + } + PlanDiscussion struct { Content func(childComplexity int) int CreatedBy func(childComplexity int) int @@ -2028,23 +2076,24 @@ type ComplexityRoot struct { } UserNotificationPreferences struct { - AddedAsCollaborator func(childComplexity int) int - CreatedBy func(childComplexity int) int - CreatedByUserAccount func(childComplexity int) int - CreatedDts func(childComplexity int) int - DailyDigestComplete func(childComplexity int) int - DatesChanged func(childComplexity int) int - DatesChangedNotificationType func(childComplexity int) int - ID func(childComplexity int) int - ModelPlanShared func(childComplexity int) int - ModifiedBy func(childComplexity int) int - ModifiedByUserAccount func(childComplexity int) int - ModifiedDts func(childComplexity int) int - NewDiscussionReply func(childComplexity int) int - NewModelPlan func(childComplexity int) int - TaggedInDiscussion func(childComplexity int) int - TaggedInDiscussionReply func(childComplexity int) int - UserID func(childComplexity int) int + AddedAsCollaborator func(childComplexity int) int + CreatedBy func(childComplexity int) int + CreatedByUserAccount func(childComplexity int) int + CreatedDts func(childComplexity int) int + DailyDigestComplete func(childComplexity int) int + DataExchangeApproachCompleted func(childComplexity int) int + DatesChanged func(childComplexity int) int + DatesChangedNotificationType func(childComplexity int) int + ID func(childComplexity int) int + ModelPlanShared func(childComplexity int) int + ModifiedBy func(childComplexity int) int + ModifiedByUserAccount func(childComplexity int) int + ModifiedDts func(childComplexity int) int + NewDiscussionReply func(childComplexity int) int + NewModelPlan func(childComplexity int) int + TaggedInDiscussion func(childComplexity int) int + TaggedInDiscussionReply func(childComplexity int) int + UserID func(childComplexity int) int } UserNotifications struct { @@ -2113,6 +2162,7 @@ type ModelPlanResolver interface { Documents(ctx context.Context, obj *models.ModelPlan) ([]*models.PlanDocument, error) Discussions(ctx context.Context, obj *models.ModelPlan) ([]*models.PlanDiscussion, error) Payments(ctx context.Context, obj *models.ModelPlan) (*models.PlanPayments, error) + DataExchangeApproach(ctx context.Context, obj *models.ModelPlan) (*models.PlanDataExchangeApproach, error) TaskListStatus(ctx context.Context, obj *models.ModelPlan) (models.TaskStatus, error) SuggestedPhase(ctx context.Context, obj *models.ModelPlan) (*model.PhaseSuggestion, error) @@ -2160,6 +2210,7 @@ type MutationResolver interface { CreatePlanCr(ctx context.Context, input model.PlanCRCreateInput) (*models.PlanCR, error) UpdatePlanCr(ctx context.Context, id uuid.UUID, changes map[string]interface{}) (*models.PlanCR, error) DeletePlanCr(ctx context.Context, id uuid.UUID) (*models.PlanCR, error) + UpdatePlanDataExchangeApproach(ctx context.Context, id uuid.UUID, changes map[string]interface{}) (*models.PlanDataExchangeApproach, error) CreatePlanDiscussion(ctx context.Context, input model.PlanDiscussionCreateInput) (*models.PlanDiscussion, error) UploadNewPlanDocument(ctx context.Context, input model.PlanDocumentInput) (*models.PlanDocument, error) LinkNewPlanDocument(ctx context.Context, input model.PlanDocumentLinkInput) (*models.PlanDocument, error) @@ -2222,6 +2273,19 @@ type PlanBeneficiariesResolver interface { type PlanCollaboratorResolver interface { TeamRoles(ctx context.Context, obj *models.PlanCollaborator) ([]models.TeamRole, error) } +type PlanDataExchangeApproachResolver interface { + DataToCollectFromParticipants(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.DataToCollectFromParticipants, error) + + DataToSendToParticipants(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.DataToSendToParticipants, error) + + MultiSourceDataToCollect(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.MultiSourceDataToCollect, error) +} +type PlanDataExchangeApproachCompletedActivityMetaResolver interface { + DataExchangeApproach(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*models.PlanDataExchangeApproach, error) + ModelPlan(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*models.ModelPlan, error) + + MarkedCompleteByUserAccount(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*authentication.UserAccount, error) +} type PlanDiscussionResolver interface { Content(ctx context.Context, obj *models.PlanDiscussion) (*models.TaggedContent, error) @@ -2420,6 +2484,8 @@ type UserNotificationPreferencesResolver interface { ModelPlanShared(ctx context.Context, obj *models.UserNotificationPreferences) ([]models.UserNotificationPreferenceFlag, error) NewModelPlan(ctx context.Context, obj *models.UserNotificationPreferences) ([]models.UserNotificationPreferenceFlag, error) DatesChanged(ctx context.Context, obj *models.UserNotificationPreferences) ([]models.UserNotificationPreferenceFlag, error) + + DataExchangeApproachCompleted(ctx context.Context, obj *models.UserNotificationPreferences) ([]models.UserNotificationPreferenceFlag, error) } type UserViewCustomizationResolver interface { ViewCustomization(ctx context.Context, obj *models.UserViewCustomization) ([]models.ViewCustomizationType, error) @@ -3659,6 +3725,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.ModelPlan.Crs(childComplexity), true + case "ModelPlan.dataExchangeApproach": + if e.complexity.ModelPlan.DataExchangeApproach == nil { + break + } + + return e.complexity.ModelPlan.DataExchangeApproach(childComplexity), true + case "ModelPlan.discussions": if e.complexity.ModelPlan.Discussions == nil { break @@ -4397,6 +4470,18 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Mutation.UpdatePlanCr(childComplexity, args["id"].(uuid.UUID), args["changes"].(map[string]interface{})), true + case "Mutation.updatePlanDataExchangeApproach": + if e.complexity.Mutation.UpdatePlanDataExchangeApproach == nil { + break + } + + args, err := ec.field_Mutation_updatePlanDataExchangeApproach_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdatePlanDataExchangeApproach(childComplexity, args["id"].(uuid.UUID), args["changes"].(map[string]interface{})), true + case "Mutation.updatePlanGeneralCharacteristics": if e.complexity.Mutation.UpdatePlanGeneralCharacteristics == nil { break @@ -6332,6 +6417,272 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.PlanCollaboratorTranslation.Username(childComplexity), true + case "PlanDataExchangeApproach.additionalDataExchangeConsiderationsDescription": + if e.complexity.PlanDataExchangeApproach.AdditionalDataExchangeConsiderationsDescription == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.AdditionalDataExchangeConsiderationsDescription(childComplexity), true + + case "PlanDataExchangeApproach.anticipatedMultiPayerDataAvailabilityUseCase": + if e.complexity.PlanDataExchangeApproach.AnticipatedMultiPayerDataAvailabilityUseCase == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.AnticipatedMultiPayerDataAvailabilityUseCase(childComplexity), true + + case "PlanDataExchangeApproach.createdBy": + if e.complexity.PlanDataExchangeApproach.CreatedBy == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.CreatedBy(childComplexity), true + + case "PlanDataExchangeApproach.createdByUserAccount": + if e.complexity.PlanDataExchangeApproach.CreatedByUserAccount == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.CreatedByUserAccount(childComplexity), true + + case "PlanDataExchangeApproach.createdDts": + if e.complexity.PlanDataExchangeApproach.CreatedDts == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.CreatedDts(childComplexity), true + + case "PlanDataExchangeApproach.dataToCollectFromParticipants": + if e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipants == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipants(childComplexity), true + + case "PlanDataExchangeApproach.dataToCollectFromParticipantsNote": + if e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsNote == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsNote(childComplexity), true + + case "PlanDataExchangeApproach.dataToCollectFromParticipantsOther": + if e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsOther == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsOther(childComplexity), true + + case "PlanDataExchangeApproach.dataToCollectFromParticipantsReportsDetails": + if e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsReportsDetails == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToCollectFromParticipantsReportsDetails(childComplexity), true + + case "PlanDataExchangeApproach.dataToSendToParticipants": + if e.complexity.PlanDataExchangeApproach.DataToSendToParticipants == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToSendToParticipants(childComplexity), true + + case "PlanDataExchangeApproach.dataToSendToParticipantsNote": + if e.complexity.PlanDataExchangeApproach.DataToSendToParticipantsNote == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataToSendToParticipantsNote(childComplexity), true + + case "PlanDataExchangeApproach.dataWillNotBeCollectedFromParticipants": + if e.complexity.PlanDataExchangeApproach.DataWillNotBeCollectedFromParticipants == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DataWillNotBeCollectedFromParticipants(childComplexity), true + + case "PlanDataExchangeApproach.doesNeedToCollectAndAggregateMultiSourceData": + if e.complexity.PlanDataExchangeApproach.DoesNeedToCollectAndAggregateMultiSourceData == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DoesNeedToCollectAndAggregateMultiSourceData(childComplexity), true + + case "PlanDataExchangeApproach.doesNeedToCollectAndAggregateMultiSourceDataNote": + if e.complexity.PlanDataExchangeApproach.DoesNeedToCollectAndAggregateMultiSourceDataNote == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DoesNeedToCollectAndAggregateMultiSourceDataNote(childComplexity), true + + case "PlanDataExchangeApproach.doesNeedToMakeMultiPayerDataAvailable": + if e.complexity.PlanDataExchangeApproach.DoesNeedToMakeMultiPayerDataAvailable == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DoesNeedToMakeMultiPayerDataAvailable(childComplexity), true + + case "PlanDataExchangeApproach.doesNeedToMakeMultiPayerDataAvailableNote": + if e.complexity.PlanDataExchangeApproach.DoesNeedToMakeMultiPayerDataAvailableNote == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.DoesNeedToMakeMultiPayerDataAvailableNote(childComplexity), true + + case "PlanDataExchangeApproach.id": + if e.complexity.PlanDataExchangeApproach.ID == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.ID(childComplexity), true + + case "PlanDataExchangeApproach.isDataExchangeApproachComplete": + if e.complexity.PlanDataExchangeApproach.IsDataExchangeApproachComplete == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.IsDataExchangeApproachComplete(childComplexity), true + + case "PlanDataExchangeApproach.markedCompleteBy": + if e.complexity.PlanDataExchangeApproach.MarkedCompleteBy == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.MarkedCompleteBy(childComplexity), true + + case "PlanDataExchangeApproach.markedCompleteByUserAccount": + if e.complexity.PlanDataExchangeApproach.MarkedCompleteByUserAccount == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.MarkedCompleteByUserAccount(childComplexity), true + + case "PlanDataExchangeApproach.markedCompleteDts": + if e.complexity.PlanDataExchangeApproach.MarkedCompleteDts == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.MarkedCompleteDts(childComplexity), true + + case "PlanDataExchangeApproach.modelPlanID": + if e.complexity.PlanDataExchangeApproach.ModelPlanID == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.ModelPlanID(childComplexity), true + + case "PlanDataExchangeApproach.modifiedBy": + if e.complexity.PlanDataExchangeApproach.ModifiedBy == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.ModifiedBy(childComplexity), true + + case "PlanDataExchangeApproach.modifiedByUserAccount": + if e.complexity.PlanDataExchangeApproach.ModifiedByUserAccount == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.ModifiedByUserAccount(childComplexity), true + + case "PlanDataExchangeApproach.modifiedDts": + if e.complexity.PlanDataExchangeApproach.ModifiedDts == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.ModifiedDts(childComplexity), true + + case "PlanDataExchangeApproach.multiSourceDataToCollect": + if e.complexity.PlanDataExchangeApproach.MultiSourceDataToCollect == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.MultiSourceDataToCollect(childComplexity), true + + case "PlanDataExchangeApproach.multiSourceDataToCollectOther": + if e.complexity.PlanDataExchangeApproach.MultiSourceDataToCollectOther == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.MultiSourceDataToCollectOther(childComplexity), true + + case "PlanDataExchangeApproach.newDataExchangeMethodsDescription": + if e.complexity.PlanDataExchangeApproach.NewDataExchangeMethodsDescription == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.NewDataExchangeMethodsDescription(childComplexity), true + + case "PlanDataExchangeApproach.newDataExchangeMethodsNote": + if e.complexity.PlanDataExchangeApproach.NewDataExchangeMethodsNote == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.NewDataExchangeMethodsNote(childComplexity), true + + case "PlanDataExchangeApproach.status": + if e.complexity.PlanDataExchangeApproach.Status == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.Status(childComplexity), true + + case "PlanDataExchangeApproach.willImplementNewDataExchangeMethods": + if e.complexity.PlanDataExchangeApproach.WillImplementNewDataExchangeMethods == nil { + break + } + + return e.complexity.PlanDataExchangeApproach.WillImplementNewDataExchangeMethods(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.dataExchangeApproach": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.DataExchangeApproach == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.DataExchangeApproach(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.dataExchangeApproachID": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.DataExchangeApproachID == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.DataExchangeApproachID(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.markedCompleteBy": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.MarkedCompleteBy == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.MarkedCompleteBy(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.markedCompleteByUserAccount": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.MarkedCompleteByUserAccount == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.MarkedCompleteByUserAccount(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.modelPlan": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.ModelPlan == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.ModelPlan(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.type": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.Type == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.Type(childComplexity), true + + case "PlanDataExchangeApproachCompletedActivityMeta.version": + if e.complexity.PlanDataExchangeApproachCompletedActivityMeta.Version == nil { + break + } + + return e.complexity.PlanDataExchangeApproachCompletedActivityMeta.Version(childComplexity), true + case "PlanDiscussion.content": if e.complexity.PlanDiscussion.Content == nil { break @@ -14331,6 +14682,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.UserNotificationPreferences.DailyDigestComplete(childComplexity), true + case "UserNotificationPreferences.dataExchangeApproachCompleted": + if e.complexity.UserNotificationPreferences.DataExchangeApproachCompleted == nil { + break + } + + return e.complexity.UserNotificationPreferences.DataExchangeApproachCompleted(childComplexity), true + case "UserNotificationPreferences.datesChanged": if e.complexity.UserNotificationPreferences.DatesChanged == nil { break @@ -14667,6 +15025,7 @@ enum ActivityType { MODEL_PLAN_SHARED NEW_MODEL_PLAN DATES_CHANGED + DATA_EXCHANGE_APPROACH_COMPLETED } enum DateChangeFieldType { @@ -14681,7 +15040,7 @@ enum DateChangeFieldType { """ ActivityMetaData is a type that represents all the data that can be captured in an Activity """ -union ActivityMetaData = TaggedInPlanDiscussionActivityMeta | TaggedInDiscussionReplyActivityMeta | DailyDigestCompleteActivityMeta | NewDiscussionRepliedActivityMeta | AddedAsCollaboratorMeta | ModelPlanSharedActivityMeta | NewModelPlanActivityMeta | DatesChangedActivityMeta +union ActivityMetaData = TaggedInPlanDiscussionActivityMeta | TaggedInDiscussionReplyActivityMeta | DailyDigestCompleteActivityMeta | NewDiscussionRepliedActivityMeta | AddedAsCollaboratorMeta | ModelPlanSharedActivityMeta | NewModelPlanActivityMeta | DatesChangedActivityMeta | PlanDataExchangeApproachCompletedActivityMeta type AddedAsCollaboratorMeta { version: Int! @@ -14770,6 +15129,16 @@ type DatesChangedActivityMeta { dateChanges: [DateChange!]! } +type PlanDataExchangeApproachCompletedActivityMeta { + version: Int! + type: ActivityType! + dataExchangeApproachID: UUID! + dataExchangeApproach: PlanDataExchangeApproach! + modelPlan: ModelPlan! + markedCompleteBy: UUID! + markedCompleteByUserAccount: UserAccount! +} + """ Activity represents an event that happened in the application that could result in a notification. """ @@ -15183,6 +15552,7 @@ type ModelPlan { documents: [PlanDocument!]! discussions: [PlanDiscussion!]! payments: PlanPayments! + dataExchangeApproach: PlanDataExchangeApproach! status: ModelStatus! taskListStatus: TaskStatus! suggestedPhase: PhaseSuggestion @@ -15958,6 +16328,132 @@ type PlanCRTranslation { note: TranslationField! @goTag(key: "db", value: "note") } `, BuiltIn: false}, + {Name: "../schema/types/plan_data_exchange_approach.graphql", Input: `enum DataToCollectFromParticipants { + BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS + CLINICAL_DATA + COLLECT_BIDS_AND_PLAN_INFORMATION + COOPERATIVE_AGREEMENT_APPLICATION + DECARBONIZATION_DATA + EXPANDED_DEMOGRAPHICS_DATA + FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES + LEARNING_SYSTEM_METRICS + PARTICIPANT_AGREEMENT + PARTICIPANT_AGREEMENT_LETTER_OF_INTENT + PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION + PARTICIPANT_REPORTED_DATA + PARTICIPANT_REPORTED_QUALITY_MEASURES + PROVIDER_PARTICIPANT_ROSTER + REPORTS_FROM_PARTICIPANTS + SOCIAL_DETERMINANTS_OF_HEALTH + SURVEY + OTHER +} + +enum DataToSendToParticipants { + DATA_FEEDBACK_DASHBOARD + NON_CLAIMS_BASED_PAYMENTS + OPERATIONS_DATA + PARTIALLY_ADJUSTED_CLAIMS_DATA + RAW_CLAIMS_DATA + DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS +} + +enum AnticipatedMultiPayerDataAvailabilityUseCase { + MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION + SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING + FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS +} + +enum MultiSourceDataToCollect { + COMMERCIAL_CLAIMS + LAB_DATA + MANUFACTURER + MEDICAID_CLAIMS + MEDICARE_CLAIMS + PATIENT_REGISTRY + OTHER +} + +enum DataExchangeApproachStatus { + READY + IN_PROGRESS + COMPLETE +} + +type PlanDataExchangeApproach { + id: UUID! + modelPlanID: UUID! + + dataToCollectFromParticipants: [DataToCollectFromParticipants!]! + dataToCollectFromParticipantsReportsDetails: String + dataToCollectFromParticipantsOther: String + dataWillNotBeCollectedFromParticipants: Boolean + dataToCollectFromParticipantsNote: String + + dataToSendToParticipants: [DataToSendToParticipants!]! + dataToSendToParticipantsNote: String + + doesNeedToMakeMultiPayerDataAvailable: YesNoType + anticipatedMultiPayerDataAvailabilityUseCase: AnticipatedMultiPayerDataAvailabilityUseCase + doesNeedToMakeMultiPayerDataAvailableNote: String + + doesNeedToCollectAndAggregateMultiSourceData: YesNoType + multiSourceDataToCollect: [MultiSourceDataToCollect!]! + multiSourceDataToCollectOther: String + doesNeedToCollectAndAggregateMultiSourceDataNote: String + + willImplementNewDataExchangeMethods: YesNoType + newDataExchangeMethodsDescription: String + newDataExchangeMethodsNote: String + + additionalDataExchangeConsiderationsDescription: String + + # Metadata fields + createdBy: UUID! + createdByUserAccount: UserAccount! + createdDts: Time! + modifiedBy: UUID + modifiedByUserAccount: UserAccount + modifiedDts: Time + isDataExchangeApproachComplete: Boolean! + markedCompleteBy: UUID + markedCompleteByUserAccount: UserAccount + markedCompleteDts: Time + + status: DataExchangeApproachStatus! +} + +input PlanDataExchangeApproachChanges @goModel(model: "map[string]interface{}") { + dataToCollectFromParticipants: [DataToCollectFromParticipants!] + dataToCollectFromParticipantsReportsDetails: String + dataToCollectFromParticipantsOther: String + dataWillNotBeCollectedFromParticipants: Boolean + dataToCollectFromParticipantsNote: String + + dataToSendToParticipants: [DataToSendToParticipants!]! + dataToSendToParticipantsNote: String + + doesNeedToMakeMultiPayerDataAvailable: YesNoType + anticipatedMultiPayerDataAvailabilityUseCase: AnticipatedMultiPayerDataAvailabilityUseCase + doesNeedToMakeMultiPayerDataAvailableNote: String + + doesNeedToCollectAndAggregateMultiSourceData: YesNoType + multiSourceDataToCollect: [MultiSourceDataToCollect!] + multiSourceDataToCollectOther: String + doesNeedToCollectAndAggregateMultiSourceDataNote: String + + willImplementNewDataExchangeMethods: YesNoType + newDataExchangeMethodsDescription: String + newDataExchangeMethodsNote: String + + additionalDataExchangeConsiderationsDescription: String + + isDataExchangeApproachComplete: Boolean +} + +extend type Mutation { + updatePlanDataExchangeApproach(id: UUID!, changes: PlanDataExchangeApproachChanges!): PlanDataExchangeApproach! +}`, BuiltIn: false}, {Name: "../schema/types/plan_discussion.graphql", Input: `""" PlanDiscussion represents plan discussion """ @@ -19074,6 +19570,8 @@ type UserNotificationPreferences { datesChanged: [UserNotificationPreferenceFlag!]! datesChangedNotificationType: DatesChangedNotificationType + dataExchangeApproachCompleted: [UserNotificationPreferenceFlag!]! + createdBy: UUID! createdByUserAccount: UserAccount! createdDts: Time! @@ -19104,6 +19602,8 @@ input UserNotificationPreferencesChanges @goModel(model: "map[string]interface{} datesChanged: [UserNotificationPreferenceFlag!] datesChangedNotificationType: DatesChangedNotificationType + + dataExchangeApproachCompleted: [UserNotificationPreferenceFlag!] } extend type Mutation { @@ -19949,6 +20449,30 @@ func (ec *executionContext) field_Mutation_updatePlanCollaborator_args(ctx conte return args, nil } +func (ec *executionContext) field_Mutation_updatePlanDataExchangeApproach_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 uuid.UUID + if tmp, ok := rawArgs["id"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + arg0, err = ec.unmarshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, tmp) + if err != nil { + return nil, err + } + } + args["id"] = arg0 + var arg1 map[string]interface{} + if tmp, ok := rawArgs["changes"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changes")) + arg1, err = ec.unmarshalNPlanDataExchangeApproachChanges2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["changes"] = arg1 + return args, nil +} + func (ec *executionContext) field_Mutation_updatePlanGeneralCharacteristics_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} @@ -21342,6 +21866,8 @@ func (ec *executionContext) fieldContext_AddedAsCollaboratorMeta_modelPlan(ctx c return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -23480,6 +24006,8 @@ func (ec *executionContext) fieldContext_CurrentUser_notificationPreferences(ctx return ec.fieldContext_UserNotificationPreferences_datesChanged(ctx, field) case "datesChangedNotificationType": return ec.fieldContext_UserNotificationPreferences_datesChangedNotificationType(ctx, field) + case "dataExchangeApproachCompleted": + return ec.fieldContext_UserNotificationPreferences_dataExchangeApproachCompleted(ctx, field) case "createdBy": return ec.fieldContext_UserNotificationPreferences_createdBy(ctx, field) case "createdByUserAccount": @@ -24374,6 +24902,8 @@ func (ec *executionContext) fieldContext_DatesChangedActivityMeta_modelPlan(ctx return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -30390,6 +30920,114 @@ func (ec *executionContext) fieldContext_ModelPlan_payments(ctx context.Context, return fc, nil } +func (ec *executionContext) _ModelPlan_dataExchangeApproach(ctx context.Context, field graphql.CollectedField, obj *models.ModelPlan) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.ModelPlan().DataExchangeApproach(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*models.PlanDataExchangeApproach) + fc.Result = res + return ec.marshalNPlanDataExchangeApproach2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDataExchangeApproach(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModelPlan_dataExchangeApproach(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModelPlan", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_PlanDataExchangeApproach_id(ctx, field) + case "modelPlanID": + return ec.fieldContext_PlanDataExchangeApproach_modelPlanID(ctx, field) + case "dataToCollectFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipants(ctx, field) + case "dataToCollectFromParticipantsReportsDetails": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx, field) + case "dataToCollectFromParticipantsOther": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx, field) + case "dataWillNotBeCollectedFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx, field) + case "dataToCollectFromParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx, field) + case "dataToSendToParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipants(ctx, field) + case "dataToSendToParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailable": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx, field) + case "anticipatedMultiPayerDataAvailabilityUseCase": + return ec.fieldContext_PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailableNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceData": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx, field) + case "multiSourceDataToCollect": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollect(ctx, field) + case "multiSourceDataToCollectOther": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceDataNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx, field) + case "willImplementNewDataExchangeMethods": + return ec.fieldContext_PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx, field) + case "newDataExchangeMethodsDescription": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx, field) + case "newDataExchangeMethodsNote": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx, field) + case "additionalDataExchangeConsiderationsDescription": + return ec.fieldContext_PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx, field) + case "createdBy": + return ec.fieldContext_PlanDataExchangeApproach_createdBy(ctx, field) + case "createdByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_createdByUserAccount(ctx, field) + case "createdDts": + return ec.fieldContext_PlanDataExchangeApproach_createdDts(ctx, field) + case "modifiedBy": + return ec.fieldContext_PlanDataExchangeApproach_modifiedBy(ctx, field) + case "modifiedByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_modifiedByUserAccount(ctx, field) + case "modifiedDts": + return ec.fieldContext_PlanDataExchangeApproach_modifiedDts(ctx, field) + case "isDataExchangeApproachComplete": + return ec.fieldContext_PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx, field) + case "markedCompleteBy": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteBy(ctx, field) + case "markedCompleteByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteByUserAccount(ctx, field) + case "markedCompleteDts": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteDts(ctx, field) + case "status": + return ec.fieldContext_PlanDataExchangeApproach_status(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type PlanDataExchangeApproach", field.Name) + }, + } + return fc, nil +} + func (ec *executionContext) _ModelPlan_status(ctx context.Context, field graphql.CollectedField, obj *models.ModelPlan) (ret graphql.Marshaler) { fc, err := ec.fieldContext_ModelPlan_status(ctx, field) if err != nil { @@ -31526,6 +32164,8 @@ func (ec *executionContext) fieldContext_ModelPlanAndPossibleOperationalSolution return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -31774,6 +32414,8 @@ func (ec *executionContext) fieldContext_ModelPlanSharedActivityMeta_modelPlan(c return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -32637,6 +33279,8 @@ func (ec *executionContext) fieldContext_Mutation_createModelPlan(ctx context.Co return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -32788,6 +33432,8 @@ func (ec *executionContext) fieldContext_Mutation_updateModelPlan(ctx context.Co return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -34709,6 +35355,125 @@ func (ec *executionContext) fieldContext_Mutation_deletePlanCR(ctx context.Conte return fc, nil } +func (ec *executionContext) _Mutation_updatePlanDataExchangeApproach(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updatePlanDataExchangeApproach(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdatePlanDataExchangeApproach(rctx, fc.Args["id"].(uuid.UUID), fc.Args["changes"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*models.PlanDataExchangeApproach) + fc.Result = res + return ec.marshalNPlanDataExchangeApproach2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDataExchangeApproach(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updatePlanDataExchangeApproach(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_PlanDataExchangeApproach_id(ctx, field) + case "modelPlanID": + return ec.fieldContext_PlanDataExchangeApproach_modelPlanID(ctx, field) + case "dataToCollectFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipants(ctx, field) + case "dataToCollectFromParticipantsReportsDetails": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx, field) + case "dataToCollectFromParticipantsOther": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx, field) + case "dataWillNotBeCollectedFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx, field) + case "dataToCollectFromParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx, field) + case "dataToSendToParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipants(ctx, field) + case "dataToSendToParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailable": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx, field) + case "anticipatedMultiPayerDataAvailabilityUseCase": + return ec.fieldContext_PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailableNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceData": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx, field) + case "multiSourceDataToCollect": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollect(ctx, field) + case "multiSourceDataToCollectOther": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceDataNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx, field) + case "willImplementNewDataExchangeMethods": + return ec.fieldContext_PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx, field) + case "newDataExchangeMethodsDescription": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx, field) + case "newDataExchangeMethodsNote": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx, field) + case "additionalDataExchangeConsiderationsDescription": + return ec.fieldContext_PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx, field) + case "createdBy": + return ec.fieldContext_PlanDataExchangeApproach_createdBy(ctx, field) + case "createdByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_createdByUserAccount(ctx, field) + case "createdDts": + return ec.fieldContext_PlanDataExchangeApproach_createdDts(ctx, field) + case "modifiedBy": + return ec.fieldContext_PlanDataExchangeApproach_modifiedBy(ctx, field) + case "modifiedByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_modifiedByUserAccount(ctx, field) + case "modifiedDts": + return ec.fieldContext_PlanDataExchangeApproach_modifiedDts(ctx, field) + case "isDataExchangeApproachComplete": + return ec.fieldContext_PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx, field) + case "markedCompleteBy": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteBy(ctx, field) + case "markedCompleteByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteByUserAccount(ctx, field) + case "markedCompleteDts": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteDts(ctx, field) + case "status": + return ec.fieldContext_PlanDataExchangeApproach_status(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type PlanDataExchangeApproach", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updatePlanDataExchangeApproach_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + func (ec *executionContext) _Mutation_createPlanDiscussion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Mutation_createPlanDiscussion(ctx, field) if err != nil { @@ -37502,6 +38267,8 @@ func (ec *executionContext) fieldContext_Mutation_updateUserNotificationPreferen return ec.fieldContext_UserNotificationPreferences_datesChanged(ctx, field) case "datesChangedNotificationType": return ec.fieldContext_UserNotificationPreferences_datesChangedNotificationType(ctx, field) + case "dataExchangeApproachCompleted": + return ec.fieldContext_UserNotificationPreferences_dataExchangeApproachCompleted(ctx, field) case "createdBy": return ec.fieldContext_UserNotificationPreferences_createdBy(ctx, field) case "createdByUserAccount": @@ -37929,6 +38696,8 @@ func (ec *executionContext) fieldContext_NewDiscussionRepliedActivityMeta_modelP return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -38451,6 +39220,8 @@ func (ec *executionContext) fieldContext_NewModelPlanActivityMeta_modelPlan(ctx return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -52681,291 +53452,2126 @@ func (ec *executionContext) fieldContext_PlanCollaborator_modifiedByUserAccount( return fc, nil } -func (ec *executionContext) _PlanCollaborator_modifiedDts(ctx context.Context, field graphql.CollectedField, obj *models.PlanCollaborator) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_PlanCollaborator_modifiedDts(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModifiedDts, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*time.Time) - fc.Result = res - return ec.marshalOTime2ᚖtimeᚐTime(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_PlanCollaborator_modifiedDts(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "PlanCollaborator", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Time does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _PlanCollaboratorTranslation_username(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_PlanCollaboratorTranslation_username(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.Username, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(models.TranslationField) - fc.Result = res - return ec.marshalNTranslationField2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationField(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_username(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "PlanCollaboratorTranslation", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "gqlField": - return ec.fieldContext_TranslationField_gqlField(ctx, field) - case "goField": - return ec.fieldContext_TranslationField_goField(ctx, field) - case "dbField": - return ec.fieldContext_TranslationField_dbField(ctx, field) - case "label": - return ec.fieldContext_TranslationField_label(ctx, field) - case "readonlyLabel": - return ec.fieldContext_TranslationField_readonlyLabel(ctx, field) - case "sublabel": - return ec.fieldContext_TranslationField_sublabel(ctx, field) - case "multiSelectLabel": - return ec.fieldContext_TranslationField_multiSelectLabel(ctx, field) - case "isArray": - return ec.fieldContext_TranslationField_isArray(ctx, field) - case "dataType": - return ec.fieldContext_TranslationField_dataType(ctx, field) - case "formType": - return ec.fieldContext_TranslationField_formType(ctx, field) - case "isNote": - return ec.fieldContext_TranslationField_isNote(ctx, field) - case "order": - return ec.fieldContext_TranslationField_order(ctx, field) - case "isOtherType": - return ec.fieldContext_TranslationField_isOtherType(ctx, field) - case "otherParentField": - return ec.fieldContext_TranslationField_otherParentField(ctx, field) - case "parentReferencesLabel": - return ec.fieldContext_TranslationField_parentReferencesLabel(ctx, field) - case "exportLabel": - return ec.fieldContext_TranslationField_exportLabel(ctx, field) - case "tableReference": - return ec.fieldContext_TranslationField_tableReference(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type TranslationField", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _PlanCollaboratorTranslation_userID(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_PlanCollaboratorTranslation_userID(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.UserID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(models.TranslationField) - fc.Result = res - return ec.marshalNTranslationField2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationField(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_userID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "PlanCollaboratorTranslation", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "gqlField": - return ec.fieldContext_TranslationField_gqlField(ctx, field) - case "goField": - return ec.fieldContext_TranslationField_goField(ctx, field) - case "dbField": - return ec.fieldContext_TranslationField_dbField(ctx, field) - case "label": - return ec.fieldContext_TranslationField_label(ctx, field) - case "readonlyLabel": - return ec.fieldContext_TranslationField_readonlyLabel(ctx, field) - case "sublabel": - return ec.fieldContext_TranslationField_sublabel(ctx, field) - case "multiSelectLabel": - return ec.fieldContext_TranslationField_multiSelectLabel(ctx, field) - case "isArray": - return ec.fieldContext_TranslationField_isArray(ctx, field) - case "dataType": - return ec.fieldContext_TranslationField_dataType(ctx, field) - case "formType": - return ec.fieldContext_TranslationField_formType(ctx, field) - case "isNote": - return ec.fieldContext_TranslationField_isNote(ctx, field) - case "order": - return ec.fieldContext_TranslationField_order(ctx, field) - case "isOtherType": - return ec.fieldContext_TranslationField_isOtherType(ctx, field) - case "otherParentField": - return ec.fieldContext_TranslationField_otherParentField(ctx, field) - case "parentReferencesLabel": - return ec.fieldContext_TranslationField_parentReferencesLabel(ctx, field) - case "exportLabel": - return ec.fieldContext_TranslationField_exportLabel(ctx, field) - case "tableReference": - return ec.fieldContext_TranslationField_tableReference(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type TranslationField", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _PlanCollaboratorTranslation_teamRoles(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_PlanCollaboratorTranslation_teamRoles(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return obj.TeamRoles, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(models.TranslationFieldWithOptions) - fc.Result = res - return ec.marshalNTranslationFieldWithOptions2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationFieldWithOptions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_teamRoles(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "PlanCollaboratorTranslation", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "gqlField": - return ec.fieldContext_TranslationFieldWithOptions_gqlField(ctx, field) - case "goField": - return ec.fieldContext_TranslationFieldWithOptions_goField(ctx, field) - case "dbField": - return ec.fieldContext_TranslationFieldWithOptions_dbField(ctx, field) - case "label": - return ec.fieldContext_TranslationFieldWithOptions_label(ctx, field) - case "readonlyLabel": - return ec.fieldContext_TranslationFieldWithOptions_readonlyLabel(ctx, field) - case "sublabel": - return ec.fieldContext_TranslationFieldWithOptions_sublabel(ctx, field) - case "multiSelectLabel": - return ec.fieldContext_TranslationFieldWithOptions_multiSelectLabel(ctx, field) - case "isArray": - return ec.fieldContext_TranslationFieldWithOptions_isArray(ctx, field) - case "dataType": - return ec.fieldContext_TranslationFieldWithOptions_dataType(ctx, field) - case "formType": - return ec.fieldContext_TranslationFieldWithOptions_formType(ctx, field) - case "isNote": - return ec.fieldContext_TranslationFieldWithOptions_isNote(ctx, field) - case "order": - return ec.fieldContext_TranslationFieldWithOptions_order(ctx, field) - case "isOtherType": - return ec.fieldContext_TranslationFieldWithOptions_isOtherType(ctx, field) - case "otherParentField": - return ec.fieldContext_TranslationFieldWithOptions_otherParentField(ctx, field) - case "parentReferencesLabel": - return ec.fieldContext_TranslationFieldWithOptions_parentReferencesLabel(ctx, field) - case "exportLabel": - return ec.fieldContext_TranslationFieldWithOptions_exportLabel(ctx, field) - case "tableReference": - return ec.fieldContext_TranslationFieldWithOptions_tableReference(ctx, field) - case "options": - return ec.fieldContext_TranslationFieldWithOptions_options(ctx, field) - case "exportOptions": - return ec.fieldContext_TranslationFieldWithOptions_exportOptions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type TranslationFieldWithOptions", field.Name) - }, - } - return fc, nil -} - +func (ec *executionContext) _PlanCollaborator_modifiedDts(ctx context.Context, field graphql.CollectedField, obj *models.PlanCollaborator) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanCollaborator_modifiedDts(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModifiedDts, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*time.Time) + fc.Result = res + return ec.marshalOTime2ᚖtimeᚐTime(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanCollaborator_modifiedDts(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanCollaborator", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Time does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanCollaboratorTranslation_username(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanCollaboratorTranslation_username(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Username, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(models.TranslationField) + fc.Result = res + return ec.marshalNTranslationField2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationField(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_username(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanCollaboratorTranslation", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "gqlField": + return ec.fieldContext_TranslationField_gqlField(ctx, field) + case "goField": + return ec.fieldContext_TranslationField_goField(ctx, field) + case "dbField": + return ec.fieldContext_TranslationField_dbField(ctx, field) + case "label": + return ec.fieldContext_TranslationField_label(ctx, field) + case "readonlyLabel": + return ec.fieldContext_TranslationField_readonlyLabel(ctx, field) + case "sublabel": + return ec.fieldContext_TranslationField_sublabel(ctx, field) + case "multiSelectLabel": + return ec.fieldContext_TranslationField_multiSelectLabel(ctx, field) + case "isArray": + return ec.fieldContext_TranslationField_isArray(ctx, field) + case "dataType": + return ec.fieldContext_TranslationField_dataType(ctx, field) + case "formType": + return ec.fieldContext_TranslationField_formType(ctx, field) + case "isNote": + return ec.fieldContext_TranslationField_isNote(ctx, field) + case "order": + return ec.fieldContext_TranslationField_order(ctx, field) + case "isOtherType": + return ec.fieldContext_TranslationField_isOtherType(ctx, field) + case "otherParentField": + return ec.fieldContext_TranslationField_otherParentField(ctx, field) + case "parentReferencesLabel": + return ec.fieldContext_TranslationField_parentReferencesLabel(ctx, field) + case "exportLabel": + return ec.fieldContext_TranslationField_exportLabel(ctx, field) + case "tableReference": + return ec.fieldContext_TranslationField_tableReference(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type TranslationField", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanCollaboratorTranslation_userID(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanCollaboratorTranslation_userID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UserID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(models.TranslationField) + fc.Result = res + return ec.marshalNTranslationField2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationField(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_userID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanCollaboratorTranslation", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "gqlField": + return ec.fieldContext_TranslationField_gqlField(ctx, field) + case "goField": + return ec.fieldContext_TranslationField_goField(ctx, field) + case "dbField": + return ec.fieldContext_TranslationField_dbField(ctx, field) + case "label": + return ec.fieldContext_TranslationField_label(ctx, field) + case "readonlyLabel": + return ec.fieldContext_TranslationField_readonlyLabel(ctx, field) + case "sublabel": + return ec.fieldContext_TranslationField_sublabel(ctx, field) + case "multiSelectLabel": + return ec.fieldContext_TranslationField_multiSelectLabel(ctx, field) + case "isArray": + return ec.fieldContext_TranslationField_isArray(ctx, field) + case "dataType": + return ec.fieldContext_TranslationField_dataType(ctx, field) + case "formType": + return ec.fieldContext_TranslationField_formType(ctx, field) + case "isNote": + return ec.fieldContext_TranslationField_isNote(ctx, field) + case "order": + return ec.fieldContext_TranslationField_order(ctx, field) + case "isOtherType": + return ec.fieldContext_TranslationField_isOtherType(ctx, field) + case "otherParentField": + return ec.fieldContext_TranslationField_otherParentField(ctx, field) + case "parentReferencesLabel": + return ec.fieldContext_TranslationField_parentReferencesLabel(ctx, field) + case "exportLabel": + return ec.fieldContext_TranslationField_exportLabel(ctx, field) + case "tableReference": + return ec.fieldContext_TranslationField_tableReference(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type TranslationField", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanCollaboratorTranslation_teamRoles(ctx context.Context, field graphql.CollectedField, obj *model.PlanCollaboratorTranslation) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanCollaboratorTranslation_teamRoles(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.TeamRoles, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(models.TranslationFieldWithOptions) + fc.Result = res + return ec.marshalNTranslationFieldWithOptions2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐTranslationFieldWithOptions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanCollaboratorTranslation_teamRoles(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanCollaboratorTranslation", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "gqlField": + return ec.fieldContext_TranslationFieldWithOptions_gqlField(ctx, field) + case "goField": + return ec.fieldContext_TranslationFieldWithOptions_goField(ctx, field) + case "dbField": + return ec.fieldContext_TranslationFieldWithOptions_dbField(ctx, field) + case "label": + return ec.fieldContext_TranslationFieldWithOptions_label(ctx, field) + case "readonlyLabel": + return ec.fieldContext_TranslationFieldWithOptions_readonlyLabel(ctx, field) + case "sublabel": + return ec.fieldContext_TranslationFieldWithOptions_sublabel(ctx, field) + case "multiSelectLabel": + return ec.fieldContext_TranslationFieldWithOptions_multiSelectLabel(ctx, field) + case "isArray": + return ec.fieldContext_TranslationFieldWithOptions_isArray(ctx, field) + case "dataType": + return ec.fieldContext_TranslationFieldWithOptions_dataType(ctx, field) + case "formType": + return ec.fieldContext_TranslationFieldWithOptions_formType(ctx, field) + case "isNote": + return ec.fieldContext_TranslationFieldWithOptions_isNote(ctx, field) + case "order": + return ec.fieldContext_TranslationFieldWithOptions_order(ctx, field) + case "isOtherType": + return ec.fieldContext_TranslationFieldWithOptions_isOtherType(ctx, field) + case "otherParentField": + return ec.fieldContext_TranslationFieldWithOptions_otherParentField(ctx, field) + case "parentReferencesLabel": + return ec.fieldContext_TranslationFieldWithOptions_parentReferencesLabel(ctx, field) + case "exportLabel": + return ec.fieldContext_TranslationFieldWithOptions_exportLabel(ctx, field) + case "tableReference": + return ec.fieldContext_TranslationFieldWithOptions_tableReference(ctx, field) + case "options": + return ec.fieldContext_TranslationFieldWithOptions_options(ctx, field) + case "exportOptions": + return ec.fieldContext_TranslationFieldWithOptions_exportOptions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type TranslationFieldWithOptions", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_id(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(uuid.UUID) + fc.Result = res + return ec.marshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_id(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_modelPlanID(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_modelPlanID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModelPlanID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(uuid.UUID) + fc.Result = res + return ec.marshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_modelPlanID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToCollectFromParticipants(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipants(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproach().DataToCollectFromParticipants(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.DataToCollectFromParticipants) + fc.Result = res + return ec.marshalNDataToCollectFromParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipantsᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipants(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type DataToCollectFromParticipants does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataToCollectFromParticipantsReportsDetails, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataToCollectFromParticipantsOther, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataWillNotBeCollectedFromParticipants, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalOBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataToCollectFromParticipantsNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToSendToParticipants(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipants(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproach().DataToSendToParticipants(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.DataToSendToParticipants) + fc.Result = res + return ec.marshalNDataToSendToParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipantsᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToSendToParticipants(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type DataToSendToParticipants does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataToSendToParticipantsNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DoesNeedToMakeMultiPayerDataAvailable, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*models.YesNoType) + fc.Result = res + return ec.marshalOYesNoType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐYesNoType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type YesNoType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.AnticipatedMultiPayerDataAvailabilityUseCase, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*models.AnticipatedMultiPayerDataAvailabilityUseCase) + fc.Result = res + return ec.marshalOAnticipatedMultiPayerDataAvailabilityUseCase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐAnticipatedMultiPayerDataAvailabilityUseCase(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AnticipatedMultiPayerDataAvailabilityUseCase does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DoesNeedToMakeMultiPayerDataAvailableNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DoesNeedToCollectAndAggregateMultiSourceData, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*models.YesNoType) + fc.Result = res + return ec.marshalOYesNoType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐYesNoType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type YesNoType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_multiSourceDataToCollect(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollect(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproach().MultiSourceDataToCollect(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.MultiSourceDataToCollect) + fc.Result = res + return ec.marshalNMultiSourceDataToCollect2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollectᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_multiSourceDataToCollect(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type MultiSourceDataToCollect does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MultiSourceDataToCollectOther, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DoesNeedToCollectAndAggregateMultiSourceDataNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.WillImplementNewDataExchangeMethods, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*models.YesNoType) + fc.Result = res + return ec.marshalOYesNoType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐYesNoType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type YesNoType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.NewDataExchangeMethodsDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.NewDataExchangeMethodsNote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.AdditionalDataExchangeConsiderationsDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_createdBy(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_createdBy(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedBy, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(uuid.UUID) + fc.Result = res + return ec.marshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_createdBy(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_createdByUserAccount(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_createdByUserAccount(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedByUserAccount(ctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*authentication.UserAccount) + fc.Result = res + return ec.marshalNUserAccount2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋauthenticationᚐUserAccount(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_createdByUserAccount(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_UserAccount_id(ctx, field) + case "username": + return ec.fieldContext_UserAccount_username(ctx, field) + case "isEUAID": + return ec.fieldContext_UserAccount_isEUAID(ctx, field) + case "commonName": + return ec.fieldContext_UserAccount_commonName(ctx, field) + case "locale": + return ec.fieldContext_UserAccount_locale(ctx, field) + case "email": + return ec.fieldContext_UserAccount_email(ctx, field) + case "givenName": + return ec.fieldContext_UserAccount_givenName(ctx, field) + case "familyName": + return ec.fieldContext_UserAccount_familyName(ctx, field) + case "zoneInfo": + return ec.fieldContext_UserAccount_zoneInfo(ctx, field) + case "hasLoggedIn": + return ec.fieldContext_UserAccount_hasLoggedIn(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserAccount", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_createdDts(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_createdDts(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedDts, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(time.Time) + fc.Result = res + return ec.marshalNTime2timeᚐTime(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_createdDts(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Time does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_modifiedBy(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_modifiedBy(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModifiedBy, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*uuid.UUID) + fc.Result = res + return ec.marshalOUUID2ᚖgithubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_modifiedBy(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_modifiedByUserAccount(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_modifiedByUserAccount(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModifiedByUserAccount(ctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*authentication.UserAccount) + fc.Result = res + return ec.marshalOUserAccount2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋauthenticationᚐUserAccount(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_modifiedByUserAccount(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_UserAccount_id(ctx, field) + case "username": + return ec.fieldContext_UserAccount_username(ctx, field) + case "isEUAID": + return ec.fieldContext_UserAccount_isEUAID(ctx, field) + case "commonName": + return ec.fieldContext_UserAccount_commonName(ctx, field) + case "locale": + return ec.fieldContext_UserAccount_locale(ctx, field) + case "email": + return ec.fieldContext_UserAccount_email(ctx, field) + case "givenName": + return ec.fieldContext_UserAccount_givenName(ctx, field) + case "familyName": + return ec.fieldContext_UserAccount_familyName(ctx, field) + case "zoneInfo": + return ec.fieldContext_UserAccount_zoneInfo(ctx, field) + case "hasLoggedIn": + return ec.fieldContext_UserAccount_hasLoggedIn(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserAccount", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_modifiedDts(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_modifiedDts(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModifiedDts, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*time.Time) + fc.Result = res + return ec.marshalOTime2ᚖtimeᚐTime(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_modifiedDts(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Time does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDataExchangeApproachComplete(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_markedCompleteBy(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_markedCompleteBy(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MarkedCompleteBy, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*uuid.UUID) + fc.Result = res + return ec.marshalOUUID2ᚖgithubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_markedCompleteBy(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_markedCompleteByUserAccount(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_markedCompleteByUserAccount(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MarkedCompleteByUserAccount(ctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*authentication.UserAccount) + fc.Result = res + return ec.marshalOUserAccount2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋauthenticationᚐUserAccount(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_markedCompleteByUserAccount(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_UserAccount_id(ctx, field) + case "username": + return ec.fieldContext_UserAccount_username(ctx, field) + case "isEUAID": + return ec.fieldContext_UserAccount_isEUAID(ctx, field) + case "commonName": + return ec.fieldContext_UserAccount_commonName(ctx, field) + case "locale": + return ec.fieldContext_UserAccount_locale(ctx, field) + case "email": + return ec.fieldContext_UserAccount_email(ctx, field) + case "givenName": + return ec.fieldContext_UserAccount_givenName(ctx, field) + case "familyName": + return ec.fieldContext_UserAccount_familyName(ctx, field) + case "zoneInfo": + return ec.fieldContext_UserAccount_zoneInfo(ctx, field) + case "hasLoggedIn": + return ec.fieldContext_UserAccount_hasLoggedIn(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserAccount", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_markedCompleteDts(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_markedCompleteDts(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MarkedCompleteDts, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*time.Time) + fc.Result = res + return ec.marshalOTime2ᚖtimeᚐTime(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_markedCompleteDts(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Time does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproach_status(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproach) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproach_status(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Status, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*models.DataExchangeApproachStatus) + fc.Result = res + return ec.marshalNDataExchangeApproachStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataExchangeApproachStatus(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproach_status(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproach", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type DataExchangeApproachStatus does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_version(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_version(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_type(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(models.ActivityType) + fc.Result = res + return ec.marshalNActivityType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐActivityType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ActivityType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproachID(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproachID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DataExchangeApproachID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(uuid.UUID) + fc.Result = res + return ec.marshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproachID(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproach(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproach(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproachCompletedActivityMeta().DataExchangeApproach(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*models.PlanDataExchangeApproach) + fc.Result = res + return ec.marshalNPlanDataExchangeApproach2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDataExchangeApproach(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproach(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_PlanDataExchangeApproach_id(ctx, field) + case "modelPlanID": + return ec.fieldContext_PlanDataExchangeApproach_modelPlanID(ctx, field) + case "dataToCollectFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipants(ctx, field) + case "dataToCollectFromParticipantsReportsDetails": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx, field) + case "dataToCollectFromParticipantsOther": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx, field) + case "dataWillNotBeCollectedFromParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx, field) + case "dataToCollectFromParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx, field) + case "dataToSendToParticipants": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipants(ctx, field) + case "dataToSendToParticipantsNote": + return ec.fieldContext_PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailable": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx, field) + case "anticipatedMultiPayerDataAvailabilityUseCase": + return ec.fieldContext_PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx, field) + case "doesNeedToMakeMultiPayerDataAvailableNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceData": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx, field) + case "multiSourceDataToCollect": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollect(ctx, field) + case "multiSourceDataToCollectOther": + return ec.fieldContext_PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx, field) + case "doesNeedToCollectAndAggregateMultiSourceDataNote": + return ec.fieldContext_PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx, field) + case "willImplementNewDataExchangeMethods": + return ec.fieldContext_PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx, field) + case "newDataExchangeMethodsDescription": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx, field) + case "newDataExchangeMethodsNote": + return ec.fieldContext_PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx, field) + case "additionalDataExchangeConsiderationsDescription": + return ec.fieldContext_PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx, field) + case "createdBy": + return ec.fieldContext_PlanDataExchangeApproach_createdBy(ctx, field) + case "createdByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_createdByUserAccount(ctx, field) + case "createdDts": + return ec.fieldContext_PlanDataExchangeApproach_createdDts(ctx, field) + case "modifiedBy": + return ec.fieldContext_PlanDataExchangeApproach_modifiedBy(ctx, field) + case "modifiedByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_modifiedByUserAccount(ctx, field) + case "modifiedDts": + return ec.fieldContext_PlanDataExchangeApproach_modifiedDts(ctx, field) + case "isDataExchangeApproachComplete": + return ec.fieldContext_PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx, field) + case "markedCompleteBy": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteBy(ctx, field) + case "markedCompleteByUserAccount": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteByUserAccount(ctx, field) + case "markedCompleteDts": + return ec.fieldContext_PlanDataExchangeApproach_markedCompleteDts(ctx, field) + case "status": + return ec.fieldContext_PlanDataExchangeApproach_status(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type PlanDataExchangeApproach", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_modelPlan(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_modelPlan(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproachCompletedActivityMeta().ModelPlan(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*models.ModelPlan) + fc.Result = res + return ec.marshalNModelPlan2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPlan(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_modelPlan(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_ModelPlan_id(ctx, field) + case "modelName": + return ec.fieldContext_ModelPlan_modelName(ctx, field) + case "abbreviation": + return ec.fieldContext_ModelPlan_abbreviation(ctx, field) + case "archived": + return ec.fieldContext_ModelPlan_archived(ctx, field) + case "createdBy": + return ec.fieldContext_ModelPlan_createdBy(ctx, field) + case "createdByUserAccount": + return ec.fieldContext_ModelPlan_createdByUserAccount(ctx, field) + case "createdDts": + return ec.fieldContext_ModelPlan_createdDts(ctx, field) + case "modifiedBy": + return ec.fieldContext_ModelPlan_modifiedBy(ctx, field) + case "modifiedByUserAccount": + return ec.fieldContext_ModelPlan_modifiedByUserAccount(ctx, field) + case "modifiedDts": + return ec.fieldContext_ModelPlan_modifiedDts(ctx, field) + case "basics": + return ec.fieldContext_ModelPlan_basics(ctx, field) + case "generalCharacteristics": + return ec.fieldContext_ModelPlan_generalCharacteristics(ctx, field) + case "participantsAndProviders": + return ec.fieldContext_ModelPlan_participantsAndProviders(ctx, field) + case "beneficiaries": + return ec.fieldContext_ModelPlan_beneficiaries(ctx, field) + case "opsEvalAndLearning": + return ec.fieldContext_ModelPlan_opsEvalAndLearning(ctx, field) + case "collaborators": + return ec.fieldContext_ModelPlan_collaborators(ctx, field) + case "documents": + return ec.fieldContext_ModelPlan_documents(ctx, field) + case "discussions": + return ec.fieldContext_ModelPlan_discussions(ctx, field) + case "payments": + return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) + case "status": + return ec.fieldContext_ModelPlan_status(ctx, field) + case "taskListStatus": + return ec.fieldContext_ModelPlan_taskListStatus(ctx, field) + case "suggestedPhase": + return ec.fieldContext_ModelPlan_suggestedPhase(ctx, field) + case "isFavorite": + return ec.fieldContext_ModelPlan_isFavorite(ctx, field) + case "isCollaborator": + return ec.fieldContext_ModelPlan_isCollaborator(ctx, field) + case "crs": + return ec.fieldContext_ModelPlan_crs(ctx, field) + case "tdls": + return ec.fieldContext_ModelPlan_tdls(ctx, field) + case "echimpCRs": + return ec.fieldContext_ModelPlan_echimpCRs(ctx, field) + case "echimpTDLs": + return ec.fieldContext_ModelPlan_echimpTDLs(ctx, field) + case "echimpCRsAndTDLs": + return ec.fieldContext_ModelPlan_echimpCRsAndTDLs(ctx, field) + case "prepareForClearance": + return ec.fieldContext_ModelPlan_prepareForClearance(ctx, field) + case "nameHistory": + return ec.fieldContext_ModelPlan_nameHistory(ctx, field) + case "operationalNeeds": + return ec.fieldContext_ModelPlan_operationalNeeds(ctx, field) + case "opSolutionLastModifiedDts": + return ec.fieldContext_ModelPlan_opSolutionLastModifiedDts(ctx, field) + case "previousSuggestedPhase": + return ec.fieldContext_ModelPlan_previousSuggestedPhase(ctx, field) + case "modelBySolutionStatus": + return ec.fieldContext_ModelPlan_modelBySolutionStatus(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ModelPlan", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_markedCompleteBy(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_markedCompleteBy(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MarkedCompleteBy, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(uuid.UUID) + fc.Result = res + return ec.marshalNUUID2githubᚗcomᚋgoogleᚋuuidᚐUUID(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_markedCompleteBy(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UUID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta_markedCompleteByUserAccount(ctx context.Context, field graphql.CollectedField, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_PlanDataExchangeApproachCompletedActivityMeta_markedCompleteByUserAccount(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.PlanDataExchangeApproachCompletedActivityMeta().MarkedCompleteByUserAccount(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*authentication.UserAccount) + fc.Result = res + return ec.marshalNUserAccount2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋauthenticationᚐUserAccount(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_PlanDataExchangeApproachCompletedActivityMeta_markedCompleteByUserAccount(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "PlanDataExchangeApproachCompletedActivityMeta", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_UserAccount_id(ctx, field) + case "username": + return ec.fieldContext_UserAccount_username(ctx, field) + case "isEUAID": + return ec.fieldContext_UserAccount_isEUAID(ctx, field) + case "commonName": + return ec.fieldContext_UserAccount_commonName(ctx, field) + case "locale": + return ec.fieldContext_UserAccount_locale(ctx, field) + case "email": + return ec.fieldContext_UserAccount_email(ctx, field) + case "givenName": + return ec.fieldContext_UserAccount_givenName(ctx, field) + case "familyName": + return ec.fieldContext_UserAccount_familyName(ctx, field) + case "zoneInfo": + return ec.fieldContext_UserAccount_zoneInfo(ctx, field) + case "hasLoggedIn": + return ec.fieldContext_UserAccount_hasLoggedIn(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserAccount", field.Name) + }, + } + return fc, nil +} + func (ec *executionContext) _PlanDiscussion_id(ctx context.Context, field graphql.CollectedField, obj *models.PlanDiscussion) (ret graphql.Marshaler) { fc, err := ec.fieldContext_PlanDiscussion_id(ctx, field) if err != nil { @@ -57017,6 +59623,8 @@ func (ec *executionContext) fieldContext_PlanGeneralCharacteristics_currentModel return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -102804,6 +105412,8 @@ func (ec *executionContext) fieldContext_Query_modelPlan(ctx context.Context, fi return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -102955,6 +105565,8 @@ func (ec *executionContext) fieldContext_Query_modelPlanCollection(ctx context.C return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -106221,6 +108833,8 @@ func (ec *executionContext) fieldContext_TaggedInDiscussionReplyActivityMeta_mod return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -106743,6 +109357,8 @@ func (ec *executionContext) fieldContext_TaggedInPlanDiscussionActivityMeta_mode return ec.fieldContext_ModelPlan_discussions(ctx, field) case "payments": return ec.fieldContext_ModelPlan_payments(ctx, field) + case "dataExchangeApproach": + return ec.fieldContext_ModelPlan_dataExchangeApproach(ctx, field) case "status": return ec.fieldContext_ModelPlan_status(ctx, field) case "taskListStatus": @@ -118087,6 +120703,50 @@ func (ec *executionContext) fieldContext_UserNotificationPreferences_datesChange return fc, nil } +func (ec *executionContext) _UserNotificationPreferences_dataExchangeApproachCompleted(ctx context.Context, field graphql.CollectedField, obj *models.UserNotificationPreferences) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserNotificationPreferences_dataExchangeApproachCompleted(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.UserNotificationPreferences().DataExchangeApproachCompleted(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]models.UserNotificationPreferenceFlag) + fc.Result = res + return ec.marshalNUserNotificationPreferenceFlag2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐUserNotificationPreferenceFlagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserNotificationPreferences_dataExchangeApproachCompleted(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserNotificationPreferences", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserNotificationPreferenceFlag does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) _UserNotificationPreferences_createdBy(ctx context.Context, field graphql.CollectedField, obj *models.UserNotificationPreferences) (ret graphql.Marshaler) { fc, err := ec.fieldContext_UserNotificationPreferences_createdBy(ctx, field) if err != nil { @@ -121660,6 +124320,11 @@ func (ec *executionContext) _ActivityMetaData(ctx context.Context, sel ast.Selec return graphql.Null } return ec._DatesChangedActivityMeta(ctx, sel, obj) + case *models.PlanDataExchangeApproachCompletedActivityMeta: + if obj == nil { + return graphql.Null + } + return ec._PlanDataExchangeApproachCompletedActivityMeta(ctx, sel, obj) default: panic(fmt.Errorf("unexpected type %T", obj)) } @@ -123865,107 +126530,286 @@ func (ec *executionContext) _ExistingModelLink(ctx context.Context, sel ast.Sele } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "modifiedDts": - out.Values[i] = ec._ExistingModelLink_modifiedDts(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var existingModelLinkTranslationImplementors = []string{"ExistingModelLinkTranslation"} - -func (ec *executionContext) _ExistingModelLinkTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.ExistingModelLinkTranslation) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, existingModelLinkTranslationImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ExistingModelLinkTranslation") - case "existingModelID": - out.Values[i] = ec._ExistingModelLinkTranslation_existingModelID(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "currentModelPlanID": - out.Values[i] = ec._ExistingModelLinkTranslation_currentModelPlanID(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "fieldName": - out.Values[i] = ec._ExistingModelLinkTranslation_fieldName(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var existingModelLinksImplementors = []string{"ExistingModelLinks"} - -func (ec *executionContext) _ExistingModelLinks(ctx context.Context, sel ast.SelectionSet, obj *models.ExistingModelLinks) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, existingModelLinksImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ExistingModelLinks") - case "links": - out.Values[i] = ec._ExistingModelLinks_links(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "fieldName": - out.Values[i] = ec._ExistingModelLinks_fieldName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "modelPlanID": - out.Values[i] = ec._ExistingModelLinks_modelPlanID(ctx, field, obj) + case "modifiedDts": + out.Values[i] = ec._ExistingModelLink_modifiedDts(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var existingModelLinkTranslationImplementors = []string{"ExistingModelLinkTranslation"} + +func (ec *executionContext) _ExistingModelLinkTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.ExistingModelLinkTranslation) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, existingModelLinkTranslationImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ExistingModelLinkTranslation") + case "existingModelID": + out.Values[i] = ec._ExistingModelLinkTranslation_existingModelID(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "currentModelPlanID": + out.Values[i] = ec._ExistingModelLinkTranslation_currentModelPlanID(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "fieldName": + out.Values[i] = ec._ExistingModelLinkTranslation_fieldName(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var existingModelLinksImplementors = []string{"ExistingModelLinks"} + +func (ec *executionContext) _ExistingModelLinks(ctx context.Context, sel ast.SelectionSet, obj *models.ExistingModelLinks) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, existingModelLinksImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ExistingModelLinks") + case "links": + out.Values[i] = ec._ExistingModelLinks_links(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "fieldName": + out.Values[i] = ec._ExistingModelLinks_fieldName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modelPlanID": + out.Values[i] = ec._ExistingModelLinks_modelPlanID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "names": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._ExistingModelLinks_names(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var launchDarklySettingsImplementors = []string{"LaunchDarklySettings"} + +func (ec *executionContext) _LaunchDarklySettings(ctx context.Context, sel ast.SelectionSet, obj *model.LaunchDarklySettings) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, launchDarklySettingsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("LaunchDarklySettings") + case "userKey": + out.Values[i] = ec._LaunchDarklySettings_userKey(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "signedHash": + out.Values[i] = ec._LaunchDarklySettings_signedHash(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var modelPlanImplementors = []string{"ModelPlan", "LinkedExistingModel"} + +func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet, obj *models.ModelPlan) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, modelPlanImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ModelPlan") + case "id": + out.Values[i] = ec._ModelPlan_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modelName": + out.Values[i] = ec._ModelPlan_modelName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "abbreviation": + out.Values[i] = ec._ModelPlan_abbreviation(ctx, field, obj) + case "archived": + out.Values[i] = ec._ModelPlan_archived(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "createdBy": + out.Values[i] = ec._ModelPlan_createdBy(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "createdByUserAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._ModelPlan_createdByUserAccount(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "createdDts": + out.Values[i] = ec._ModelPlan_createdDts(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } - case "names": + case "modifiedBy": + out.Values[i] = ec._ModelPlan_modifiedBy(ctx, field, obj) + case "modifiedByUserAccount": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -123974,10 +126818,7 @@ func (ec *executionContext) _ExistingModelLinks(ctx context.Context, sel ast.Sel ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ExistingModelLinks_names(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } + res = ec._ModelPlan_modifiedByUserAccount(ctx, field, obj) return res } @@ -124001,107 +126842,9 @@ func (ec *executionContext) _ExistingModelLinks(ctx context.Context, sel ast.Sel } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var launchDarklySettingsImplementors = []string{"LaunchDarklySettings"} - -func (ec *executionContext) _LaunchDarklySettings(ctx context.Context, sel ast.SelectionSet, obj *model.LaunchDarklySettings) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, launchDarklySettingsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("LaunchDarklySettings") - case "userKey": - out.Values[i] = ec._LaunchDarklySettings_userKey(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "signedHash": - out.Values[i] = ec._LaunchDarklySettings_signedHash(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var modelPlanImplementors = []string{"ModelPlan", "LinkedExistingModel"} - -func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet, obj *models.ModelPlan) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, modelPlanImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ModelPlan") - case "id": - out.Values[i] = ec._ModelPlan_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "modelName": - out.Values[i] = ec._ModelPlan_modelName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "abbreviation": - out.Values[i] = ec._ModelPlan_abbreviation(ctx, field, obj) - case "archived": - out.Values[i] = ec._ModelPlan_archived(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "createdBy": - out.Values[i] = ec._ModelPlan_createdBy(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "createdByUserAccount": + case "modifiedDts": + out.Values[i] = ec._ModelPlan_modifiedDts(ctx, field, obj) + case "basics": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124110,7 +126853,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_createdByUserAccount(ctx, field, obj) + res = ec._ModelPlan_basics(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124137,49 +126880,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "createdDts": - out.Values[i] = ec._ModelPlan_createdDts(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "modifiedBy": - out.Values[i] = ec._ModelPlan_modifiedBy(ctx, field, obj) - case "modifiedByUserAccount": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._ModelPlan_modifiedByUserAccount(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "modifiedDts": - out.Values[i] = ec._ModelPlan_modifiedDts(ctx, field, obj) - case "basics": + case "generalCharacteristics": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124188,7 +126889,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_basics(ctx, field, obj) + res = ec._ModelPlan_generalCharacteristics(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124215,7 +126916,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "generalCharacteristics": + case "participantsAndProviders": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124224,7 +126925,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_generalCharacteristics(ctx, field, obj) + res = ec._ModelPlan_participantsAndProviders(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124251,7 +126952,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "participantsAndProviders": + case "beneficiaries": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124260,7 +126961,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_participantsAndProviders(ctx, field, obj) + res = ec._ModelPlan_beneficiaries(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124287,7 +126988,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "beneficiaries": + case "opsEvalAndLearning": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124296,7 +126997,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_beneficiaries(ctx, field, obj) + res = ec._ModelPlan_opsEvalAndLearning(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124323,7 +127024,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "opsEvalAndLearning": + case "collaborators": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124332,7 +127033,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_opsEvalAndLearning(ctx, field, obj) + res = ec._ModelPlan_collaborators(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124359,7 +127060,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "collaborators": + case "documents": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124368,7 +127069,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_collaborators(ctx, field, obj) + res = ec._ModelPlan_documents(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124395,7 +127096,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "documents": + case "discussions": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124404,7 +127105,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_documents(ctx, field, obj) + res = ec._ModelPlan_discussions(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124431,7 +127132,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "discussions": + case "payments": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124440,7 +127141,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_discussions(ctx, field, obj) + res = ec._ModelPlan_payments(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -124467,7 +127168,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "payments": + case "dataExchangeApproach": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -124476,7 +127177,7 @@ func (ec *executionContext) _ModelPlan(ctx context.Context, sel ast.SelectionSet ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._ModelPlan_payments(ctx, field, obj) + res = ec._ModelPlan_dataExchangeApproach(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -125466,6 +128167,13 @@ func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) if out.Values[i] == graphql.Null { out.Invalids++ } + case "updatePlanDataExchangeApproach": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updatePlanDataExchangeApproach(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } case "createPlanDiscussion": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { return ec._Mutation_createPlanDiscussion(ctx, field) @@ -128067,66 +130775,631 @@ func (ec *executionContext) _PlanCR(ctx context.Context, sel ast.SelectionSet, o } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "modifiedDts": - out.Values[i] = ec._PlanCR_modifiedDts(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} + case "modifiedDts": + out.Values[i] = ec._PlanCR_modifiedDts(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var planCRTranslationImplementors = []string{"PlanCRTranslation"} + +func (ec *executionContext) _PlanCRTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.PlanCRTranslation) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, planCRTranslationImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("PlanCRTranslation") + case "idNumber": + out.Values[i] = ec._PlanCRTranslation_idNumber(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "title": + out.Values[i] = ec._PlanCRTranslation_title(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "dateInitiated": + out.Values[i] = ec._PlanCRTranslation_dateInitiated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "dateImplemented": + out.Values[i] = ec._PlanCRTranslation_dateImplemented(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._PlanCRTranslation_note(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var planCollaboratorImplementors = []string{"PlanCollaborator"} + +func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.SelectionSet, obj *models.PlanCollaborator) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, planCollaboratorImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("PlanCollaborator") + case "id": + out.Values[i] = ec._PlanCollaborator_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modelPlanID": + out.Values[i] = ec._PlanCollaborator_modelPlanID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "userID": + out.Values[i] = ec._PlanCollaborator_userID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "userAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanCollaborator_userAccount(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "teamRoles": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanCollaborator_teamRoles(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "createdBy": + out.Values[i] = ec._PlanCollaborator_createdBy(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "createdByUserAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanCollaborator_createdByUserAccount(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "createdDts": + out.Values[i] = ec._PlanCollaborator_createdDts(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modifiedBy": + out.Values[i] = ec._PlanCollaborator_modifiedBy(ctx, field, obj) + case "modifiedByUserAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanCollaborator_modifiedByUserAccount(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "modifiedDts": + out.Values[i] = ec._PlanCollaborator_modifiedDts(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var planCollaboratorTranslationImplementors = []string{"PlanCollaboratorTranslation"} + +func (ec *executionContext) _PlanCollaboratorTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.PlanCollaboratorTranslation) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, planCollaboratorTranslationImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("PlanCollaboratorTranslation") + case "username": + out.Values[i] = ec._PlanCollaboratorTranslation_username(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "userID": + out.Values[i] = ec._PlanCollaboratorTranslation_userID(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "teamRoles": + out.Values[i] = ec._PlanCollaboratorTranslation_teamRoles(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var planDataExchangeApproachImplementors = []string{"PlanDataExchangeApproach"} + +func (ec *executionContext) _PlanDataExchangeApproach(ctx context.Context, sel ast.SelectionSet, obj *models.PlanDataExchangeApproach) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, planDataExchangeApproachImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("PlanDataExchangeApproach") + case "id": + out.Values[i] = ec._PlanDataExchangeApproach_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modelPlanID": + out.Values[i] = ec._PlanDataExchangeApproach_modelPlanID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "dataToCollectFromParticipants": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_dataToCollectFromParticipants(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "dataToCollectFromParticipantsReportsDetails": + out.Values[i] = ec._PlanDataExchangeApproach_dataToCollectFromParticipantsReportsDetails(ctx, field, obj) + case "dataToCollectFromParticipantsOther": + out.Values[i] = ec._PlanDataExchangeApproach_dataToCollectFromParticipantsOther(ctx, field, obj) + case "dataWillNotBeCollectedFromParticipants": + out.Values[i] = ec._PlanDataExchangeApproach_dataWillNotBeCollectedFromParticipants(ctx, field, obj) + case "dataToCollectFromParticipantsNote": + out.Values[i] = ec._PlanDataExchangeApproach_dataToCollectFromParticipantsNote(ctx, field, obj) + case "dataToSendToParticipants": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_dataToSendToParticipants(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "dataToSendToParticipantsNote": + out.Values[i] = ec._PlanDataExchangeApproach_dataToSendToParticipantsNote(ctx, field, obj) + case "doesNeedToMakeMultiPayerDataAvailable": + out.Values[i] = ec._PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailable(ctx, field, obj) + case "anticipatedMultiPayerDataAvailabilityUseCase": + out.Values[i] = ec._PlanDataExchangeApproach_anticipatedMultiPayerDataAvailabilityUseCase(ctx, field, obj) + case "doesNeedToMakeMultiPayerDataAvailableNote": + out.Values[i] = ec._PlanDataExchangeApproach_doesNeedToMakeMultiPayerDataAvailableNote(ctx, field, obj) + case "doesNeedToCollectAndAggregateMultiSourceData": + out.Values[i] = ec._PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceData(ctx, field, obj) + case "multiSourceDataToCollect": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_multiSourceDataToCollect(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "multiSourceDataToCollectOther": + out.Values[i] = ec._PlanDataExchangeApproach_multiSourceDataToCollectOther(ctx, field, obj) + case "doesNeedToCollectAndAggregateMultiSourceDataNote": + out.Values[i] = ec._PlanDataExchangeApproach_doesNeedToCollectAndAggregateMultiSourceDataNote(ctx, field, obj) + case "willImplementNewDataExchangeMethods": + out.Values[i] = ec._PlanDataExchangeApproach_willImplementNewDataExchangeMethods(ctx, field, obj) + case "newDataExchangeMethodsDescription": + out.Values[i] = ec._PlanDataExchangeApproach_newDataExchangeMethodsDescription(ctx, field, obj) + case "newDataExchangeMethodsNote": + out.Values[i] = ec._PlanDataExchangeApproach_newDataExchangeMethodsNote(ctx, field, obj) + case "additionalDataExchangeConsiderationsDescription": + out.Values[i] = ec._PlanDataExchangeApproach_additionalDataExchangeConsiderationsDescription(ctx, field, obj) + case "createdBy": + out.Values[i] = ec._PlanDataExchangeApproach_createdBy(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "createdByUserAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_createdByUserAccount(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "createdDts": + out.Values[i] = ec._PlanDataExchangeApproach_createdDts(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "modifiedBy": + out.Values[i] = ec._PlanDataExchangeApproach_modifiedBy(ctx, field, obj) + case "modifiedByUserAccount": + field := field -var planCRTranslationImplementors = []string{"PlanCRTranslation"} + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_modifiedByUserAccount(ctx, field, obj) + return res + } -func (ec *executionContext) _PlanCRTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.PlanCRTranslation) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, planCRTranslationImplementors) + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("PlanCRTranslation") - case "idNumber": - out.Values[i] = ec._PlanCRTranslation_idNumber(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue } - case "title": - out.Values[i] = ec._PlanCRTranslation_title(ctx, field, obj) + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "modifiedDts": + out.Values[i] = ec._PlanDataExchangeApproach_modifiedDts(ctx, field, obj) + case "isDataExchangeApproachComplete": + out.Values[i] = ec._PlanDataExchangeApproach_isDataExchangeApproachComplete(ctx, field, obj) if out.Values[i] == graphql.Null { - out.Invalids++ + atomic.AddUint32(&out.Invalids, 1) } - case "dateInitiated": - out.Values[i] = ec._PlanCRTranslation_dateInitiated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ + case "markedCompleteBy": + out.Values[i] = ec._PlanDataExchangeApproach_markedCompleteBy(ctx, field, obj) + case "markedCompleteByUserAccount": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._PlanDataExchangeApproach_markedCompleteByUserAccount(ctx, field, obj) + return res } - case "dateImplemented": - out.Values[i] = ec._PlanCRTranslation_dateImplemented(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue } - case "note": - out.Values[i] = ec._PlanCRTranslation_note(ctx, field, obj) + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "markedCompleteDts": + out.Values[i] = ec._PlanDataExchangeApproach_markedCompleteDts(ctx, field, obj) + case "status": + out.Values[i] = ec._PlanDataExchangeApproach_status(ctx, field, obj) if out.Values[i] == graphql.Null { - out.Invalids++ + atomic.AddUint32(&out.Invalids, 1) } default: panic("unknown field " + strconv.Quote(field.Name)) @@ -128151,33 +131424,33 @@ func (ec *executionContext) _PlanCRTranslation(ctx context.Context, sel ast.Sele return out } -var planCollaboratorImplementors = []string{"PlanCollaborator"} +var planDataExchangeApproachCompletedActivityMetaImplementors = []string{"PlanDataExchangeApproachCompletedActivityMeta", "ActivityMetaData"} -func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.SelectionSet, obj *models.PlanCollaborator) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, planCollaboratorImplementors) +func (ec *executionContext) _PlanDataExchangeApproachCompletedActivityMeta(ctx context.Context, sel ast.SelectionSet, obj *models.PlanDataExchangeApproachCompletedActivityMeta) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, planDataExchangeApproachCompletedActivityMetaImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("PlanCollaborator") - case "id": - out.Values[i] = ec._PlanCollaborator_id(ctx, field, obj) + out.Values[i] = graphql.MarshalString("PlanDataExchangeApproachCompletedActivityMeta") + case "version": + out.Values[i] = ec._PlanDataExchangeApproachCompletedActivityMeta_version(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } - case "modelPlanID": - out.Values[i] = ec._PlanCollaborator_modelPlanID(ctx, field, obj) + case "type": + out.Values[i] = ec._PlanDataExchangeApproachCompletedActivityMeta_type(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } - case "userID": - out.Values[i] = ec._PlanCollaborator_userID(ctx, field, obj) + case "dataExchangeApproachID": + out.Values[i] = ec._PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproachID(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } - case "userAccount": + case "dataExchangeApproach": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -128186,7 +131459,7 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._PlanCollaborator_userAccount(ctx, field, obj) + res = ec._PlanDataExchangeApproachCompletedActivityMeta_dataExchangeApproach(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -128213,7 +131486,7 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "teamRoles": + case "modelPlan": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -128222,7 +131495,7 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._PlanCollaborator_teamRoles(ctx, field, obj) + res = ec._PlanDataExchangeApproachCompletedActivityMeta_modelPlan(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -128249,12 +131522,12 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "createdBy": - out.Values[i] = ec._PlanCollaborator_createdBy(ctx, field, obj) + case "markedCompleteBy": + out.Values[i] = ec._PlanDataExchangeApproachCompletedActivityMeta_markedCompleteBy(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } - case "createdByUserAccount": + case "markedCompleteByUserAccount": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -128263,7 +131536,7 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._PlanCollaborator_createdByUserAccount(ctx, field, obj) + res = ec._PlanDataExchangeApproachCompletedActivityMeta_markedCompleteByUserAccount(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -128290,97 +131563,6 @@ func (ec *executionContext) _PlanCollaborator(ctx context.Context, sel ast.Selec } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "createdDts": - out.Values[i] = ec._PlanCollaborator_createdDts(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "modifiedBy": - out.Values[i] = ec._PlanCollaborator_modifiedBy(ctx, field, obj) - case "modifiedByUserAccount": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._PlanCollaborator_modifiedByUserAccount(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "modifiedDts": - out.Values[i] = ec._PlanCollaborator_modifiedDts(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var planCollaboratorTranslationImplementors = []string{"PlanCollaboratorTranslation"} - -func (ec *executionContext) _PlanCollaboratorTranslation(ctx context.Context, sel ast.SelectionSet, obj *model.PlanCollaboratorTranslation) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, planCollaboratorTranslationImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("PlanCollaboratorTranslation") - case "username": - out.Values[i] = ec._PlanCollaboratorTranslation_username(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "userID": - out.Values[i] = ec._PlanCollaboratorTranslation_userID(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "teamRoles": - out.Values[i] = ec._PlanCollaboratorTranslation_teamRoles(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -138418,7 +141600,43 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "newDiscussionReply": + case "newDiscussionReply": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._UserNotificationPreferences_newDiscussionReply(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "modelPlanShared": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -138427,7 +141645,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._UserNotificationPreferences_newDiscussionReply(ctx, field, obj) + res = ec._UserNotificationPreferences_modelPlanShared(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -138454,7 +141672,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "modelPlanShared": + case "newModelPlan": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -138463,7 +141681,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._UserNotificationPreferences_modelPlanShared(ctx, field, obj) + res = ec._UserNotificationPreferences_newModelPlan(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -138490,7 +141708,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "newModelPlan": + case "datesChanged": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -138499,7 +141717,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._UserNotificationPreferences_newModelPlan(ctx, field, obj) + res = ec._UserNotificationPreferences_datesChanged(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -138526,7 +141744,9 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "datesChanged": + case "datesChangedNotificationType": + out.Values[i] = ec._UserNotificationPreferences_datesChangedNotificationType(ctx, field, obj) + case "dataExchangeApproachCompleted": field := field innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { @@ -138535,7 +141755,7 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se ec.Error(ctx, ec.Recover(ctx, r)) } }() - res = ec._UserNotificationPreferences_datesChanged(ctx, field, obj) + res = ec._UserNotificationPreferences_dataExchangeApproachCompleted(ctx, field, obj) if res == graphql.Null { atomic.AddUint32(&fs.Invalids, 1) } @@ -138562,8 +141782,6 @@ func (ec *executionContext) _UserNotificationPreferences(ctx context.Context, se } out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "datesChangedNotificationType": - out.Values[i] = ec._UserNotificationPreferences_datesChangedNotificationType(ctx, field, obj) case "createdBy": out.Values[i] = ec._UserNotificationPreferences_createdBy(ctx, field, obj) if out.Values[i] == graphql.Null { @@ -140304,6 +143522,28 @@ func (ec *executionContext) marshalNCurrentUser2ᚖgithubᚗcomᚋcmsᚑenterpri return ec._CurrentUser(ctx, sel, v) } +func (ec *executionContext) unmarshalNDataExchangeApproachStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataExchangeApproachStatus(ctx context.Context, v interface{}) (*models.DataExchangeApproachStatus, error) { + tmp, err := graphql.UnmarshalString(v) + res := models.DataExchangeApproachStatus(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNDataExchangeApproachStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataExchangeApproachStatus(ctx context.Context, sel ast.SelectionSet, v *models.DataExchangeApproachStatus) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + func (ec *executionContext) unmarshalNDataForMonitoringType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringType(ctx context.Context, v interface{}) (model.DataForMonitoringType, error) { var res model.DataForMonitoringType err := res.UnmarshalGQL(v) @@ -140375,6 +143615,83 @@ func (ec *executionContext) marshalNDataForMonitoringType2ᚕgithubᚗcomᚋcms return ret } +func (ec *executionContext) unmarshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx context.Context, v interface{}) (models.DataToCollectFromParticipants, error) { + tmp, err := graphql.UnmarshalString(v) + res := models.DataToCollectFromParticipants(tmp) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx context.Context, sel ast.SelectionSet, v models.DataToCollectFromParticipants) graphql.Marshaler { + res := graphql.MarshalString(string(v)) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNDataToCollectFromParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipantsᚄ(ctx context.Context, v interface{}) ([]models.DataToCollectFromParticipants, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]models.DataToCollectFromParticipants, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNDataToCollectFromParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipantsᚄ(ctx context.Context, sel ast.SelectionSet, v []models.DataToCollectFromParticipants) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + func (ec *executionContext) unmarshalNDataToSendParticipantsType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsType(ctx context.Context, v interface{}) (model.DataToSendParticipantsType, error) { var res model.DataToSendParticipantsType err := res.UnmarshalGQL(v) @@ -140446,6 +143763,83 @@ func (ec *executionContext) marshalNDataToSendParticipantsType2ᚕgithubᚗcom return ret } +func (ec *executionContext) unmarshalNDataToSendToParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipants(ctx context.Context, v interface{}) (models.DataToSendToParticipants, error) { + tmp, err := graphql.UnmarshalString(v) + res := models.DataToSendToParticipants(tmp) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNDataToSendToParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipants(ctx context.Context, sel ast.SelectionSet, v models.DataToSendToParticipants) graphql.Marshaler { + res := graphql.MarshalString(string(v)) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNDataToSendToParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipantsᚄ(ctx context.Context, v interface{}) ([]models.DataToSendToParticipants, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]models.DataToSendToParticipants, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNDataToSendToParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipants(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNDataToSendToParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipantsᚄ(ctx context.Context, sel ast.SelectionSet, v []models.DataToSendToParticipants) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNDataToSendToParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToSendToParticipants(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + func (ec *executionContext) unmarshalNDatabaseOperation2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDatabaseOperation(ctx context.Context, v interface{}) (models.DatabaseOperation, error) { tmp, err := graphql.UnmarshalString(v) res := models.DatabaseOperation(tmp) @@ -142135,6 +145529,83 @@ func (ec *executionContext) marshalNMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑe return ret } +func (ec *executionContext) unmarshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx context.Context, v interface{}) (models.MultiSourceDataToCollect, error) { + tmp, err := graphql.UnmarshalString(v) + res := models.MultiSourceDataToCollect(tmp) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx context.Context, sel ast.SelectionSet, v models.MultiSourceDataToCollect) graphql.Marshaler { + res := graphql.MarshalString(string(v)) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNMultiSourceDataToCollect2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollectᚄ(ctx context.Context, v interface{}) ([]models.MultiSourceDataToCollect, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]models.MultiSourceDataToCollect, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNMultiSourceDataToCollect2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollectᚄ(ctx context.Context, sel ast.SelectionSet, v []models.MultiSourceDataToCollect) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + func (ec *executionContext) marshalNNDAInfo2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐNDAInfo(ctx context.Context, sel ast.SelectionSet, v model.NDAInfo) graphql.Marshaler { return ec._NDAInfo(ctx, sel, &v) } @@ -143271,6 +146742,24 @@ func (ec *executionContext) unmarshalNPlanCollaboratorCreateInput2githubᚗcom return res, graphql.ErrorOnPath(ctx, err) } +func (ec *executionContext) marshalNPlanDataExchangeApproach2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDataExchangeApproach(ctx context.Context, sel ast.SelectionSet, v models.PlanDataExchangeApproach) graphql.Marshaler { + return ec._PlanDataExchangeApproach(ctx, sel, &v) +} + +func (ec *executionContext) marshalNPlanDataExchangeApproach2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDataExchangeApproach(ctx context.Context, sel ast.SelectionSet, v *models.PlanDataExchangeApproach) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._PlanDataExchangeApproach(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNPlanDataExchangeApproachChanges2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + return v.(map[string]interface{}), nil +} + func (ec *executionContext) marshalNPlanDiscussion2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐPlanDiscussion(ctx context.Context, sel ast.SelectionSet, v models.PlanDiscussion) graphql.Marshaler { return ec._PlanDiscussion(ctx, sel, &v) } @@ -145837,6 +149326,23 @@ func (ec *executionContext) marshalOAnalyzedPlanSections2ᚖgithubᚗcomᚋcms return ec._AnalyzedPlanSections(ctx, sel, v) } +func (ec *executionContext) unmarshalOAnticipatedMultiPayerDataAvailabilityUseCase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐAnticipatedMultiPayerDataAvailabilityUseCase(ctx context.Context, v interface{}) (*models.AnticipatedMultiPayerDataAvailabilityUseCase, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.AnticipatedMultiPayerDataAvailabilityUseCase(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOAnticipatedMultiPayerDataAvailabilityUseCase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐAnticipatedMultiPayerDataAvailabilityUseCase(ctx context.Context, sel ast.SelectionSet, v *models.AnticipatedMultiPayerDataAvailabilityUseCase) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + return res +} + func (ec *executionContext) unmarshalOAny2interface(ctx context.Context, v interface{}) (interface{}, error) { if v == nil { return nil, nil @@ -145900,7 +149406,251 @@ func (ec *executionContext) marshalOAuthorityAllowance2ᚕgithubᚗcomᚋcmsᚑe if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNAuthorityAllowance2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐAuthorityAllowance(ctx, sel, v[i]) + ret[i] = ec.marshalNAuthorityAllowance2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐAuthorityAllowance(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOBenchmarkForPerformanceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐBenchmarkForPerformanceType(ctx context.Context, v interface{}) (*models.BenchmarkForPerformanceType, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.BenchmarkForPerformanceType(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBenchmarkForPerformanceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐBenchmarkForPerformanceType(ctx context.Context, sel ast.SelectionSet, v *models.BenchmarkForPerformanceType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + return res +} + +func (ec *executionContext) unmarshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesTypeᚄ(ctx context.Context, v interface{}) ([]model.BeneficiariesType, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]model.BeneficiariesType, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNBeneficiariesType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesType(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.BeneficiariesType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNBeneficiariesType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) { + res, err := graphql.UnmarshalBoolean(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + res := graphql.MarshalBoolean(v) + return res +} + +func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalBoolean(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalBoolean(*v) + return res +} + +func (ec *executionContext) unmarshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroupᚄ(ctx context.Context, v interface{}) ([]model.CMMIGroup, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]model.CMMIGroup, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNCMMIGroup2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroup(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CMMIGroup) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNCMMIGroup2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroup(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenterᚄ(ctx context.Context, v interface{}) ([]model.CMSCenter, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]model.CMSCenter, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNCMSCenter2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenter(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenterᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CMSCenter) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNCMSCenter2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenter(ctx, sel, v[i]) } if isLen1 { f(i) @@ -145920,24 +149670,74 @@ func (ec *executionContext) marshalOAuthorityAllowance2ᚕgithubᚗcomᚋcmsᚑe return ret } -func (ec *executionContext) unmarshalOBenchmarkForPerformanceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐBenchmarkForPerformanceType(ctx context.Context, v interface{}) (*models.BenchmarkForPerformanceType, error) { +func (ec *executionContext) unmarshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentTypeᚄ(ctx context.Context, v interface{}) ([]model.CcmInvolvmentType, error) { if v == nil { return nil, nil } - tmp, err := graphql.UnmarshalString(v) - res := models.BenchmarkForPerformanceType(tmp) - return &res, graphql.ErrorOnPath(ctx, err) + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]model.CcmInvolvmentType, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNCcmInvolvmentType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentType(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil } -func (ec *executionContext) marshalOBenchmarkForPerformanceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐBenchmarkForPerformanceType(ctx context.Context, sel ast.SelectionSet, v *models.BenchmarkForPerformanceType) graphql.Marshaler { +func (ec *executionContext) marshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CcmInvolvmentType) graphql.Marshaler { if v == nil { return graphql.Null } - res := graphql.MarshalString(string(*v)) - return res + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNCcmInvolvmentType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret } -func (ec *executionContext) unmarshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesTypeᚄ(ctx context.Context, v interface{}) ([]model.BeneficiariesType, error) { +func (ec *executionContext) unmarshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayTypeᚄ(ctx context.Context, v interface{}) ([]models.ClaimsBasedPayType, error) { if v == nil { return nil, nil } @@ -145946,10 +149746,10 @@ func (ec *executionContext) unmarshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑ vSlice = graphql.CoerceList(v) } var err error - res := make([]model.BeneficiariesType, len(vSlice)) + res := make([]models.ClaimsBasedPayType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNBeneficiariesType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNClaimsBasedPayType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -145957,7 +149757,7 @@ func (ec *executionContext) unmarshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑ return res, nil } -func (ec *executionContext) marshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.BeneficiariesType) graphql.Marshaler { +func (ec *executionContext) marshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ClaimsBasedPayType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -145984,7 +149784,7 @@ func (ec *executionContext) marshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑen if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNBeneficiariesType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐBeneficiariesType(ctx, sel, v[i]) + ret[i] = ec.marshalNClaimsBasedPayType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146004,33 +149804,41 @@ func (ec *executionContext) marshalOBeneficiariesType2ᚕgithubᚗcomᚋcmsᚑen return ret } -func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) { - res, err := graphql.UnmarshalBoolean(v) - return res, graphql.ErrorOnPath(ctx, err) +func (ec *executionContext) unmarshalOComplexityCalculationLevelType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐComplexityCalculationLevelType(ctx context.Context, v interface{}) (*models.ComplexityCalculationLevelType, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.ComplexityCalculationLevelType(tmp) + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - res := graphql.MarshalBoolean(v) +func (ec *executionContext) marshalOComplexityCalculationLevelType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐComplexityCalculationLevelType(ctx context.Context, sel ast.SelectionSet, v *models.ComplexityCalculationLevelType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) return res } -func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) { +func (ec *executionContext) unmarshalOConfidenceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐConfidenceType(ctx context.Context, v interface{}) (*models.ConfidenceType, error) { if v == nil { return nil, nil } - res, err := graphql.UnmarshalBoolean(v) + tmp, err := graphql.UnmarshalString(v) + res := models.ConfidenceType(tmp) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { +func (ec *executionContext) marshalOConfidenceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐConfidenceType(ctx context.Context, sel ast.SelectionSet, v *models.ConfidenceType) graphql.Marshaler { if v == nil { return graphql.Null } - res := graphql.MarshalBoolean(*v) + res := graphql.MarshalString(string(*v)) return res } -func (ec *executionContext) unmarshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroupᚄ(ctx context.Context, v interface{}) ([]model.CMMIGroup, error) { +func (ec *executionContext) unmarshalOContractorSupportType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportTypeᚄ(ctx context.Context, v interface{}) ([]model.ContractorSupportType, error) { if v == nil { return nil, nil } @@ -146039,10 +149847,10 @@ func (ec *executionContext) unmarshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpri vSlice = graphql.CoerceList(v) } var err error - res := make([]model.CMMIGroup, len(vSlice)) + res := make([]model.ContractorSupportType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNCMMIGroup2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroup(ctx, vSlice[i]) + res[i], err = ec.unmarshalNContractorSupportType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146050,7 +149858,7 @@ func (ec *executionContext) unmarshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpri return res, nil } -func (ec *executionContext) marshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CMMIGroup) graphql.Marshaler { +func (ec *executionContext) marshalOContractorSupportType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.ContractorSupportType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146077,7 +149885,7 @@ func (ec *executionContext) marshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterprise if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNCMMIGroup2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMMIGroup(ctx, sel, v[i]) + ret[i] = ec.marshalNContractorSupportType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146097,7 +149905,7 @@ func (ec *executionContext) marshalOCMMIGroup2ᚕgithubᚗcomᚋcmsᚑenterprise return ret } -func (ec *executionContext) unmarshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenterᚄ(ctx context.Context, v interface{}) ([]model.CMSCenter, error) { +func (ec *executionContext) unmarshalODataForMonitoringType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringTypeᚄ(ctx context.Context, v interface{}) ([]model.DataForMonitoringType, error) { if v == nil { return nil, nil } @@ -146106,10 +149914,10 @@ func (ec *executionContext) unmarshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpri vSlice = graphql.CoerceList(v) } var err error - res := make([]model.CMSCenter, len(vSlice)) + res := make([]model.DataForMonitoringType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNCMSCenter2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenter(ctx, vSlice[i]) + res[i], err = ec.unmarshalNDataForMonitoringType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146117,7 +149925,7 @@ func (ec *executionContext) unmarshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpri return res, nil } -func (ec *executionContext) marshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenterᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CMSCenter) graphql.Marshaler { +func (ec *executionContext) marshalODataForMonitoringType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.DataForMonitoringType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146144,7 +149952,7 @@ func (ec *executionContext) marshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterprise if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNCMSCenter2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCMSCenter(ctx, sel, v[i]) + ret[i] = ec.marshalNDataForMonitoringType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146164,7 +149972,41 @@ func (ec *executionContext) marshalOCMSCenter2ᚕgithubᚗcomᚋcmsᚑenterprise return ret } -func (ec *executionContext) unmarshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentTypeᚄ(ctx context.Context, v interface{}) ([]model.CcmInvolvmentType, error) { +func (ec *executionContext) unmarshalODataFullTimeOrIncrementalType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataFullTimeOrIncrementalType(ctx context.Context, v interface{}) (*models.DataFullTimeOrIncrementalType, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.DataFullTimeOrIncrementalType(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalODataFullTimeOrIncrementalType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataFullTimeOrIncrementalType(ctx context.Context, sel ast.SelectionSet, v *models.DataFullTimeOrIncrementalType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + return res +} + +func (ec *executionContext) unmarshalODataStartsType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataStartsType(ctx context.Context, v interface{}) (*models.DataStartsType, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.DataStartsType(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalODataStartsType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataStartsType(ctx context.Context, sel ast.SelectionSet, v *models.DataStartsType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + return res +} + +func (ec *executionContext) unmarshalODataToCollectFromParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipantsᚄ(ctx context.Context, v interface{}) ([]models.DataToCollectFromParticipants, error) { if v == nil { return nil, nil } @@ -146173,10 +150015,10 @@ func (ec *executionContext) unmarshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑ vSlice = graphql.CoerceList(v) } var err error - res := make([]model.CcmInvolvmentType, len(vSlice)) + res := make([]models.DataToCollectFromParticipants, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNCcmInvolvmentType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146184,7 +150026,7 @@ func (ec *executionContext) unmarshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑ return res, nil } -func (ec *executionContext) marshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.CcmInvolvmentType) graphql.Marshaler { +func (ec *executionContext) marshalODataToCollectFromParticipants2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipantsᚄ(ctx context.Context, sel ast.SelectionSet, v []models.DataToCollectFromParticipants) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146211,7 +150053,7 @@ func (ec *executionContext) marshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑen if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNCcmInvolvmentType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐCcmInvolvmentType(ctx, sel, v[i]) + ret[i] = ec.marshalNDataToCollectFromParticipants2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataToCollectFromParticipants(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146231,7 +150073,7 @@ func (ec *executionContext) marshalOCcmInvolvmentType2ᚕgithubᚗcomᚋcmsᚑen return ret } -func (ec *executionContext) unmarshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayTypeᚄ(ctx context.Context, v interface{}) ([]models.ClaimsBasedPayType, error) { +func (ec *executionContext) unmarshalODataToSendParticipantsType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsTypeᚄ(ctx context.Context, v interface{}) ([]model.DataToSendParticipantsType, error) { if v == nil { return nil, nil } @@ -146240,10 +150082,10 @@ func (ec *executionContext) unmarshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcms vSlice = graphql.CoerceList(v) } var err error - res := make([]models.ClaimsBasedPayType, len(vSlice)) + res := make([]model.DataToSendParticipantsType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNClaimsBasedPayType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNDataToSendParticipantsType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146251,7 +150093,7 @@ func (ec *executionContext) unmarshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcms return res, nil } -func (ec *executionContext) marshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ClaimsBasedPayType) graphql.Marshaler { +func (ec *executionContext) marshalODataToSendParticipantsType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.DataToSendParticipantsType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146278,7 +150120,7 @@ func (ec *executionContext) marshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑe if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNClaimsBasedPayType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐClaimsBasedPayType(ctx, sel, v[i]) + ret[i] = ec.marshalNDataToSendParticipantsType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146298,16 +150140,16 @@ func (ec *executionContext) marshalOClaimsBasedPayType2ᚕgithubᚗcomᚋcmsᚑe return ret } -func (ec *executionContext) unmarshalOComplexityCalculationLevelType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐComplexityCalculationLevelType(ctx context.Context, v interface{}) (*models.ComplexityCalculationLevelType, error) { +func (ec *executionContext) unmarshalODatesChangedNotificationType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDatesChangedNotificationType(ctx context.Context, v interface{}) (*models.DatesChangedNotificationType, error) { if v == nil { return nil, nil } tmp, err := graphql.UnmarshalString(v) - res := models.ComplexityCalculationLevelType(tmp) + res := models.DatesChangedNotificationType(tmp) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOComplexityCalculationLevelType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐComplexityCalculationLevelType(ctx context.Context, sel ast.SelectionSet, v *models.ComplexityCalculationLevelType) graphql.Marshaler { +func (ec *executionContext) marshalODatesChangedNotificationType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDatesChangedNotificationType(ctx context.Context, sel ast.SelectionSet, v *models.DatesChangedNotificationType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146315,16 +150157,23 @@ func (ec *executionContext) marshalOComplexityCalculationLevelType2ᚖgithubᚗc return res } -func (ec *executionContext) unmarshalOConfidenceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐConfidenceType(ctx context.Context, v interface{}) (*models.ConfidenceType, error) { +func (ec *executionContext) marshalODiscussionRoleSelection2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionRoleSelection(ctx context.Context, sel ast.SelectionSet, v *models.DiscussionRoleSelection) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._DiscussionRoleSelection(ctx, sel, v) +} + +func (ec *executionContext) unmarshalODiscussionUserRole2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionUserRole(ctx context.Context, v interface{}) (*models.DiscussionUserRole, error) { if v == nil { return nil, nil } tmp, err := graphql.UnmarshalString(v) - res := models.ConfidenceType(tmp) + res := models.DiscussionUserRole(tmp) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOConfidenceType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐConfidenceType(ctx context.Context, sel ast.SelectionSet, v *models.ConfidenceType) graphql.Marshaler { +func (ec *executionContext) marshalODiscussionUserRole2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionUserRole(ctx context.Context, sel ast.SelectionSet, v *models.DiscussionUserRole) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146332,74 +150181,23 @@ func (ec *executionContext) marshalOConfidenceType2ᚖgithubᚗcomᚋcmsᚑenter return res } -func (ec *executionContext) unmarshalOContractorSupportType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportTypeᚄ(ctx context.Context, v interface{}) ([]model.ContractorSupportType, error) { +func (ec *executionContext) unmarshalOEaseOfUse2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEaseOfUse(ctx context.Context, v interface{}) (*model.EaseOfUse, error) { if v == nil { return nil, nil } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } - var err error - res := make([]model.ContractorSupportType, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNContractorSupportType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportType(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil + var res = new(model.EaseOfUse) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOContractorSupportType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.ContractorSupportType) graphql.Marshaler { +func (ec *executionContext) marshalOEaseOfUse2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEaseOfUse(ctx context.Context, sel ast.SelectionSet, v *model.EaseOfUse) graphql.Marshaler { if v == nil { return graphql.Null } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNContractorSupportType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐContractorSupportType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret + return v } -func (ec *executionContext) unmarshalODataForMonitoringType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringTypeᚄ(ctx context.Context, v interface{}) ([]model.DataForMonitoringType, error) { +func (ec *executionContext) unmarshalOEvaluationApproachType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachTypeᚄ(ctx context.Context, v interface{}) ([]model.EvaluationApproachType, error) { if v == nil { return nil, nil } @@ -146408,10 +150206,10 @@ func (ec *executionContext) unmarshalODataForMonitoringType2ᚕgithubᚗcomᚋcm vSlice = graphql.CoerceList(v) } var err error - res := make([]model.DataForMonitoringType, len(vSlice)) + res := make([]model.EvaluationApproachType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNDataForMonitoringType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNEvaluationApproachType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146419,7 +150217,7 @@ func (ec *executionContext) unmarshalODataForMonitoringType2ᚕgithubᚗcomᚋcm return res, nil } -func (ec *executionContext) marshalODataForMonitoringType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.DataForMonitoringType) graphql.Marshaler { +func (ec *executionContext) marshalOEvaluationApproachType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.EvaluationApproachType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146446,7 +150244,7 @@ func (ec *executionContext) marshalODataForMonitoringType2ᚕgithubᚗcomᚋcms if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNDataForMonitoringType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataForMonitoringType(ctx, sel, v[i]) + ret[i] = ec.marshalNEvaluationApproachType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146466,41 +150264,21 @@ func (ec *executionContext) marshalODataForMonitoringType2ᚕgithubᚗcomᚋcms return ret } -func (ec *executionContext) unmarshalODataFullTimeOrIncrementalType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataFullTimeOrIncrementalType(ctx context.Context, v interface{}) (*models.DataFullTimeOrIncrementalType, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.DataFullTimeOrIncrementalType(tmp) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalODataFullTimeOrIncrementalType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataFullTimeOrIncrementalType(ctx context.Context, sel ast.SelectionSet, v *models.DataFullTimeOrIncrementalType) graphql.Marshaler { +func (ec *executionContext) marshalOExistingModel2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐExistingModel(ctx context.Context, sel ast.SelectionSet, v *models.ExistingModel) graphql.Marshaler { if v == nil { return graphql.Null } - res := graphql.MarshalString(string(*v)) - return res -} - -func (ec *executionContext) unmarshalODataStartsType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataStartsType(ctx context.Context, v interface{}) (*models.DataStartsType, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.DataStartsType(tmp) - return &res, graphql.ErrorOnPath(ctx, err) + return ec._ExistingModel(ctx, sel, v) } -func (ec *executionContext) marshalODataStartsType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDataStartsType(ctx context.Context, sel ast.SelectionSet, v *models.DataStartsType) graphql.Marshaler { +func (ec *executionContext) marshalOExistingModelLinks2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐExistingModelLinks(ctx context.Context, sel ast.SelectionSet, v *models.ExistingModelLinks) graphql.Marshaler { if v == nil { return graphql.Null } - res := graphql.MarshalString(string(*v)) - return res + return ec._ExistingModelLinks(ctx, sel, v) } -func (ec *executionContext) unmarshalODataToSendParticipantsType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsTypeᚄ(ctx context.Context, v interface{}) ([]model.DataToSendParticipantsType, error) { +func (ec *executionContext) unmarshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx context.Context, v interface{}) ([]models.FrequencyType, error) { if v == nil { return nil, nil } @@ -146509,10 +150287,10 @@ func (ec *executionContext) unmarshalODataToSendParticipantsType2ᚕgithubᚗcom vSlice = graphql.CoerceList(v) } var err error - res := make([]model.DataToSendParticipantsType, len(vSlice)) + res := make([]models.FrequencyType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNDataToSendParticipantsType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNFrequencyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146520,7 +150298,7 @@ func (ec *executionContext) unmarshalODataToSendParticipantsType2ᚕgithubᚗcom return res, nil } -func (ec *executionContext) marshalODataToSendParticipantsType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.DataToSendParticipantsType) graphql.Marshaler { +func (ec *executionContext) marshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.FrequencyType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146547,7 +150325,7 @@ func (ec *executionContext) marshalODataToSendParticipantsType2ᚕgithubᚗcom if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNDataToSendParticipantsType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐDataToSendParticipantsType(ctx, sel, v[i]) + ret[i] = ec.marshalNFrequencyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146567,64 +150345,7 @@ func (ec *executionContext) marshalODataToSendParticipantsType2ᚕgithubᚗcom return ret } -func (ec *executionContext) unmarshalODatesChangedNotificationType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDatesChangedNotificationType(ctx context.Context, v interface{}) (*models.DatesChangedNotificationType, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.DatesChangedNotificationType(tmp) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalODatesChangedNotificationType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDatesChangedNotificationType(ctx context.Context, sel ast.SelectionSet, v *models.DatesChangedNotificationType) graphql.Marshaler { - if v == nil { - return graphql.Null - } - res := graphql.MarshalString(string(*v)) - return res -} - -func (ec *executionContext) marshalODiscussionRoleSelection2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionRoleSelection(ctx context.Context, sel ast.SelectionSet, v *models.DiscussionRoleSelection) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._DiscussionRoleSelection(ctx, sel, v) -} - -func (ec *executionContext) unmarshalODiscussionUserRole2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionUserRole(ctx context.Context, v interface{}) (*models.DiscussionUserRole, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.DiscussionUserRole(tmp) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalODiscussionUserRole2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐDiscussionUserRole(ctx context.Context, sel ast.SelectionSet, v *models.DiscussionUserRole) graphql.Marshaler { - if v == nil { - return graphql.Null - } - res := graphql.MarshalString(string(*v)) - return res -} - -func (ec *executionContext) unmarshalOEaseOfUse2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEaseOfUse(ctx context.Context, v interface{}) (*model.EaseOfUse, error) { - if v == nil { - return nil, nil - } - var res = new(model.EaseOfUse) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOEaseOfUse2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEaseOfUse(ctx context.Context, sel ast.SelectionSet, v *model.EaseOfUse) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOEvaluationApproachType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachTypeᚄ(ctx context.Context, v interface{}) ([]model.EvaluationApproachType, error) { +func (ec *executionContext) unmarshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSourceᚄ(ctx context.Context, v interface{}) ([]models.FundingSource, error) { if v == nil { return nil, nil } @@ -146633,10 +150354,10 @@ func (ec *executionContext) unmarshalOEvaluationApproachType2ᚕgithubᚗcomᚋc vSlice = graphql.CoerceList(v) } var err error - res := make([]model.EvaluationApproachType, len(vSlice)) + res := make([]models.FundingSource, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNEvaluationApproachType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNFundingSource2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSource(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146644,7 +150365,7 @@ func (ec *executionContext) unmarshalOEvaluationApproachType2ᚕgithubᚗcomᚋc return res, nil } -func (ec *executionContext) marshalOEvaluationApproachType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.EvaluationApproachType) graphql.Marshaler { +func (ec *executionContext) marshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSourceᚄ(ctx context.Context, sel ast.SelectionSet, v []models.FundingSource) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146671,7 +150392,7 @@ func (ec *executionContext) marshalOEvaluationApproachType2ᚕgithubᚗcomᚋcms if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNEvaluationApproachType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐEvaluationApproachType(ctx, sel, v[i]) + ret[i] = ec.marshalNFundingSource2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSource(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146691,21 +150412,7 @@ func (ec *executionContext) marshalOEvaluationApproachType2ᚕgithubᚗcomᚋcms return ret } -func (ec *executionContext) marshalOExistingModel2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐExistingModel(ctx context.Context, sel ast.SelectionSet, v *models.ExistingModel) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._ExistingModel(ctx, sel, v) -} - -func (ec *executionContext) marshalOExistingModelLinks2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐExistingModelLinks(ctx context.Context, sel ast.SelectionSet, v *models.ExistingModelLinks) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._ExistingModelLinks(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx context.Context, v interface{}) ([]models.FrequencyType, error) { +func (ec *executionContext) unmarshalOGainshareArrangementEligibility2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibilityᚄ(ctx context.Context, v interface{}) ([]model.GainshareArrangementEligibility, error) { if v == nil { return nil, nil } @@ -146714,10 +150421,10 @@ func (ec *executionContext) unmarshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑente vSlice = graphql.CoerceList(v) } var err error - res := make([]models.FrequencyType, len(vSlice)) + res := make([]model.GainshareArrangementEligibility, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNFrequencyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNGainshareArrangementEligibility2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibility(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146725,7 +150432,7 @@ func (ec *executionContext) unmarshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑente return res, nil } -func (ec *executionContext) marshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.FrequencyType) graphql.Marshaler { +func (ec *executionContext) marshalOGainshareArrangementEligibility2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibilityᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GainshareArrangementEligibility) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146752,7 +150459,7 @@ func (ec *executionContext) marshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterp if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNFrequencyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFrequencyType(ctx, sel, v[i]) + ret[i] = ec.marshalNGainshareArrangementEligibility2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibility(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146772,7 +150479,7 @@ func (ec *executionContext) marshalOFrequencyType2ᚕgithubᚗcomᚋcmsᚑenterp return ret } -func (ec *executionContext) unmarshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSourceᚄ(ctx context.Context, v interface{}) ([]models.FundingSource, error) { +func (ec *executionContext) unmarshalOGeographyApplication2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplicationᚄ(ctx context.Context, v interface{}) ([]model.GeographyApplication, error) { if v == nil { return nil, nil } @@ -146781,10 +150488,10 @@ func (ec *executionContext) unmarshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑente vSlice = graphql.CoerceList(v) } var err error - res := make([]models.FundingSource, len(vSlice)) + res := make([]model.GeographyApplication, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNFundingSource2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSource(ctx, vSlice[i]) + res[i], err = ec.unmarshalNGeographyApplication2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplication(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146792,7 +150499,7 @@ func (ec *executionContext) unmarshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑente return res, nil } -func (ec *executionContext) marshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSourceᚄ(ctx context.Context, sel ast.SelectionSet, v []models.FundingSource) graphql.Marshaler { +func (ec *executionContext) marshalOGeographyApplication2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplicationᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GeographyApplication) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146819,7 +150526,7 @@ func (ec *executionContext) marshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterp if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNFundingSource2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐFundingSource(ctx, sel, v[i]) + ret[i] = ec.marshalNGeographyApplication2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplication(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146839,7 +150546,7 @@ func (ec *executionContext) marshalOFundingSource2ᚕgithubᚗcomᚋcmsᚑenterp return ret } -func (ec *executionContext) unmarshalOGainshareArrangementEligibility2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibilityᚄ(ctx context.Context, v interface{}) ([]model.GainshareArrangementEligibility, error) { +func (ec *executionContext) unmarshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionTypeᚄ(ctx context.Context, v interface{}) ([]models.GeographyRegionType, error) { if v == nil { return nil, nil } @@ -146848,10 +150555,10 @@ func (ec *executionContext) unmarshalOGainshareArrangementEligibility2ᚕgithub vSlice = graphql.CoerceList(v) } var err error - res := make([]model.GainshareArrangementEligibility, len(vSlice)) + res := make([]models.GeographyRegionType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNGainshareArrangementEligibility2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibility(ctx, vSlice[i]) + res[i], err = ec.unmarshalNGeographyRegionType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146859,7 +150566,7 @@ func (ec *executionContext) unmarshalOGainshareArrangementEligibility2ᚕgithub return res, nil } -func (ec *executionContext) marshalOGainshareArrangementEligibility2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibilityᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GainshareArrangementEligibility) graphql.Marshaler { +func (ec *executionContext) marshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.GeographyRegionType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146886,7 +150593,7 @@ func (ec *executionContext) marshalOGainshareArrangementEligibility2ᚕgithubᚗ if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNGainshareArrangementEligibility2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGainshareArrangementEligibility(ctx, sel, v[i]) + ret[i] = ec.marshalNGeographyRegionType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146906,7 +150613,7 @@ func (ec *executionContext) marshalOGainshareArrangementEligibility2ᚕgithubᚗ return ret } -func (ec *executionContext) unmarshalOGeographyApplication2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplicationᚄ(ctx context.Context, v interface{}) ([]model.GeographyApplication, error) { +func (ec *executionContext) unmarshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyTypeᚄ(ctx context.Context, v interface{}) ([]model.GeographyType, error) { if v == nil { return nil, nil } @@ -146915,10 +150622,10 @@ func (ec *executionContext) unmarshalOGeographyApplication2ᚕgithubᚗcomᚋcms vSlice = graphql.CoerceList(v) } var err error - res := make([]model.GeographyApplication, len(vSlice)) + res := make([]model.GeographyType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNGeographyApplication2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplication(ctx, vSlice[i]) + res[i], err = ec.unmarshalNGeographyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146926,7 +150633,7 @@ func (ec *executionContext) unmarshalOGeographyApplication2ᚕgithubᚗcomᚋcms return res, nil } -func (ec *executionContext) marshalOGeographyApplication2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplicationᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GeographyApplication) graphql.Marshaler { +func (ec *executionContext) marshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GeographyType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -146953,7 +150660,7 @@ func (ec *executionContext) marshalOGeographyApplication2ᚕgithubᚗcomᚋcms if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNGeographyApplication2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyApplication(ctx, sel, v[i]) + ret[i] = ec.marshalNGeographyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -146973,7 +150680,17 @@ func (ec *executionContext) marshalOGeographyApplication2ᚕgithubᚗcomᚋcms return ret } -func (ec *executionContext) unmarshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionTypeᚄ(ctx context.Context, v interface{}) ([]models.GeographyRegionType, error) { +func (ec *executionContext) unmarshalOInt2int(ctx context.Context, v interface{}) (int, error) { + res, err := graphql.UnmarshalInt(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { + res := graphql.MarshalInt(v) + return res +} + +func (ec *executionContext) unmarshalOInt2ᚕintᚄ(ctx context.Context, v interface{}) ([]int, error) { if v == nil { return nil, nil } @@ -146982,10 +150699,10 @@ func (ec *executionContext) unmarshalOGeographyRegionType2ᚕgithubᚗcomᚋcms vSlice = graphql.CoerceList(v) } var err error - res := make([]models.GeographyRegionType, len(vSlice)) + res := make([]int, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNGeographyRegionType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNInt2int(ctx, vSlice[i]) if err != nil { return nil, err } @@ -146993,7 +150710,61 @@ func (ec *executionContext) unmarshalOGeographyRegionType2ᚕgithubᚗcomᚋcms return res, nil } -func (ec *executionContext) marshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.GeographyRegionType) graphql.Marshaler { +func (ec *executionContext) marshalOInt2ᚕintᚄ(ctx context.Context, sel ast.SelectionSet, v []int) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNInt2int(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v interface{}) (*int, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalInt(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalInt(*v) + return res +} + +func (ec *executionContext) unmarshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristicᚄ(ctx context.Context, v interface{}) ([]model.KeyCharacteristic, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]model.KeyCharacteristic, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNKeyCharacteristic2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristic(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristicᚄ(ctx context.Context, sel ast.SelectionSet, v []model.KeyCharacteristic) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147020,7 +150791,7 @@ func (ec *executionContext) marshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑ if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNGeographyRegionType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐGeographyRegionType(ctx, sel, v[i]) + ret[i] = ec.marshalNKeyCharacteristic2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristic(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147040,7 +150811,23 @@ func (ec *executionContext) marshalOGeographyRegionType2ᚕgithubᚗcomᚋcmsᚑ return ret } -func (ec *executionContext) unmarshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyTypeᚄ(ctx context.Context, v interface{}) ([]model.GeographyType, error) { +func (ec *executionContext) unmarshalOMap2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalMap(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOMap2map(ctx context.Context, sel ast.SelectionSet, v map[string]interface{}) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalMap(v) + return res +} + +func (ec *executionContext) unmarshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUsesᚄ(ctx context.Context, v interface{}) ([]model.MintUses, error) { if v == nil { return nil, nil } @@ -147049,10 +150836,10 @@ func (ec *executionContext) unmarshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑente vSlice = graphql.CoerceList(v) } var err error - res := make([]model.GeographyType, len(vSlice)) + res := make([]model.MintUses, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNGeographyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNMintUses2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUses(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147060,7 +150847,7 @@ func (ec *executionContext) unmarshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑente return res, nil } -func (ec *executionContext) marshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.GeographyType) graphql.Marshaler { +func (ec *executionContext) marshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUsesᚄ(ctx context.Context, sel ast.SelectionSet, v []model.MintUses) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147087,7 +150874,7 @@ func (ec *executionContext) marshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterp if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNGeographyType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐGeographyType(ctx, sel, v[i]) + ret[i] = ec.marshalNMintUses2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUses(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147107,71 +150894,7 @@ func (ec *executionContext) marshalOGeographyType2ᚕgithubᚗcomᚋcmsᚑenterp return ret } -func (ec *executionContext) unmarshalOInt2int(ctx context.Context, v interface{}) (int, error) { - res, err := graphql.UnmarshalInt(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - res := graphql.MarshalInt(v) - return res -} - -func (ec *executionContext) unmarshalOInt2ᚕintᚄ(ctx context.Context, v interface{}) ([]int, error) { - if v == nil { - return nil, nil - } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } - var err error - res := make([]int, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNInt2int(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOInt2ᚕintᚄ(ctx context.Context, sel ast.SelectionSet, v []int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNInt2int(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v interface{}) (*int, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalInt(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - res := graphql.MarshalInt(*v) - return res -} - -func (ec *executionContext) unmarshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristicᚄ(ctx context.Context, v interface{}) ([]model.KeyCharacteristic, error) { +func (ec *executionContext) unmarshalOModelCategory2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategoryᚄ(ctx context.Context, v interface{}) ([]models.ModelCategory, error) { if v == nil { return nil, nil } @@ -147180,10 +150903,10 @@ func (ec *executionContext) unmarshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑ vSlice = graphql.CoerceList(v) } var err error - res := make([]model.KeyCharacteristic, len(vSlice)) + res := make([]models.ModelCategory, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNKeyCharacteristic2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristic(ctx, vSlice[i]) + res[i], err = ec.unmarshalNModelCategory2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147191,7 +150914,7 @@ func (ec *executionContext) unmarshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑ return res, nil } -func (ec *executionContext) marshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristicᚄ(ctx context.Context, sel ast.SelectionSet, v []model.KeyCharacteristic) graphql.Marshaler { +func (ec *executionContext) marshalOModelCategory2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategoryᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ModelCategory) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147218,7 +150941,7 @@ func (ec *executionContext) marshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑen if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNKeyCharacteristic2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐKeyCharacteristic(ctx, sel, v[i]) + ret[i] = ec.marshalNModelCategory2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147238,23 +150961,24 @@ func (ec *executionContext) marshalOKeyCharacteristic2ᚕgithubᚗcomᚋcmsᚑen return ret } -func (ec *executionContext) unmarshalOMap2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { +func (ec *executionContext) unmarshalOModelCategory2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx context.Context, v interface{}) (*models.ModelCategory, error) { if v == nil { return nil, nil } - res, err := graphql.UnmarshalMap(v) - return res, graphql.ErrorOnPath(ctx, err) + tmp, err := graphql.UnmarshalString(v) + res := models.ModelCategory(tmp) + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOMap2map(ctx context.Context, sel ast.SelectionSet, v map[string]interface{}) graphql.Marshaler { +func (ec *executionContext) marshalOModelCategory2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx context.Context, sel ast.SelectionSet, v *models.ModelCategory) graphql.Marshaler { if v == nil { return graphql.Null } - res := graphql.MarshalMap(v) + res := graphql.MarshalString(string(*v)) return res } -func (ec *executionContext) unmarshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUsesᚄ(ctx context.Context, v interface{}) ([]model.MintUses, error) { +func (ec *executionContext) unmarshalOModelLearningSystemType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemTypeᚄ(ctx context.Context, v interface{}) ([]model.ModelLearningSystemType, error) { if v == nil { return nil, nil } @@ -147263,10 +150987,10 @@ func (ec *executionContext) unmarshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpris vSlice = graphql.CoerceList(v) } var err error - res := make([]model.MintUses, len(vSlice)) + res := make([]model.ModelLearningSystemType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNMintUses2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUses(ctx, vSlice[i]) + res[i], err = ec.unmarshalNModelLearningSystemType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147274,7 +150998,7 @@ func (ec *executionContext) unmarshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpris return res, nil } -func (ec *executionContext) marshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUsesᚄ(ctx context.Context, sel ast.SelectionSet, v []model.MintUses) graphql.Marshaler { +func (ec *executionContext) marshalOModelLearningSystemType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.ModelLearningSystemType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147301,7 +151025,7 @@ func (ec *executionContext) marshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterprise if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNMintUses2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMintUses(ctx, sel, v[i]) + ret[i] = ec.marshalNModelLearningSystemType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147321,83 +151045,40 @@ func (ec *executionContext) marshalOMintUses2ᚕgithubᚗcomᚋcmsᚑenterprise return ret } -func (ec *executionContext) unmarshalOModelCategory2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategoryᚄ(ctx context.Context, v interface{}) ([]models.ModelCategory, error) { +func (ec *executionContext) unmarshalOModelPhase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPhase(ctx context.Context, v interface{}) (*models.ModelPhase, error) { if v == nil { return nil, nil } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } - var err error - res := make([]models.ModelCategory, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModelCategory2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil + tmp, err := graphql.UnmarshalString(v) + res := models.ModelPhase(tmp) + return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOModelCategory2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategoryᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ModelCategory) graphql.Marshaler { +func (ec *executionContext) marshalOModelPhase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPhase(ctx context.Context, sel ast.SelectionSet, v *models.ModelPhase) graphql.Marshaler { if v == nil { return graphql.Null } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNModelCategory2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() + res := graphql.MarshalString(string(*v)) + return res +} - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } +func (ec *executionContext) marshalOModelPlan2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPlan(ctx context.Context, sel ast.SelectionSet, v *models.ModelPlan) graphql.Marshaler { + if v == nil { + return graphql.Null } - - return ret + return ec._ModelPlan(ctx, sel, v) } -func (ec *executionContext) unmarshalOModelCategory2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx context.Context, v interface{}) (*models.ModelCategory, error) { +func (ec *executionContext) unmarshalOModelStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelStatus(ctx context.Context, v interface{}) (*models.ModelStatus, error) { if v == nil { return nil, nil } tmp, err := graphql.UnmarshalString(v) - res := models.ModelCategory(tmp) + res := models.ModelStatus(tmp) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOModelCategory2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelCategory(ctx context.Context, sel ast.SelectionSet, v *models.ModelCategory) graphql.Marshaler { +func (ec *executionContext) marshalOModelStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelStatus(ctx context.Context, sel ast.SelectionSet, v *models.ModelStatus) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147405,7 +151086,7 @@ func (ec *executionContext) marshalOModelCategory2ᚖgithubᚗcomᚋcmsᚑenterp return res } -func (ec *executionContext) unmarshalOModelLearningSystemType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemTypeᚄ(ctx context.Context, v interface{}) ([]model.ModelLearningSystemType, error) { +func (ec *executionContext) unmarshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelTypeᚄ(ctx context.Context, v interface{}) ([]models.ModelType, error) { if v == nil { return nil, nil } @@ -147414,10 +151095,10 @@ func (ec *executionContext) unmarshalOModelLearningSystemType2ᚕgithubᚗcomᚋ vSlice = graphql.CoerceList(v) } var err error - res := make([]model.ModelLearningSystemType, len(vSlice)) + res := make([]models.ModelType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModelLearningSystemType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNModelType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147425,7 +151106,7 @@ func (ec *executionContext) unmarshalOModelLearningSystemType2ᚕgithubᚗcomᚋ return res, nil } -func (ec *executionContext) marshalOModelLearningSystemType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.ModelLearningSystemType) graphql.Marshaler { +func (ec *executionContext) marshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ModelType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147452,7 +151133,7 @@ func (ec *executionContext) marshalOModelLearningSystemType2ᚕgithubᚗcomᚋcm if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNModelLearningSystemType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐModelLearningSystemType(ctx, sel, v[i]) + ret[i] = ec.marshalNModelType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147472,40 +151153,16 @@ func (ec *executionContext) marshalOModelLearningSystemType2ᚕgithubᚗcomᚋcm return ret } -func (ec *executionContext) unmarshalOModelPhase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPhase(ctx context.Context, v interface{}) (*models.ModelPhase, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.ModelPhase(tmp) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModelPhase2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPhase(ctx context.Context, sel ast.SelectionSet, v *models.ModelPhase) graphql.Marshaler { - if v == nil { - return graphql.Null - } - res := graphql.MarshalString(string(*v)) - return res -} - -func (ec *executionContext) marshalOModelPlan2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelPlan(ctx context.Context, sel ast.SelectionSet, v *models.ModelPlan) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._ModelPlan(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOModelStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelStatus(ctx context.Context, v interface{}) (*models.ModelStatus, error) { +func (ec *executionContext) unmarshalOModelViewFilter2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelViewFilter(ctx context.Context, v interface{}) (*models.ModelViewFilter, error) { if v == nil { return nil, nil } tmp, err := graphql.UnmarshalString(v) - res := models.ModelStatus(tmp) + res := models.ModelViewFilter(tmp) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) marshalOModelStatus2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelStatus(ctx context.Context, sel ast.SelectionSet, v *models.ModelStatus) graphql.Marshaler { +func (ec *executionContext) marshalOModelViewFilter2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelViewFilter(ctx context.Context, sel ast.SelectionSet, v *models.ModelViewFilter) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147513,7 +151170,7 @@ func (ec *executionContext) marshalOModelStatus2ᚖgithubᚗcomᚋcmsᚑenterpri return res } -func (ec *executionContext) unmarshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelTypeᚄ(ctx context.Context, v interface{}) ([]models.ModelType, error) { +func (ec *executionContext) unmarshalOMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileTypeᚄ(ctx context.Context, v interface{}) ([]model.MonitoringFileType, error) { if v == nil { return nil, nil } @@ -147522,10 +151179,10 @@ func (ec *executionContext) unmarshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpri vSlice = graphql.CoerceList(v) } var err error - res := make([]models.ModelType, len(vSlice)) + res := make([]model.MonitoringFileType, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModelType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNMonitoringFileType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileType(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147533,7 +151190,7 @@ func (ec *executionContext) unmarshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpri return res, nil } -func (ec *executionContext) marshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []models.ModelType) graphql.Marshaler { +func (ec *executionContext) marshalOMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.MonitoringFileType) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147560,7 +151217,7 @@ func (ec *executionContext) marshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterprise if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNModelType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelType(ctx, sel, v[i]) + ret[i] = ec.marshalNMonitoringFileType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileType(ctx, sel, v[i]) } if isLen1 { f(i) @@ -147580,24 +151237,7 @@ func (ec *executionContext) marshalOModelType2ᚕgithubᚗcomᚋcmsᚑenterprise return ret } -func (ec *executionContext) unmarshalOModelViewFilter2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelViewFilter(ctx context.Context, v interface{}) (*models.ModelViewFilter, error) { - if v == nil { - return nil, nil - } - tmp, err := graphql.UnmarshalString(v) - res := models.ModelViewFilter(tmp) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModelViewFilter2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐModelViewFilter(ctx context.Context, sel ast.SelectionSet, v *models.ModelViewFilter) graphql.Marshaler { - if v == nil { - return graphql.Null - } - res := graphql.MarshalString(string(*v)) - return res -} - -func (ec *executionContext) unmarshalOMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileTypeᚄ(ctx context.Context, v interface{}) ([]model.MonitoringFileType, error) { +func (ec *executionContext) unmarshalOMultiSourceDataToCollect2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollectᚄ(ctx context.Context, v interface{}) ([]models.MultiSourceDataToCollect, error) { if v == nil { return nil, nil } @@ -147606,10 +151246,10 @@ func (ec *executionContext) unmarshalOMonitoringFileType2ᚕgithubᚗcomᚋcms vSlice = graphql.CoerceList(v) } var err error - res := make([]model.MonitoringFileType, len(vSlice)) + res := make([]models.MultiSourceDataToCollect, len(vSlice)) for i := range vSlice { ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNMonitoringFileType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileType(ctx, vSlice[i]) + res[i], err = ec.unmarshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx, vSlice[i]) if err != nil { return nil, err } @@ -147617,7 +151257,7 @@ func (ec *executionContext) unmarshalOMonitoringFileType2ᚕgithubᚗcomᚋcms return res, nil } -func (ec *executionContext) marshalOMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []model.MonitoringFileType) graphql.Marshaler { +func (ec *executionContext) marshalOMultiSourceDataToCollect2ᚕgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollectᚄ(ctx context.Context, sel ast.SelectionSet, v []models.MultiSourceDataToCollect) graphql.Marshaler { if v == nil { return graphql.Null } @@ -147644,7 +151284,7 @@ func (ec *executionContext) marshalOMonitoringFileType2ᚕgithubᚗcomᚋcmsᚑe if !isLen1 { defer wg.Done() } - ret[i] = ec.marshalNMonitoringFileType2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋgraphᚋmodelᚐMonitoringFileType(ctx, sel, v[i]) + ret[i] = ec.marshalNMultiSourceDataToCollect2githubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐMultiSourceDataToCollect(ctx, sel, v[i]) } if isLen1 { f(i) @@ -149568,6 +153208,23 @@ func (ec *executionContext) marshalOYesNoType2ᚕgithubᚗcomᚋcmsᚑenterprise return ret } +func (ec *executionContext) unmarshalOYesNoType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐYesNoType(ctx context.Context, v interface{}) (*models.YesNoType, error) { + if v == nil { + return nil, nil + } + tmp, err := graphql.UnmarshalString(v) + res := models.YesNoType(tmp) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOYesNoType2ᚖgithubᚗcomᚋcmsᚑenterpriseᚋmintᚑappᚋpkgᚋmodelsᚐYesNoType(ctx context.Context, sel ast.SelectionSet, v *models.YesNoType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(string(*v)) + return res +} + func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/pkg/graph/resolvers/activity.resolvers.go b/pkg/graph/resolvers/activity.resolvers.go index e71b22e865..3e10cdc505 100644 --- a/pkg/graph/resolvers/activity.resolvers.go +++ b/pkg/graph/resolvers/activity.resolvers.go @@ -66,6 +66,30 @@ func (r *newModelPlanActivityMetaResolver) ModelPlan(ctx context.Context, obj *m return ModelPlanGetByIDLOADER(ctx, obj.ModelPlanID) } +// DataExchangeApproach is the resolver for the dataExchangeApproach field. +func (r *planDataExchangeApproachCompletedActivityMetaResolver) DataExchangeApproach(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*models.PlanDataExchangeApproach, error) { + logger := appcontext.ZLogger(ctx) + + return PlanDataExchangeApproachGetByID(logger, r.store, obj.DataExchangeApproachID) +} + +// ModelPlan is the resolver for the modelPlan field. +func (r *planDataExchangeApproachCompletedActivityMetaResolver) ModelPlan(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*models.ModelPlan, error) { + logger := appcontext.ZLogger(ctx) + + dataExchangeApproach, err := PlanDataExchangeApproachGetByID(logger, r.store, obj.DataExchangeApproachID) + if err != nil { + return nil, err + } + + return ModelPlanGetByIDLOADER(ctx, dataExchangeApproach.ModelPlanID) +} + +// MarkedCompleteByUserAccount is the resolver for the markedCompleteByUserAccount field. +func (r *planDataExchangeApproachCompletedActivityMetaResolver) MarkedCompleteByUserAccount(ctx context.Context, obj *models.PlanDataExchangeApproachCompletedActivityMeta) (*authentication.UserAccount, error) { + return UserAccountGetByIDLOADER(ctx, obj.MarkedCompleteBy) +} + // ModelPlan is the resolver for the modelPlan field. func (r *taggedInDiscussionReplyActivityMetaResolver) ModelPlan(ctx context.Context, obj *models.TaggedInDiscussionReplyActivityMeta) (*models.ModelPlan, error) { return ModelPlanGetByIDLOADER(ctx, obj.ModelPlanID) @@ -127,6 +151,11 @@ func (r *Resolver) NewModelPlanActivityMeta() generated.NewModelPlanActivityMeta return &newModelPlanActivityMetaResolver{r} } +// PlanDataExchangeApproachCompletedActivityMeta returns generated.PlanDataExchangeApproachCompletedActivityMetaResolver implementation. +func (r *Resolver) PlanDataExchangeApproachCompletedActivityMeta() generated.PlanDataExchangeApproachCompletedActivityMetaResolver { + return &planDataExchangeApproachCompletedActivityMetaResolver{r} +} + // TaggedInDiscussionReplyActivityMeta returns generated.TaggedInDiscussionReplyActivityMetaResolver implementation. func (r *Resolver) TaggedInDiscussionReplyActivityMeta() generated.TaggedInDiscussionReplyActivityMetaResolver { return &taggedInDiscussionReplyActivityMetaResolver{r} @@ -144,5 +173,6 @@ type datesChangedActivityMetaResolver struct{ *Resolver } type modelPlanSharedActivityMetaResolver struct{ *Resolver } type newDiscussionRepliedActivityMetaResolver struct{ *Resolver } type newModelPlanActivityMetaResolver struct{ *Resolver } +type planDataExchangeApproachCompletedActivityMetaResolver struct{ *Resolver } type taggedInDiscussionReplyActivityMetaResolver struct{ *Resolver } type taggedInPlanDiscussionActivityMetaResolver struct{ *Resolver } diff --git a/pkg/graph/resolvers/base_struct.go b/pkg/graph/resolvers/base_struct.go index d6db68e1dc..eb805cd36d 100644 --- a/pkg/graph/resolvers/base_struct.go +++ b/pkg/graph/resolvers/base_struct.go @@ -34,7 +34,6 @@ func BaseStructPreUpdate(logger *zap.Logger, bs models.IBaseStruct, changes map[ } return nil - } // BaseStructPreCreate is called before an object is created to make sure the user has permissions to do so diff --git a/pkg/graph/resolvers/core_struct.go b/pkg/graph/resolvers/core_struct.go new file mode 100644 index 0000000000..e672e1be39 --- /dev/null +++ b/pkg/graph/resolvers/core_struct.go @@ -0,0 +1,45 @@ +package resolvers + +import ( + "go.uber.org/zap" + + "github.com/cms-enterprise/mint-app/pkg/accesscontrol" + "github.com/cms-enterprise/mint-app/pkg/authentication" + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/storage" +) + +// CoreStructPreUpdate applies incoming changes from to a core TaskList Section, and validates its status +// It modifies the core struct object bs that is passed to it. +func CoreStructPreUpdate( + logger *zap.Logger, + cs models.ICoreStruct, + changes map[string]interface{}, + principal authentication.Principal, + store *storage.Store, + applyChanges bool, + checkAccess bool, +) error { + //Future Enhancement: Update this to take a named preparer instead of a store + err := cs.SetModifiedBy(principal) + if err != nil { + return err + } + + if checkAccess { + err := accesscontrol.ErrorIfNotCollaborator(cs, logger, principal, store) + if err != nil { + return err + } + } + + if applyChanges { + + err := ApplyChanges(changes, cs) + if err != nil { + return err + } + } + + return nil +} diff --git a/pkg/graph/resolvers/core_task_list_section.go b/pkg/graph/resolvers/core_task_list_section.go new file mode 100644 index 0000000000..f734fb95a9 --- /dev/null +++ b/pkg/graph/resolvers/core_task_list_section.go @@ -0,0 +1,25 @@ +package resolvers + +import ( + "go.uber.org/zap" + + "github.com/cms-enterprise/mint-app/pkg/authentication" + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/storage" +) + +// CoreTaskListSectionPreUpdate applies incoming changes from to a TaskList Section, and validates it's status +func CoreTaskListSectionPreUpdate( + logger *zap.Logger, + tls models.ICoreTaskListSection, + changes map[string]interface{}, + principal authentication.Principal, + store *storage.Store, +) error { + err := BaseStructPreUpdate(logger, tls, changes, principal, store, true, true) + if err != nil { + return err + } + + return nil +} diff --git a/pkg/graph/resolvers/model_plan.go b/pkg/graph/resolvers/model_plan.go index ffaf3ccfd2..eb51736096 100644 --- a/pkg/graph/resolvers/model_plan.go +++ b/pkg/graph/resolvers/model_plan.go @@ -60,7 +60,6 @@ func ModelPlanCreate( userAccount := principal.Account() createdPlan, err := store.ModelPlanCreate(tx, logger, plan) - if err != nil { return nil, err } @@ -68,8 +67,8 @@ func ModelPlanCreate( baseTaskListUser := models.NewBaseTaskListSection(userAccount.ID, createdPlan.ID) // Create a default plan basics object - basics := models.NewPlanBasics(baseTaskListUser) + _, err = store.PlanBasicsCreate(tx, logger, basics) if err != nil { return nil, err @@ -82,7 +81,8 @@ func ModelPlanCreate( if err != nil { return nil, err } - // Create a default Plan Beneficiares object + + // Create a default Plan Beneficiaries object beneficiaries := models.NewPlanBeneficiaries(baseTaskListUser) _, err = store.PlanBeneficiariesCreate(tx, logger, beneficiaries) @@ -114,6 +114,14 @@ func ModelPlanCreate( return nil, err } + // Create default Plan Data Exchange Approach object + dataExchangeApproach := models.NewPlanDataExchangeApproachFromBaseTaskListSection(baseTaskListUser) + + _, err = store.PlanDataExchangeApproachCreate(tx, logger, dataExchangeApproach) + if err != nil { + return nil, err + } + //Create default Operational Needs _, err = store.OperationalNeedInsertAllPossible(tx, logger, createdPlan.ID, principal.Account().ID) if err != nil { diff --git a/pkg/graph/resolvers/model_plan.resolvers.go b/pkg/graph/resolvers/model_plan.resolvers.go index 47cb5a8842..dbeed4f385 100644 --- a/pkg/graph/resolvers/model_plan.resolvers.go +++ b/pkg/graph/resolvers/model_plan.resolvers.go @@ -67,6 +67,13 @@ func (r *modelPlanResolver) Payments(ctx context.Context, obj *models.ModelPlan) return PlanPaymentsGetByModelPlanIDLOADER(ctx, obj.ID) } +// DataExchangeApproach is the resolver for the dataExchangeApproach field. +func (r *modelPlanResolver) DataExchangeApproach(ctx context.Context, obj *models.ModelPlan) (*models.PlanDataExchangeApproach, error) { + logger := appcontext.ZLogger(ctx) + + return PlanDataExchangeApproachGetByModelPlanID(logger, r.store, obj.ID) +} + // TaskListStatus is the resolver for the taskListStatus field. func (r *modelPlanResolver) TaskListStatus(ctx context.Context, obj *models.ModelPlan) (models.TaskStatus, error) { logger := appcontext.ZLogger(ctx) diff --git a/pkg/graph/resolvers/plan_data_exchange_approach.go b/pkg/graph/resolvers/plan_data_exchange_approach.go new file mode 100644 index 0000000000..4804e15e6f --- /dev/null +++ b/pkg/graph/resolvers/plan_data_exchange_approach.go @@ -0,0 +1,89 @@ +package resolvers + +import ( + "time" + + "github.com/google/uuid" + "go.uber.org/zap" + + "github.com/cms-enterprise/mint-app/pkg/authentication" + + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/storage" +) + +// PlanDataExchangeApproachGetByID retrieves a plan data exchange approach by its ID +func PlanDataExchangeApproachGetByID(logger *zap.Logger, store *storage.Store, id uuid.UUID) (*models.PlanDataExchangeApproach, error) { + return store.PlanDataExchangeApproachGetByID(logger, id) +} + +// PlanDataExchangeApproachGetByModelPlanID retrieves a plan data exchange approach by its model plan ID +func PlanDataExchangeApproachGetByModelPlanID(logger *zap.Logger, store *storage.Store, modelPlanID uuid.UUID) (*models.PlanDataExchangeApproach, error) { + return store.PlanDataExchangeApproachGetByModelPlanID(logger, modelPlanID) +} + +// PlanDataExchangeApproachUpdate updates a plan data exchange approach +func PlanDataExchangeApproachUpdate( + logger *zap.Logger, + id uuid.UUID, + changes map[string]interface{}, + principal authentication.Principal, + store *storage.Store, +) (*models.PlanDataExchangeApproach, error) { + // Get existing plan data exchange approach + existing, err := store.PlanDataExchangeApproachGetByID(logger, id) + if err != nil { + return nil, err + } + + isSettingToComplete := false + + // Check if the 'changes' map contains the 'isDataExchangeApproachComplete' key and that the + // 'isDataExchangeApproachComplete' is different from the existing value + if isDataExchangeApproachComplete, ok := changes["isDataExchangeApproachComplete"]; ok { + isSettingToComplete = isDataExchangeApproachComplete.(bool) + + // Check if time has been set or is the default value + if existing.MarkedCompleteDts == nil && isSettingToComplete { + // We do not actually store the isDataExchangeApproachComplete field in the database + // so we need to remove it from the changes map + + existing.MarkedCompleteBy = &principal.Account().ID + existing.MarkedCompleteDts = models.TimePointer(time.Now().UTC()) + } else if !isSettingToComplete { + existing.MarkedCompleteBy = nil + existing.MarkedCompleteDts = nil + } + + delete(changes, "isDataExchangeApproachComplete") + } + + // Update the base task list section + err = CoreTaskListSectionPreUpdate(logger, existing, changes, principal, store) + if err != nil { + return nil, err + } + + targetStatus, err := EvaluateStatus(len(changes) > 0, isSettingToComplete) + if err != nil { + return nil, err + } + + existing.Status = &targetStatus + + // Update the plan data exchange approach + retDataExchangeApproach, err := store.PlanDataExchangeApproachUpdate(logger, existing) + return retDataExchangeApproach, err +} + +// EvaluateStatus derives the status of the data exchange approach based on the current state of the model +func EvaluateStatus(hasChanges bool, isSettingToComplete bool) (models.DataExchangeApproachStatus, error) { + + if isSettingToComplete { + return models.DataExchangeApproachStatusCompleted, nil + } else if hasChanges { + return models.DataExchangeApproachStatusInProgress, nil + } + + return models.DataExchangeApproachStatusReady, nil +} diff --git a/pkg/graph/resolvers/plan_data_exchange_approach.resolvers.go b/pkg/graph/resolvers/plan_data_exchange_approach.resolvers.go new file mode 100644 index 0000000000..25f0fec7c5 --- /dev/null +++ b/pkg/graph/resolvers/plan_data_exchange_approach.resolvers.go @@ -0,0 +1,45 @@ +package resolvers + +// This file will be automatically regenerated based on the schema, any resolver implementations +// will be copied through when generating and any unknown code will be moved to the end. +// Code generated by github.com/99designs/gqlgen + +import ( + "context" + + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/appcontext" + "github.com/cms-enterprise/mint-app/pkg/graph/generated" + "github.com/cms-enterprise/mint-app/pkg/models" +) + +// UpdatePlanDataExchangeApproach is the resolver for the updatePlanDataExchangeApproach field. +func (r *mutationResolver) UpdatePlanDataExchangeApproach(ctx context.Context, id uuid.UUID, changes map[string]interface{}) (*models.PlanDataExchangeApproach, error) { + logger := appcontext.ZLogger(ctx) + principal := appcontext.Principal(ctx) + + return PlanDataExchangeApproachUpdate(logger, id, changes, principal, r.store) +} + +// DataToCollectFromParticipants is the resolver for the dataToCollectFromParticipants field. +func (r *planDataExchangeApproachResolver) DataToCollectFromParticipants(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.DataToCollectFromParticipants, error) { + return models.ConvertEnums[models.DataToCollectFromParticipants](obj.DataToCollectFromParticipants), nil +} + +// DataToSendToParticipants is the resolver for the dataToSendToParticipants field. +func (r *planDataExchangeApproachResolver) DataToSendToParticipants(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.DataToSendToParticipants, error) { + return models.ConvertEnums[models.DataToSendToParticipants](obj.DataToSendToParticipants), nil +} + +// MultiSourceDataToCollect is the resolver for the multiSourceDataToCollect field. +func (r *planDataExchangeApproachResolver) MultiSourceDataToCollect(ctx context.Context, obj *models.PlanDataExchangeApproach) ([]models.MultiSourceDataToCollect, error) { + return models.ConvertEnums[models.MultiSourceDataToCollect](obj.MultiSourceDataToCollect), nil +} + +// PlanDataExchangeApproach returns generated.PlanDataExchangeApproachResolver implementation. +func (r *Resolver) PlanDataExchangeApproach() generated.PlanDataExchangeApproachResolver { + return &planDataExchangeApproachResolver{r} +} + +type planDataExchangeApproachResolver struct{ *Resolver } diff --git a/pkg/graph/resolvers/plan_data_exchange_approach_completed_email_test.go b/pkg/graph/resolvers/plan_data_exchange_approach_completed_email_test.go new file mode 100644 index 0000000000..4c013fc1ae --- /dev/null +++ b/pkg/graph/resolvers/plan_data_exchange_approach_completed_email_test.go @@ -0,0 +1,65 @@ +package resolvers + +import ( + "github.com/golang/mock/gomock" + + "github.com/cms-enterprise/mint-app/pkg/email" + "github.com/cms-enterprise/mint-app/pkg/shared/oddmail" +) + +func (suite *ResolverSuite) TestDataExchangeApproachCompletedEmail() { + mockController := gomock.NewController(suite.T()) + mockEmailService := oddmail.NewMockEmailService(mockController) + mockEmailTemplateService := email.NewMockTemplateService(mockController) + + planName := "Plan For Milestones" + plan := suite.createModelPlan(planName) + + addressBook := email.AddressBook{ + DefaultSender: "unit-test-execution@mint.cms.gov", + MINTTeamEmail: "mint.team@local.fake", + } + + testTemplate, expectedSubject, expectedBody := createTemplateCacheHelper(planName, plan) + mockEmailTemplateService. + EXPECT(). + GetEmailTemplate(gomock.Eq(email.DataExchangeApproachCompletedTemplateName)). + Return(testTemplate, nil). + AnyTimes() + expectedEmail := addressBook.MINTTeamEmail + + mockEmailService. + EXPECT(). + Send( + gomock.Any(), + gomock.Eq([]string{expectedEmail}), + gomock.Any(), + gomock.Eq(expectedSubject), + gomock.Any(), + gomock.Eq(expectedBody), + ). + Times(1) + + emailServiceConfig := &oddmail.GoSimpleMailServiceConfig{ + ClientAddress: "http://localhost:3005", + } + + mockEmailService. + EXPECT(). + GetConfig(). + Return(emailServiceConfig). + AnyTimes() + + err := SendDataExchangeApproachCompletedEmailNotification( + mockEmailService, + mockEmailTemplateService, + addressBook, + plan, + expectedEmail, + "Test User", + false, + ) + suite.NoError(err) + + mockController.Finish() +} diff --git a/pkg/graph/resolvers/plan_data_exchange_approach_helper.go b/pkg/graph/resolvers/plan_data_exchange_approach_helper.go new file mode 100644 index 0000000000..fec95b1467 --- /dev/null +++ b/pkg/graph/resolvers/plan_data_exchange_approach_helper.go @@ -0,0 +1,161 @@ +package resolvers + +import ( + "context" + + "github.com/google/uuid" + "go.uber.org/zap" + + "github.com/cms-enterprise/mint-app/pkg/appcontext" + "github.com/cms-enterprise/mint-app/pkg/email" + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/notifications" + "github.com/cms-enterprise/mint-app/pkg/shared/oddmail" + "github.com/cms-enterprise/mint-app/pkg/sqlutils" + "github.com/cms-enterprise/mint-app/pkg/storage/loaders" + "github.com/cms-enterprise/mint-app/pkg/userhelpers" +) + +func SendDataExchangeApproachCompletedEmailNotification( + emailService oddmail.EmailService, + templateService email.TemplateService, + addressBook email.AddressBook, + modelPlan *models.ModelPlan, + userEmail string, + markedCompletedByUserCommonName string, + showFooter bool, +) error { + emailTemplate, err := templateService.GetEmailTemplate(email.DataExchangeApproachCompletedTemplateName) + if err != nil { + return err + } + + emailSubject, err := emailTemplate.GetExecutedSubject(email.DataExchangeApproachCompletedSubjectContent{ + ModelName: modelPlan.ModelName, + }) + if err != nil { + return err + } + + emailBody, err := emailTemplate.GetExecutedBody(email.DataExchangeApproachCompletedBodyContent{ + ClientAddress: emailService.GetConfig().GetClientAddress(), + ModelName: modelPlan.ModelName, + ModelID: modelPlan.GetModelPlanID().String(), + MarkedCompletedByUserCommonName: markedCompletedByUserCommonName, + ShowFooter: showFooter, + }) + if err != nil { + return err + } + + err = emailService.Send( + addressBook.DefaultSender, + []string{userEmail}, + nil, + emailSubject, + "text/html", + emailBody, + ) + if err != nil { + return err + } + return nil +} + +func SendDataExchangeApproachCompletedEmailNotifications( + ctx context.Context, + emailService oddmail.EmailService, + templateService email.TemplateService, + addressBook email.AddressBook, + receivers []*models.UserAccountAndNotificationPreferences, + modelPlan *models.ModelPlan, + markedCompletedByUserCommonName string, + showFooter bool, +) error { + for _, user := range receivers { + err := SendDataExchangeApproachCompletedEmailNotification( + emailService, + templateService, + addressBook, + modelPlan, + user.Email, + markedCompletedByUserCommonName, + showFooter, + ) + if err != nil { + return err + } + } + return nil +} + +func SendDataExchangeApproachCompletedNotification( + ctx context.Context, + emailService oddmail.EmailService, + templateService email.TemplateService, + addressBook email.AddressBook, + actorID uuid.UUID, + np sqlutils.NamedPreparer, + receivers []*models.UserAccountAndNotificationPreferences, + modelPlan *models.ModelPlan, + approach *models.PlanDataExchangeApproach, + markedCompletedBy uuid.UUID, +) error { + logger := appcontext.ZLogger(ctx) + + emailPreferences, inAppPreferences := models.FilterNotificationPreferences(receivers) + + // Create and send in-app notifications + _, err := notifications.ActivityDataExchangeApproachCompletedCreate( + ctx, + actorID, + np, + inAppPreferences, + approach.ID, + markedCompletedBy, + loaders.UserNotificationPreferencesGetByUserID, + ) + if err != nil { + logger.Error("failed to create and send in-app notifications", zap.Error(err)) + return err + } + + markedCompletedByUser, err := userhelpers.UserAccountGetByIDLOADER(ctx, markedCompletedBy) + if err != nil { + logger.Error("failed to get marked completed by user", zap.Error(err)) + return err + } + + // Send email to the MINTTeam email address from the address book + err = SendDataExchangeApproachCompletedEmailNotification( + emailService, + templateService, + addressBook, + modelPlan, + addressBook.MINTTeamEmail, + markedCompletedByUser.CommonName, + false, + ) + if err != nil { + logger.Error("failed to send email to MINTTeam", zap.Error(err)) + return err + } + + // Create and send email notifications + err = SendDataExchangeApproachCompletedEmailNotifications( + ctx, + emailService, + templateService, + addressBook, + emailPreferences, + modelPlan, + markedCompletedByUser.CommonName, + true, + ) + if err != nil { + logger.Error("failed to send email notifications", zap.Error(err)) + return err + } + + return nil +} diff --git a/pkg/graph/resolvers/user_notification_preferences.resolvers.go b/pkg/graph/resolvers/user_notification_preferences.resolvers.go index a7ddc3069f..7391b66618 100644 --- a/pkg/graph/resolvers/user_notification_preferences.resolvers.go +++ b/pkg/graph/resolvers/user_notification_preferences.resolvers.go @@ -60,6 +60,11 @@ func (r *userNotificationPreferencesResolver) DatesChanged(ctx context.Context, return obj.DatesChanged, nil } +// DataExchangeApproachCompleted is the resolver for the dataExchangeApproachCompleted field. +func (r *userNotificationPreferencesResolver) DataExchangeApproachCompleted(ctx context.Context, obj *models.UserNotificationPreferences) ([]models.UserNotificationPreferenceFlag, error) { + return obj.DataExchangeApproachCompleted, nil +} + // UserNotificationPreferences returns generated.UserNotificationPreferencesResolver implementation. func (r *Resolver) UserNotificationPreferences() generated.UserNotificationPreferencesResolver { return &userNotificationPreferencesResolver{r} diff --git a/pkg/graph/schema/types/activity.graphql b/pkg/graph/schema/types/activity.graphql index ae2bc9ae56..5ae7207a7c 100644 --- a/pkg/graph/schema/types/activity.graphql +++ b/pkg/graph/schema/types/activity.graphql @@ -10,6 +10,7 @@ enum ActivityType { MODEL_PLAN_SHARED NEW_MODEL_PLAN DATES_CHANGED + DATA_EXCHANGE_APPROACH_COMPLETED } enum DateChangeFieldType { @@ -24,7 +25,7 @@ enum DateChangeFieldType { """ ActivityMetaData is a type that represents all the data that can be captured in an Activity """ -union ActivityMetaData = TaggedInPlanDiscussionActivityMeta | TaggedInDiscussionReplyActivityMeta | DailyDigestCompleteActivityMeta | NewDiscussionRepliedActivityMeta | AddedAsCollaboratorMeta | ModelPlanSharedActivityMeta | NewModelPlanActivityMeta | DatesChangedActivityMeta +union ActivityMetaData = TaggedInPlanDiscussionActivityMeta | TaggedInDiscussionReplyActivityMeta | DailyDigestCompleteActivityMeta | NewDiscussionRepliedActivityMeta | AddedAsCollaboratorMeta | ModelPlanSharedActivityMeta | NewModelPlanActivityMeta | DatesChangedActivityMeta | PlanDataExchangeApproachCompletedActivityMeta type AddedAsCollaboratorMeta { version: Int! @@ -113,6 +114,16 @@ type DatesChangedActivityMeta { dateChanges: [DateChange!]! } +type PlanDataExchangeApproachCompletedActivityMeta { + version: Int! + type: ActivityType! + dataExchangeApproachID: UUID! + dataExchangeApproach: PlanDataExchangeApproach! + modelPlan: ModelPlan! + markedCompleteBy: UUID! + markedCompleteByUserAccount: UserAccount! +} + """ Activity represents an event that happened in the application that could result in a notification. """ diff --git a/pkg/graph/schema/types/model_plan.graphql b/pkg/graph/schema/types/model_plan.graphql index 9db619c466..40d63ce699 100644 --- a/pkg/graph/schema/types/model_plan.graphql +++ b/pkg/graph/schema/types/model_plan.graphql @@ -79,6 +79,7 @@ type ModelPlan { documents: [PlanDocument!]! discussions: [PlanDiscussion!]! payments: PlanPayments! + dataExchangeApproach: PlanDataExchangeApproach! status: ModelStatus! taskListStatus: TaskStatus! suggestedPhase: PhaseSuggestion diff --git a/pkg/graph/schema/types/plan_data_exchange_approach.graphql b/pkg/graph/schema/types/plan_data_exchange_approach.graphql new file mode 100644 index 0000000000..0a0743c555 --- /dev/null +++ b/pkg/graph/schema/types/plan_data_exchange_approach.graphql @@ -0,0 +1,126 @@ +enum DataToCollectFromParticipants { + BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS + CLINICAL_DATA + COLLECT_BIDS_AND_PLAN_INFORMATION + COOPERATIVE_AGREEMENT_APPLICATION + DECARBONIZATION_DATA + EXPANDED_DEMOGRAPHICS_DATA + FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES + LEARNING_SYSTEM_METRICS + PARTICIPANT_AGREEMENT + PARTICIPANT_AGREEMENT_LETTER_OF_INTENT + PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION + PARTICIPANT_REPORTED_DATA + PARTICIPANT_REPORTED_QUALITY_MEASURES + PROVIDER_PARTICIPANT_ROSTER + REPORTS_FROM_PARTICIPANTS + SOCIAL_DETERMINANTS_OF_HEALTH + SURVEY + OTHER +} + +enum DataToSendToParticipants { + DATA_FEEDBACK_DASHBOARD + NON_CLAIMS_BASED_PAYMENTS + OPERATIONS_DATA + PARTIALLY_ADJUSTED_CLAIMS_DATA + RAW_CLAIMS_DATA + DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS +} + +enum AnticipatedMultiPayerDataAvailabilityUseCase { + MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION + SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING + FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS +} + +enum MultiSourceDataToCollect { + COMMERCIAL_CLAIMS + LAB_DATA + MANUFACTURER + MEDICAID_CLAIMS + MEDICARE_CLAIMS + PATIENT_REGISTRY + OTHER +} + +enum DataExchangeApproachStatus { + READY + IN_PROGRESS + COMPLETE +} + +type PlanDataExchangeApproach { + id: UUID! + modelPlanID: UUID! + + dataToCollectFromParticipants: [DataToCollectFromParticipants!]! + dataToCollectFromParticipantsReportsDetails: String + dataToCollectFromParticipantsOther: String + dataWillNotBeCollectedFromParticipants: Boolean + dataToCollectFromParticipantsNote: String + + dataToSendToParticipants: [DataToSendToParticipants!]! + dataToSendToParticipantsNote: String + + doesNeedToMakeMultiPayerDataAvailable: YesNoType + anticipatedMultiPayerDataAvailabilityUseCase: AnticipatedMultiPayerDataAvailabilityUseCase + doesNeedToMakeMultiPayerDataAvailableNote: String + + doesNeedToCollectAndAggregateMultiSourceData: YesNoType + multiSourceDataToCollect: [MultiSourceDataToCollect!]! + multiSourceDataToCollectOther: String + doesNeedToCollectAndAggregateMultiSourceDataNote: String + + willImplementNewDataExchangeMethods: YesNoType + newDataExchangeMethodsDescription: String + newDataExchangeMethodsNote: String + + additionalDataExchangeConsiderationsDescription: String + + # Metadata fields + createdBy: UUID! + createdByUserAccount: UserAccount! + createdDts: Time! + modifiedBy: UUID + modifiedByUserAccount: UserAccount + modifiedDts: Time + isDataExchangeApproachComplete: Boolean! + markedCompleteBy: UUID + markedCompleteByUserAccount: UserAccount + markedCompleteDts: Time + + status: DataExchangeApproachStatus! +} + +input PlanDataExchangeApproachChanges @goModel(model: "map[string]interface{}") { + dataToCollectFromParticipants: [DataToCollectFromParticipants!] + dataToCollectFromParticipantsReportsDetails: String + dataToCollectFromParticipantsOther: String + dataWillNotBeCollectedFromParticipants: Boolean + dataToCollectFromParticipantsNote: String + + dataToSendToParticipants: [DataToSendToParticipants!]! + dataToSendToParticipantsNote: String + + doesNeedToMakeMultiPayerDataAvailable: YesNoType + anticipatedMultiPayerDataAvailabilityUseCase: AnticipatedMultiPayerDataAvailabilityUseCase + doesNeedToMakeMultiPayerDataAvailableNote: String + + doesNeedToCollectAndAggregateMultiSourceData: YesNoType + multiSourceDataToCollect: [MultiSourceDataToCollect!] + multiSourceDataToCollectOther: String + doesNeedToCollectAndAggregateMultiSourceDataNote: String + + willImplementNewDataExchangeMethods: YesNoType + newDataExchangeMethodsDescription: String + newDataExchangeMethodsNote: String + + additionalDataExchangeConsiderationsDescription: String + + isDataExchangeApproachComplete: Boolean +} + +extend type Mutation { + updatePlanDataExchangeApproach(id: UUID!, changes: PlanDataExchangeApproachChanges!): PlanDataExchangeApproach! +} \ No newline at end of file diff --git a/pkg/graph/schema/types/user_notification_preferences.graphql b/pkg/graph/schema/types/user_notification_preferences.graphql index 5bcb3d5d1e..814db3c6ee 100644 --- a/pkg/graph/schema/types/user_notification_preferences.graphql +++ b/pkg/graph/schema/types/user_notification_preferences.graphql @@ -34,6 +34,8 @@ type UserNotificationPreferences { datesChanged: [UserNotificationPreferenceFlag!]! datesChangedNotificationType: DatesChangedNotificationType + dataExchangeApproachCompleted: [UserNotificationPreferenceFlag!]! + createdBy: UUID! createdByUserAccount: UserAccount! createdDts: Time! @@ -64,6 +66,8 @@ input UserNotificationPreferencesChanges @goModel(model: "map[string]interface{} datesChanged: [UserNotificationPreferenceFlag!] datesChangedNotificationType: DatesChangedNotificationType + + dataExchangeApproachCompleted: [UserNotificationPreferenceFlag!] } extend type Mutation { diff --git a/pkg/models/activity.go b/pkg/models/activity.go index 4eff8cac49..938ee6fadc 100644 --- a/pkg/models/activity.go +++ b/pkg/models/activity.go @@ -9,14 +9,15 @@ type ActivityType string // These constants represent the different values of ActivityType const ( - ActivityDigest ActivityType = "DAILY_DIGEST_COMPLETE" - ActivityAddedAsCollaborator ActivityType = "ADDED_AS_COLLABORATOR" - ActivityTaggedInDiscussion ActivityType = "TAGGED_IN_DISCUSSION" - ActivityTaggedInDiscussionReply ActivityType = "TAGGED_IN_DISCUSSION_REPLY" - ActivityNewDiscussionReply ActivityType = "NEW_DISCUSSION_REPLY" - ActivityModelPlanShared ActivityType = "MODEL_PLAN_SHARED" - ActivityNewModelPlan ActivityType = "NEW_MODEL_PLAN" - ActivityDatesChanged ActivityType = "DATES_CHANGED" + ActivityDigest ActivityType = "DAILY_DIGEST_COMPLETE" + ActivityAddedAsCollaborator ActivityType = "ADDED_AS_COLLABORATOR" + ActivityTaggedInDiscussion ActivityType = "TAGGED_IN_DISCUSSION" + ActivityTaggedInDiscussionReply ActivityType = "TAGGED_IN_DISCUSSION_REPLY" + ActivityNewDiscussionReply ActivityType = "NEW_DISCUSSION_REPLY" + ActivityModelPlanShared ActivityType = "MODEL_PLAN_SHARED" + ActivityNewModelPlan ActivityType = "NEW_MODEL_PLAN" + ActivityDatesChanged ActivityType = "DATES_CHANGED" + ActivityDataExchangeApproachCompleted ActivityType = "DATA_EXCHANGE_APPROACH_COMPLETED" ) // Activity represents a discrete event that has happened in the application that might be notifiable. diff --git a/pkg/models/base_task_list_section.go b/pkg/models/base_task_list_section.go index 6afc096c33..3a85ed3560 100644 --- a/pkg/models/base_task_list_section.go +++ b/pkg/models/base_task_list_section.go @@ -24,8 +24,7 @@ type IBaseTaskListSection interface { // baseTaskListSection represents all the shared fields in common to a task list section type baseTaskListSection struct { - baseStruct - modelPlanRelation + coreTaskListSection ReadyForReviewBy *uuid.UUID `json:"readyForReviewBy" db:"ready_for_review_by"` ReadyForReviewDts *time.Time `json:"readyForReviewDts" db:"ready_for_review_dts"` ReadyForClearanceBy *uuid.UUID `json:"readyForClearanceBy" db:"ready_for_clearance_by"` @@ -35,12 +34,9 @@ type baseTaskListSection struct { // NewBaseTaskListSection makes a task list section by a modelPlanID and user id of the user creating it func NewBaseTaskListSection(createdBy uuid.UUID, modelPlanID uuid.UUID) baseTaskListSection { - return baseTaskListSection{ - modelPlanRelation: NewModelPlanRelation(modelPlanID), - - Status: TaskReady, - baseStruct: NewBaseStruct(createdBy), + coreTaskListSection: NewCoreTaskListSection(createdBy, modelPlanID), + Status: TaskReady, } } diff --git a/pkg/models/core_struct.go b/pkg/models/core_struct.go new file mode 100644 index 0000000000..d7a1608147 --- /dev/null +++ b/pkg/models/core_struct.go @@ -0,0 +1,44 @@ +package models + +import ( + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/authentication" +) + +// ICoreStruct is an interface that all core models must implement +type ICoreStruct interface { + GetID() uuid.UUID + GetCreatedBy() string + GetModifiedBy() *string + SetModifiedBy(principal authentication.Principal) error +} + +// GetID returns the ID property for a CoreTaskListSection struct +func (c coreTaskListSection) GetID() uuid.UUID { + return c.ID +} + +// GetCreatedBy returns the CreatedBy property for a CoreTaskListSection struct +func (c coreTaskListSection) GetCreatedBy() string { + return c.CreatedBy.String() +} + +// GetModifiedBy returns the ModifiedBy property for a CoreTaskListSection struct +func (c coreTaskListSection) GetModifiedBy() *string { + if c.ModifiedBy == nil { + return nil + } + + if *c.ModifiedBy == uuid.Nil { + return nil + } + + retString := c.ModifiedBy.String() + return &retString +} + +// SetModifiedBy sets the ModifiedBy property for a CoreTaskListSection struct +func (c *coreTaskListSection) SetModifiedBy(principal authentication.Principal) error { + return c.baseStruct.SetModifiedBy(principal) +} diff --git a/pkg/models/core_task_list_section.go b/pkg/models/core_task_list_section.go new file mode 100644 index 0000000000..22bd18a076 --- /dev/null +++ b/pkg/models/core_task_list_section.go @@ -0,0 +1,29 @@ +package models + +import ( + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/authentication" +) + +// ICoreTaskListSection returns the embedded CoreTaskListSection +type ICoreTaskListSection interface { + GetID() uuid.UUID + GetCreatedBy() string + GetModifiedBy() *string + SetModifiedBy(principal authentication.Principal) error +} + +// coreTaskListSection represents the core fields in common to a task list section +type coreTaskListSection struct { + baseStruct + modelPlanRelation +} + +// NewCoreTaskListSection creates a new coreTaskListSection with the required fields +func NewCoreTaskListSection(createdBy uuid.UUID, modelPlanID uuid.UUID) coreTaskListSection { + return coreTaskListSection{ + modelPlanRelation: NewModelPlanRelation(modelPlanID), + baseStruct: NewBaseStruct(createdBy), + } +} diff --git a/pkg/models/marked_complete_by_relation.go b/pkg/models/marked_complete_by_relation.go new file mode 100644 index 0000000000..9848ba11ef --- /dev/null +++ b/pkg/models/marked_complete_by_relation.go @@ -0,0 +1,40 @@ +package models + +import ( + "context" + "fmt" + + "time" + + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/appcontext" + "github.com/cms-enterprise/mint-app/pkg/authentication" +) + +// MarkedCompleteByRelation is a struct meant to be embedded to show that the object has marked_complete_by and marked_complete_dts fields, as well as +// shared logic to get the user account represented by the marked_complete_by uuid +type markedCompleteByRelation struct { + MarkedCompleteBy *uuid.UUID `json:"markedCompleteBy" db:"marked_complete_by"` + MarkedCompleteDts *time.Time `json:"markedCompleteDts" db:"marked_complete_dts"` +} + +// MarkedCompleteByUserAccount returns the user account of the user who marked the struct as complete from the DB using the UserAccount service +func (relation *markedCompleteByRelation) MarkedCompleteByUserAccount(ctx context.Context) (*authentication.UserAccount, error) { + + service, err := appcontext.UserAccountService(ctx) + if err != nil { + return nil, fmt.Errorf("unable to get marked complete by user account, there is an issue with the user account service. err %w", err) + } + + if relation.MarkedCompleteBy == nil { + return nil, nil + } + + account, err := service(ctx, *relation.MarkedCompleteBy) + if err != nil { + return nil, err + } + return account, nil + +} diff --git a/pkg/models/model_helpers.go b/pkg/models/model_helpers.go index 1c9526da9d..e500bbf793 100644 --- a/pkg/models/model_helpers.go +++ b/pkg/models/model_helpers.go @@ -1,6 +1,8 @@ package models import ( + "time" + "github.com/google/uuid" "github.com/lib/pq" ) @@ -20,6 +22,11 @@ func IntPointer(val int) *int { return &val } +// TimePointer returns a pointer to a time.Time input +func TimePointer(t time.Time) *time.Time { + return &t +} + // DiscussionUserRolePointer returns a pointer to a DiscussionUserRole input func DiscussionUserRolePointer(role DiscussionUserRole) *DiscussionUserRole { return &role diff --git a/pkg/models/plan_data_exchange_approach.go b/pkg/models/plan_data_exchange_approach.go new file mode 100644 index 0000000000..c50db183e7 --- /dev/null +++ b/pkg/models/plan_data_exchange_approach.go @@ -0,0 +1,132 @@ +package models + +import ( + "github.com/lib/pq" +) + +// PlanDataExchangeApproach represents the data exchange approach of a model plan +type PlanDataExchangeApproach struct { + coreTaskListSection + markedCompleteByRelation + + // Page 2 + DataToCollectFromParticipants pq.StringArray `json:"dataToCollectFromParticipants" db:"data_to_collect_from_participants" statusWeight:"1"` + DataToCollectFromParticipantsReportsDetails *string `json:"dataToCollectFromParticipantsReportsDetails" db:"data_to_collect_from_participants_reports_details"` + DataToCollectFromParticipantsOther *string `json:"dataToCollectFromParticipantsOther" db:"data_to_collect_from_participants_other"` + DataWillNotBeCollectedFromParticipants bool `json:"dataWillNotBeCollectedFromParticipants" db:"data_will_not_be_collected_from_participants" statusWeight:"1"` + DataToCollectFromParticipantsNote *string `json:"dataToCollectFromParticipantsNote" db:"data_to_collect_from_participants_note"` + + DataToSendToParticipants pq.StringArray `json:"dataToSendToParticipants" db:"data_to_send_to_participants"` + DataToSendToParticipantsNote *string `json:"dataToSendToParticipantsNote" db:"data_to_send_to_participants_note"` + + // Page 3 + DoesNeedToMakeMultiPayerDataAvailable *YesNoType `json:"doesNeedToMakeMultiPayerDataAvailable" db:"does_need_to_make_multi_payer_data_available" statusWeight:"1"` + AnticipatedMultiPayerDataAvailabilityUseCase *AnticipatedMultiPayerDataAvailabilityUseCase `json:"anticipatedMultiPayerDataAvailabilityUseCase" db:"anticipated_multi_payer_data_availability_use_case"` + DoesNeedToMakeMultiPayerDataAvailableNote *string `json:"doesNeedToMakeMultiPayerDataAvailableNote" db:"does_need_to_make_multi_payer_data_available_note"` + + DoesNeedToCollectAndAggregateMultiSourceData *YesNoType `json:"doesNeedToCollectAndAggregateMultiSourceData" db:"does_need_to_collect_and_aggregate_multi_source_data" statusWeight:"1"` + MultiSourceDataToCollect pq.StringArray `json:"multiSourceDataToCollect" db:"multi_source_data_to_collect"` + MultiSourceDataToCollectOther *string `json:"multiSourceDataToCollectOther" db:"multi_source_data_to_collect_other"` + DoesNeedToCollectAndAggregateMultiSourceDataNote *string `json:"doesNeedToCollectAndAggregateMultiSourceDataNote" db:"does_need_to_collect_and_aggregate_multi_source_data_note"` + + // Page 4 + WillImplementNewDataExchangeMethods *YesNoType `json:"willImplementNewDataExchangeMethods" db:"will_implement_new_data_exchange_methods" statusWeight:"1"` + NewDataExchangeMethodsDescription *string `json:"newDataExchangeMethodsDescription" db:"new_data_exchange_methods_description"` + NewDataExchangeMethodsNote *string `json:"newDataExchangeMethodsNote" db:"new_data_exchange_methods_note"` + + AdditionalDataExchangeConsiderationsDescription *string `json:"additionalDataExchangeConsiderationsDescription" db:"additional_data_exchange_considerations_description"` + + Status *DataExchangeApproachStatus `json:"status" db:"status"` +} + +func (p *PlanDataExchangeApproach) IsDataExchangeApproachComplete() bool { + return p.MarkedCompleteDts != nil +} + +// NewPlanDataExchangeApproach creates a new PlanDataExchangeApproach with the required fields +func NewPlanDataExchangeApproach(tls coreTaskListSection) *PlanDataExchangeApproach { + return &PlanDataExchangeApproach{ + coreTaskListSection: tls, + DataWillNotBeCollectedFromParticipants: false, + } +} + +// NewPlanDataExchangeApproachFromBaseTaskListSection creates a new PlanDataExchangeApproach from a base task list section +func NewPlanDataExchangeApproachFromBaseTaskListSection(tls baseTaskListSection) *PlanDataExchangeApproach { + return &PlanDataExchangeApproach{ + coreTaskListSection: tls.coreTaskListSection, + DataWillNotBeCollectedFromParticipants: false, + } +} + +// DataToCollectFromParticipants represents the possible values for data to collect from participants +type DataToCollectFromParticipants string + +// Enum values for DataToCollectFromParticipantsType +const ( + DataToCollectFromParticipantsBankingInformationToMakeNonClaimsBasedPayments DataToCollectFromParticipants = "BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS" + DataToCollectFromParticipantsClinicalData DataToCollectFromParticipants = "CLINICAL_DATA" + DataToCollectFromParticipantsCollectBidsAndPlanInformation DataToCollectFromParticipants = "COLLECT_BIDS_AND_PLAN_INFORMATION" + DataToCollectFromParticipantsCooperativeAgreementApplication DataToCollectFromParticipants = "COOPERATIVE_AGREEMENT_APPLICATION" + DataToCollectFromParticipantsDecarbonizationData DataToCollectFromParticipants = "DECARBONIZATION_DATA" + DataToCollectFromParticipantsExpandedDemographicsData DataToCollectFromParticipants = "EXPANDED_DEMOGRAPHICS_DATA" + DataToCollectFromParticipantsFeeForServiceClaimsAndApplyModelRules DataToCollectFromParticipants = "FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES" + DataToCollectFromParticipantsLearningSystemMetrics DataToCollectFromParticipants = "LEARNING_SYSTEM_METRICS" + DataToCollectFromParticipantsParticipantAgreement DataToCollectFromParticipants = "PARTICIPANT_AGREEMENT" + DataToCollectFromParticipantsParticipantAgreementLetterOfIntent DataToCollectFromParticipants = "PARTICIPANT_AGREEMENT_LETTER_OF_INTENT" + DataToCollectFromParticipantsParticipantAgreementRequestForApplication DataToCollectFromParticipants = "PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION" + DataToCollectFromParticipantsParticipantReportedData DataToCollectFromParticipants = "PARTICIPANT_REPORTED_DATA" + DataToCollectFromParticipantsParticipantReportedQualityMeasures DataToCollectFromParticipants = "PARTICIPANT_REPORTED_QUALITY_MEASURES" + DataToCollectFromParticipantsProviderParticipantRoster DataToCollectFromParticipants = "PROVIDER_PARTICIPANT_ROSTER" + DataToCollectFromParticipantsReportsFromParticipants DataToCollectFromParticipants = "REPORTS_FROM_PARTICIPANTS" + DataToCollectFromParticipantsSocialDeterminantsOfHealth DataToCollectFromParticipants = "SOCIAL_DETERMINANTS_OF_HEALTH" + DataToCollectFromParticipantsSurvey DataToCollectFromParticipants = "SURVEY" + DataToCollectFromParticipantsOther DataToCollectFromParticipants = "OTHER" +) + +// DataToSendToParticipants represents the possible values for data to send to participants +type DataToSendToParticipants string + +// Enum values for DataToSendToParticipantsType +const ( + DataToSendToParticipantsDataFeedbackDashboard DataToSendToParticipants = "DATA_FEEDBACK_DASHBOARD" + DataToSendToParticipantsNonClaimsBasedPayments DataToSendToParticipants = "NON_CLAIMS_BASED_PAYMENTS" + DataToSendToParticipantsOperationsData DataToSendToParticipants = "OPERATIONS_DATA" + DataToSendToParticipantsPartiallyAdjustedClaimsData DataToSendToParticipants = "PARTIALLY_ADJUSTED_CLAIMS_DATA" + DataToSendToParticipantsRawClaimsData DataToSendToParticipants = "RAW_CLAIMS_DATA" + DataToSendToParticipantsDataWillNotBeSentToParticipants DataToSendToParticipants = "DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS" +) + +// AnticipatedMultiPayerDataAvailabilityUseCase represents the possible values for anticipated multi-payer data availability use case +type AnticipatedMultiPayerDataAvailabilityUseCase string + +// Enum values for AnticipatedMultiPayerDataAvailabilityUseCase +const ( + AnticipatedMultiPayerDataAvailabilityUseCaseMoreCompetentAlertDischargeTransferNotification AnticipatedMultiPayerDataAvailabilityUseCase = "MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION" + AnticipatedMultiPayerDataAvailabilityUseCaseSupplyMultiPayerClaimsCostUtilAndQualityReporting AnticipatedMultiPayerDataAvailabilityUseCase = "SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING" + AnticipatedMultiPayerDataAvailabilityUseCaseFillGapsInCareAlertingAndReports AnticipatedMultiPayerDataAvailabilityUseCase = "FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS" +) + +// MultiSourceDataToCollect represents the possible values for multi-source data to collect +type MultiSourceDataToCollect string + +// Enum values for MultiSourceDataToCollect +const ( + MultiSourceDataToCollectCommercialClaims MultiSourceDataToCollect = "COMMERCIAL_CLAIMS" + MultiSourceDataToCollectLabData MultiSourceDataToCollect = "LAB_DATA" + MultiSourceDataToCollectManufacturer MultiSourceDataToCollect = "MANUFACTURER" + MultiSourceDataToCollectMedicaidClaims MultiSourceDataToCollect = "MEDICAID_CLAIMS" + MultiSourceDataToCollectMedicareClaims MultiSourceDataToCollect = "MEDICARE_CLAIMS" + MultiSourceDataToCollectPatientRegistry MultiSourceDataToCollect = "PATIENT_REGISTRY" + MultiSourceDataToCollectOther MultiSourceDataToCollect = "OTHER" +) + +// DataExchangeApproachStatus represents the status of the data exchange approach +type DataExchangeApproachStatus string + +// Enum values for DataExchangeApproachStatus +const ( + DataExchangeApproachStatusReady DataExchangeApproachStatus = "READY" + DataExchangeApproachStatusInProgress DataExchangeApproachStatus = "IN_PROGRESS" + DataExchangeApproachStatusCompleted DataExchangeApproachStatus = "COMPLETED" +) diff --git a/pkg/models/plan_data_exchange_approach_completed_activity_meta.go b/pkg/models/plan_data_exchange_approach_completed_activity_meta.go new file mode 100644 index 0000000000..59f4bdab8b --- /dev/null +++ b/pkg/models/plan_data_exchange_approach_completed_activity_meta.go @@ -0,0 +1,56 @@ +package models + +import ( + "database/sql/driver" + + "github.com/google/uuid" +) + +// PlanDataExchangeApproachCompletedActivityMeta represents the notification data that +// is relevant to completing a Data Exchange Approach +type PlanDataExchangeApproachCompletedActivityMeta struct { + ActivityMetaBaseStruct + DataExchangeApproachID uuid.UUID `json:"dataExchangeApproachID"` + MarkedCompleteBy uuid.UUID `json:"markedCompleteBy"` +} + +// newPlanDataExchangeApproachCompletedActivityMeta creates a new PlanDataExchangeApproachCompletedActivityMeta +func newPlanDataExchangeApproachCompletedActivityMeta( + dataExchangeApproachID uuid.UUID, + markedCompleteBy uuid.UUID, +) *PlanDataExchangeApproachCompletedActivityMeta { + version := 0 // iterate this if this type ever updates + return &PlanDataExchangeApproachCompletedActivityMeta{ + ActivityMetaBaseStruct: NewActivityMetaBaseStruct(ActivityDataExchangeApproachCompleted, version), + DataExchangeApproachID: dataExchangeApproachID, + MarkedCompleteBy: markedCompleteBy, + } +} + +// NewPlanDataExchangeApproachCompletedActivity creates a new ActivityDataExchangeApproachCompleted type of Activity +func NewPlanDataExchangeApproachCompletedActivity( + actorID uuid.UUID, + dataExchangeApproachID uuid.UUID, + markedCompleteBy uuid.UUID, +) *Activity { + return &Activity{ + baseStruct: NewBaseStruct(actorID), + ActorID: actorID, + EntityID: markedCompleteBy, + ActivityType: ActivityDataExchangeApproachCompleted, + MetaData: newPlanDataExchangeApproachCompletedActivityMeta( + dataExchangeApproachID, + markedCompleteBy, + ), + } +} + +// Value allows us to satisfy the valuer interface so we can write to the database +func (d PlanDataExchangeApproachCompletedActivityMeta) Value() (driver.Value, error) { + return GenericValue(d) +} + +// Scan implements the scanner interface so we can translate the JSONb from the db to an object in GO +func (d *PlanDataExchangeApproachCompletedActivityMeta) Scan(src interface{}) error { + return GenericScan(src, d) +} diff --git a/pkg/models/user_notification_preferences.go b/pkg/models/user_notification_preferences.go index aa4d9c0937..6a65200b31 100644 --- a/pkg/models/user_notification_preferences.go +++ b/pkg/models/user_notification_preferences.go @@ -15,15 +15,16 @@ type UserNotificationPreferences struct { // The id of the user this preferences object is for UserID uuid.UUID `json:"userID" db:"user_id"` - DailyDigestComplete UserNotificationPreferenceFlags `json:"dailyDigestComplete" db:"daily_digest_complete"` - AddedAsCollaborator UserNotificationPreferenceFlags `json:"addedAsCollaborator" db:"added_as_collaborator"` - TaggedInDiscussion UserNotificationPreferenceFlags `json:"taggedInDiscussion" db:"tagged_in_discussion"` - TaggedInDiscussionReply UserNotificationPreferenceFlags `json:"taggedInDiscussionReply" db:"tagged_in_discussion_reply"` - NewDiscussionReply UserNotificationPreferenceFlags `json:"newDiscussionReply" db:"new_discussion_reply"` - ModelPlanShared UserNotificationPreferenceFlags `json:"modelPlanShared" db:"model_plan_shared"` - NewModelPlan UserNotificationPreferenceFlags `json:"newModelPlan" db:"new_model_plan"` - DatesChanged UserNotificationPreferenceFlags `json:"datesChanged" db:"dates_changed"` - DatesChangedNotificationType *DatesChangedNotificationType `json:"datesChangedNotificationType" db:"dates_changed_notification_type"` + DailyDigestComplete UserNotificationPreferenceFlags `json:"dailyDigestComplete" db:"daily_digest_complete"` + AddedAsCollaborator UserNotificationPreferenceFlags `json:"addedAsCollaborator" db:"added_as_collaborator"` + TaggedInDiscussion UserNotificationPreferenceFlags `json:"taggedInDiscussion" db:"tagged_in_discussion"` + TaggedInDiscussionReply UserNotificationPreferenceFlags `json:"taggedInDiscussionReply" db:"tagged_in_discussion_reply"` + NewDiscussionReply UserNotificationPreferenceFlags `json:"newDiscussionReply" db:"new_discussion_reply"` + ModelPlanShared UserNotificationPreferenceFlags `json:"modelPlanShared" db:"model_plan_shared"` + NewModelPlan UserNotificationPreferenceFlags `json:"newModelPlan" db:"new_model_plan"` + DatesChanged UserNotificationPreferenceFlags `json:"datesChanged" db:"dates_changed"` + DatesChangedNotificationType *DatesChangedNotificationType `json:"datesChangedNotificationType" db:"dates_changed_notification_type"` + DataExchangeApproachCompleted UserNotificationPreferenceFlags `json:"dataExchangeApproachCompleted" db:"data_exchange_approach_completed"` } // NewUserNotificationPreferences returns a New UserNotificationPreferences @@ -32,14 +33,15 @@ func NewUserNotificationPreferences(userID uuid.UUID) *UserNotificationPreferenc baseStruct: NewBaseStruct(userID), UserID: userID, - DailyDigestComplete: DefaultUserNotificationPreferencesFlags(), - AddedAsCollaborator: DefaultUserNotificationPreferencesFlags(), - TaggedInDiscussion: DefaultUserNotificationPreferencesFlags(), - TaggedInDiscussionReply: DefaultUserNotificationPreferencesFlags(), - NewDiscussionReply: DefaultUserNotificationPreferencesFlags(), - ModelPlanShared: DefaultUserNotificationPreferencesFlags(), - NewModelPlan: EmptyUserNotificationPreferencesFlags(), - DatesChanged: EmptyUserNotificationPreferencesFlags(), + DailyDigestComplete: DefaultUserNotificationPreferencesFlags(), + AddedAsCollaborator: DefaultUserNotificationPreferencesFlags(), + TaggedInDiscussion: DefaultUserNotificationPreferencesFlags(), + TaggedInDiscussionReply: DefaultUserNotificationPreferencesFlags(), + NewDiscussionReply: DefaultUserNotificationPreferencesFlags(), + ModelPlanShared: DefaultUserNotificationPreferencesFlags(), + NewModelPlan: EmptyUserNotificationPreferencesFlags(), + DatesChanged: EmptyUserNotificationPreferencesFlags(), + DataExchangeApproachCompleted: EmptyUserNotificationPreferencesFlags(), } } diff --git a/pkg/notifications/activity.go b/pkg/notifications/activity.go index c0c430453f..b3c473d247 100644 --- a/pkg/notifications/activity.go +++ b/pkg/notifications/activity.go @@ -111,6 +111,7 @@ func parseRawActivityMetaData(activityType models.ActivityType, rawMetaDataJSON return nil, err } return &meta, nil + case models.ActivityAddedAsCollaborator: // Deserialize the raw JSON into AddedAsCollaboratorMeta meta := models.AddedAsCollaboratorMeta{} @@ -144,6 +145,14 @@ func parseRawActivityMetaData(activityType models.ActivityType, rawMetaDataJSON } return &meta, nil + case models.ActivityDataExchangeApproachCompleted: + // Deserialize the raw JSON into DataExchangeApproachCompletedActivityMeta + meta := models.PlanDataExchangeApproachCompletedActivityMeta{} + if err := json.Unmarshal(rawData, &meta); err != nil { + return nil, err + } + return &meta, nil + default: // Return a default implementation or handle unsupported types return nil, fmt.Errorf("unsupported activity type: %s", activityType) diff --git a/pkg/notifications/plan_data_exchange_approach_completed.go b/pkg/notifications/plan_data_exchange_approach_completed.go new file mode 100644 index 0000000000..64d789dcb6 --- /dev/null +++ b/pkg/notifications/plan_data_exchange_approach_completed.go @@ -0,0 +1,42 @@ +package notifications + +import ( + "context" + + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/sqlutils" +) + +// ActivityDataExchangeApproachCompletedCreate creates an activity for when a data exchange approach is completed +func ActivityDataExchangeApproachCompletedCreate( + ctx context.Context, + actorID uuid.UUID, + np sqlutils.NamedPreparer, + receivers []*models.UserAccountAndNotificationPreferences, + approachID uuid.UUID, + markedCompletedBy uuid.UUID, + getPreferencesFunc GetUserNotificationPreferencesFunc, +) (*models.Activity, error) { + + activity := models.NewPlanDataExchangeApproachCompletedActivity( + actorID, + approachID, + markedCompletedBy, + ) + + retActivity, actErr := activityCreate(ctx, np, activity) + if actErr != nil { + return nil, actErr + } + + for _, receiver := range receivers { + _, err := userNotificationCreate(ctx, np, retActivity, receiver.ID, receiver.PreferenceFlags) + if err != nil { + return nil, err + } + } + + return retActivity, nil +} diff --git a/pkg/notifications/plan_data_exchange_approach_completed_test.go b/pkg/notifications/plan_data_exchange_approach_completed_test.go new file mode 100644 index 0000000000..29180bf203 --- /dev/null +++ b/pkg/notifications/plan_data_exchange_approach_completed_test.go @@ -0,0 +1,71 @@ +package notifications + +import ( + "context" + + "github.com/google/uuid" + + "github.com/cms-enterprise/mint-app/pkg/models" +) + +func (suite *NotificationsSuite) TestActivityDataExchangeApproachCompletedCreate() { + + // we are just choosing a valid UUID to set for the entityID + modelPlanID := uuid.New() + actorID := suite.testConfigs.Principal.Account().ID + + mockPreferencesLoader := func(ctx context.Context, user_id uuid.UUID) (*models.UserNotificationPreferences, error) { + // Return mock data, all notifications enabled + return models.NewUserNotificationPreferences(user_id), nil + } + + approachCreator, err := suite.testConfigs.GetTestPrincipal(suite.testConfigs.Store, "FAKE") + suite.NoError(err) + + approachMarkedCompleteBy, err := suite.testConfigs.GetTestPrincipal(suite.testConfigs.Store, "MINT") + suite.NoError(err) + + receivers := []*models.UserAccountAndNotificationPreferences{ + { + UserAccount: *approachCreator.UserAccount, + PreferenceFlags: models.DefaultUserNotificationPreferencesFlags(), + }, + } + + approach := models.NewPlanDataExchangeApproach( + models.NewCoreTaskListSection( + actorID, + modelPlanID, + ), + ) + + testActivity, err := ActivityDataExchangeApproachCompletedCreate( + suite.testConfigs.Context, + actorID, + suite.testConfigs.Store, + receivers, + approach.ID, + approachMarkedCompleteBy.Account().ID, + mockPreferencesLoader, + ) + + suite.NoError(err) + suite.NotNil(testActivity) + suite.EqualValues(models.ActivityDataExchangeApproachCompleted, testActivity.ActivityType) + // Assert meta data is not deserialized here + suite.Nil(testActivity.MetaData) + //Assert meta data can be deserialized + suite.NotNil(testActivity.MetaDataRaw) + meta, err := parseRawActivityMetaData(testActivity.ActivityType, testActivity.MetaDataRaw) + suite.NoError(err) + suite.NotNil(meta) + + actorNots, err := UserNotificationCollectionGetByUser(suite.testConfigs.Context, suite.testConfigs.Store, suite.testConfigs.Principal) + suite.NoError(err) + suite.EqualValues(0, actorNots.NumUnreadNotifications()) + + creatorNots, err := UserNotificationCollectionGetByUser(suite.testConfigs.Context, suite.testConfigs.Store, approachCreator) + suite.NoError(err) + suite.EqualValues(1, creatorNots.NumUnreadNotifications()) + +} diff --git a/pkg/sqlqueries/SQL/plan_data_exchange_approach/create.sql b/pkg/sqlqueries/SQL/plan_data_exchange_approach/create.sql new file mode 100644 index 0000000000..d7abff8d7a --- /dev/null +++ b/pkg/sqlqueries/SQL/plan_data_exchange_approach/create.sql @@ -0,0 +1,80 @@ +INSERT INTO plan_data_exchange_approach ( + id, + model_plan_id, + data_to_collect_from_participants, + data_to_collect_from_participants_reports_details, + data_to_collect_from_participants_other, + data_will_not_be_collected_from_participants, + data_to_collect_from_participants_note, + data_to_send_to_participants, + data_to_send_to_participants_note, + does_need_to_make_multi_payer_data_available, + anticipated_multi_payer_data_availability_use_case, + does_need_to_make_multi_payer_data_available_note, + does_need_to_collect_and_aggregate_multi_source_data, + multi_source_data_to_collect, + multi_source_data_to_collect_other, + does_need_to_collect_and_aggregate_multi_source_data_note, + will_implement_new_data_exchange_methods, + new_data_exchange_methods_description, + new_data_exchange_methods_note, + additional_data_exchange_considerations_description, + created_by, + modified_by, + marked_complete_by, + marked_complete_dts +) +VALUES ( + :id, + :model_plan_id, + :data_to_collect_from_participants, + :data_to_collect_from_participants_reports_details, + :data_to_collect_from_participants_other, + :data_will_not_be_collected_from_participants, + :data_to_collect_from_participants_note, + :data_to_send_to_participants, + :data_to_send_to_participants_note, + :does_need_to_make_multi_payer_data_available, + :anticipated_multi_payer_data_availability_use_case, + :does_need_to_make_multi_payer_data_available_note, + :does_need_to_collect_and_aggregate_multi_source_data, + :multi_source_data_to_collect, + :multi_source_data_to_collect_other, + :does_need_to_collect_and_aggregate_multi_source_data_note, + :will_implement_new_data_exchange_methods, + :new_data_exchange_methods_description, + :new_data_exchange_methods_note, + :additional_data_exchange_considerations_description, + :created_by, + :modified_by, + :marked_complete_by, + :marked_complete_dts +) +RETURNING +id, +model_plan_id, +data_to_collect_from_participants, +data_to_collect_from_participants_reports_details, +data_to_collect_from_participants_other, +data_will_not_be_collected_from_participants, +data_to_collect_from_participants_note, +data_to_send_to_participants, +data_to_send_to_participants_note, +does_need_to_make_multi_payer_data_available, +anticipated_multi_payer_data_availability_use_case, +does_need_to_make_multi_payer_data_available_note, +does_need_to_collect_and_aggregate_multi_source_data, +multi_source_data_to_collect, +multi_source_data_to_collect_other, +does_need_to_collect_and_aggregate_multi_source_data_note, +will_implement_new_data_exchange_methods, +new_data_exchange_methods_description, +new_data_exchange_methods_note, +additional_data_exchange_considerations_description, +created_by, +created_dts, +modified_by, +modified_dts, +marked_complete_by, +marked_complete_dts, +status; diff --git a/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_id.sql b/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_id.sql new file mode 100644 index 0000000000..041fac2dcb --- /dev/null +++ b/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_id.sql @@ -0,0 +1,30 @@ +SELECT + id, + model_plan_id, + data_to_collect_from_participants, + data_to_collect_from_participants_reports_details, + data_to_collect_from_participants_other, + data_will_not_be_collected_from_participants, + data_to_collect_from_participants_note, + data_to_send_to_participants, + data_to_send_to_participants_note, + does_need_to_make_multi_payer_data_available, + anticipated_multi_payer_data_availability_use_case, + does_need_to_make_multi_payer_data_available_note, + does_need_to_collect_and_aggregate_multi_source_data, + multi_source_data_to_collect, + multi_source_data_to_collect_other, + does_need_to_collect_and_aggregate_multi_source_data_note, + will_implement_new_data_exchange_methods, + new_data_exchange_methods_description, + new_data_exchange_methods_note, + additional_data_exchange_considerations_description, + created_by, + created_dts, + modified_by, + modified_dts, + marked_complete_by, + marked_complete_dts, + status +FROM plan_data_exchange_approach +WHERE id = :id; diff --git a/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_model_plan_id.sql b/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_model_plan_id.sql new file mode 100644 index 0000000000..618b4e4753 --- /dev/null +++ b/pkg/sqlqueries/SQL/plan_data_exchange_approach/get_by_model_plan_id.sql @@ -0,0 +1,30 @@ +SELECT + id, + model_plan_id, + data_to_collect_from_participants, + data_to_collect_from_participants_reports_details, + data_to_collect_from_participants_other, + data_will_not_be_collected_from_participants, + data_to_collect_from_participants_note, + data_to_send_to_participants, + data_to_send_to_participants_note, + does_need_to_make_multi_payer_data_available, + anticipated_multi_payer_data_availability_use_case, + does_need_to_make_multi_payer_data_available_note, + does_need_to_collect_and_aggregate_multi_source_data, + multi_source_data_to_collect, + multi_source_data_to_collect_other, + does_need_to_collect_and_aggregate_multi_source_data_note, + will_implement_new_data_exchange_methods, + new_data_exchange_methods_description, + new_data_exchange_methods_note, + additional_data_exchange_considerations_description, + created_by, + created_dts, + modified_by, + modified_dts, + marked_complete_by, + marked_complete_dts, + status +FROM plan_data_exchange_approach +WHERE model_plan_id = :model_plan_id; diff --git a/pkg/sqlqueries/SQL/plan_data_exchange_approach/update.sql b/pkg/sqlqueries/SQL/plan_data_exchange_approach/update.sql new file mode 100644 index 0000000000..9ef460a9e8 --- /dev/null +++ b/pkg/sqlqueries/SQL/plan_data_exchange_approach/update.sql @@ -0,0 +1,55 @@ +UPDATE plan_data_exchange_approach +SET + model_plan_id = :model_plan_id, + data_to_collect_from_participants = :data_to_collect_from_participants, + data_to_collect_from_participants_reports_details = :data_to_collect_from_participants_reports_details, + data_to_collect_from_participants_other = :data_to_collect_from_participants_other, + data_will_not_be_collected_from_participants = :data_will_not_be_collected_from_participants, + data_to_collect_from_participants_note = :data_to_collect_from_participants_note, + data_to_send_to_participants = :data_to_send_to_participants, + data_to_send_to_participants_note = :data_to_send_to_participants_note, + does_need_to_make_multi_payer_data_available = :does_need_to_make_multi_payer_data_available, + anticipated_multi_payer_data_availability_use_case = :anticipated_multi_payer_data_availability_use_case, + does_need_to_make_multi_payer_data_available_note = :does_need_to_make_multi_payer_data_available_note, + does_need_to_collect_and_aggregate_multi_source_data = :does_need_to_collect_and_aggregate_multi_source_data, + multi_source_data_to_collect = :multi_source_data_to_collect, + multi_source_data_to_collect_other = :multi_source_data_to_collect_other, + does_need_to_collect_and_aggregate_multi_source_data_note = :does_need_to_collect_and_aggregate_multi_source_data_note, + will_implement_new_data_exchange_methods = :will_implement_new_data_exchange_methods, + new_data_exchange_methods_description = :new_data_exchange_methods_description, + new_data_exchange_methods_note = :new_data_exchange_methods_note, + additional_data_exchange_considerations_description = :additional_data_exchange_considerations_description, + modified_by = :modified_by, + modified_dts = CURRENT_TIMESTAMP, + marked_complete_by = :marked_complete_by, + marked_complete_dts = :marked_complete_dts, + status = :status +WHERE id = :id +RETURNING +id, +model_plan_id, +data_to_collect_from_participants, +data_to_collect_from_participants_reports_details, +data_to_collect_from_participants_other, +data_will_not_be_collected_from_participants, +data_to_collect_from_participants_note, +data_to_send_to_participants, +data_to_send_to_participants_note, +does_need_to_make_multi_payer_data_available, +anticipated_multi_payer_data_availability_use_case, +does_need_to_make_multi_payer_data_available_note, +does_need_to_collect_and_aggregate_multi_source_data, +multi_source_data_to_collect, +multi_source_data_to_collect_other, +does_need_to_collect_and_aggregate_multi_source_data_note, +will_implement_new_data_exchange_methods, +new_data_exchange_methods_description, +new_data_exchange_methods_note, +additional_data_exchange_considerations_description, +created_by, +created_dts, +modified_by, +modified_dts, +marked_complete_by, +marked_complete_dts, +status; diff --git a/pkg/sqlqueries/SQL/user_notification_preferences/create.sql b/pkg/sqlqueries/SQL/user_notification_preferences/create.sql index 45ce0bd0b6..7db18c55b2 100644 --- a/pkg/sqlqueries/SQL/user_notification_preferences/create.sql +++ b/pkg/sqlqueries/SQL/user_notification_preferences/create.sql @@ -10,6 +10,7 @@ INSERT INTO public.user_notification_preferences( new_model_plan, dates_changed, dates_changed_notification_type, + data_exchange_approach_completed, created_by ) VALUES ( @@ -24,6 +25,7 @@ VALUES ( :new_model_plan, :dates_changed, :dates_changed_notification_type, + :data_exchange_approach_completed, :created_by ) RETURNING @@ -38,6 +40,7 @@ model_plan_shared, new_model_plan, dates_changed, dates_changed_notification_type, +data_exchange_approach_completed, created_by, created_dts, modified_by, diff --git a/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id.sql b/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id.sql index a759fdb15c..0973be8b23 100644 --- a/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id.sql +++ b/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id.sql @@ -10,6 +10,7 @@ SELECT new_model_plan, dates_changed, dates_changed_notification_type, + data_exchange_approach_completed, created_by, created_dts, modified_by, diff --git a/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id_loader.sql b/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id_loader.sql index 3ef3d5d8d5..d3a2d7982c 100644 --- a/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id_loader.sql +++ b/pkg/sqlqueries/SQL/user_notification_preferences/get_by_user_id_loader.sql @@ -18,6 +18,7 @@ SELECT UNP.new_model_plan, UNP.dates_changed, UNP.dates_changed_notification_type, + UNP.data_exchange_approach_completed, UNP.created_by, UNP.created_dts, UNP.modified_by, diff --git a/pkg/sqlqueries/SQL/user_notification_preferences/update.sql b/pkg/sqlqueries/SQL/user_notification_preferences/update.sql index f11555b3cf..96d8b5c96c 100644 --- a/pkg/sqlqueries/SQL/user_notification_preferences/update.sql +++ b/pkg/sqlqueries/SQL/user_notification_preferences/update.sql @@ -9,6 +9,7 @@ SET new_model_plan = :new_model_plan, dates_changed = :dates_changed, dates_changed_notification_type = :dates_changed_notification_type, + data_exchange_approach_completed = :data_exchange_approach_completed, modified_by = :modified_by, modified_dts = CURRENT_TIMESTAMP WHERE @@ -25,6 +26,7 @@ model_plan_shared, new_model_plan, dates_changed, dates_changed_notification_type, +data_exchange_approach_completed, created_by, created_dts, modified_by, diff --git a/pkg/sqlqueries/plan_data_exchange_approach.go b/pkg/sqlqueries/plan_data_exchange_approach.go new file mode 100644 index 0000000000..780856aea9 --- /dev/null +++ b/pkg/sqlqueries/plan_data_exchange_approach.go @@ -0,0 +1,30 @@ +package sqlqueries + +import _ "embed" + +//go:embed SQL/plan_data_exchange_approach/create.sql +var planDataExchangeApproachCreateSQL string + +//go:embed SQL/plan_data_exchange_approach/update.sql +var planDataExchangeApproachUpdateSQL string + +//go:embed SQL/plan_data_exchange_approach/get_by_id.sql +var planDataExchangeApproachGetByIDSQL string + +//go:embed SQL/plan_data_exchange_approach/get_by_model_plan_id.sql +var planDataExchangeApproachGetByModelPlanIDSQL string + +type planDataExchangeApproachScripts struct { + Create string + Update string + GetByID string + GetByModelPlanID string +} + +// PlanDataExchangeApproach houses all the SQL scripts for the plan_data_exchange_approach table +var PlanDataExchangeApproach = planDataExchangeApproachScripts{ + Create: planDataExchangeApproachCreateSQL, + Update: planDataExchangeApproachUpdateSQL, + GetByID: planDataExchangeApproachGetByIDSQL, + GetByModelPlanID: planDataExchangeApproachGetByModelPlanIDSQL, +} diff --git a/pkg/storage/plan_data_exchange_approachStore.go b/pkg/storage/plan_data_exchange_approachStore.go new file mode 100644 index 0000000000..6e1f05b8b8 --- /dev/null +++ b/pkg/storage/plan_data_exchange_approachStore.go @@ -0,0 +1,93 @@ +package storage + +import ( + _ "embed" + "fmt" + + "github.com/cms-enterprise/mint-app/pkg/sqlqueries" + + "github.com/google/uuid" + "go.uber.org/zap" + + "github.com/cms-enterprise/mint-app/pkg/models" + "github.com/cms-enterprise/mint-app/pkg/shared/utilitysql" + "github.com/cms-enterprise/mint-app/pkg/shared/utilityuuid" + "github.com/cms-enterprise/mint-app/pkg/sqlutils" +) + +// PlanDataExchangeApproachCreate creates a new plan data exchange approach +func (s *Store) PlanDataExchangeApproachCreate(np sqlutils.NamedPreparer, logger *zap.Logger, approach *models.PlanDataExchangeApproach) (*models.PlanDataExchangeApproach, error) { + + approach.ID = utilityuuid.ValueOrNewUUID(approach.ID) + + stmt, err := np.PrepareNamed(sqlqueries.PlanDataExchangeApproach.Create) + if err != nil { + return nil, fmt.Errorf("error preparing named statement: %w", err) + } + defer stmt.Close() + + approach.ModifiedBy = nil + approach.ModifiedDts = nil + + err = stmt.Get(approach, approach) + if err != nil { + return nil, fmt.Errorf("error getting plan data exchange approach: %w", err) + } + + return approach, nil +} + +// PlanDataExchangeApproachUpdate updates the plan data exchange approach for a given id +func (s *Store) PlanDataExchangeApproachUpdate(logger *zap.Logger, approach *models.PlanDataExchangeApproach) (*models.PlanDataExchangeApproach, error) { + + stmt, err := s.db.PrepareNamed(sqlqueries.PlanDataExchangeApproach.Update) + if err != nil { + return nil, fmt.Errorf("error preparing named statement: %w", err) + } + defer stmt.Close() + + err = stmt.Get(approach, approach) + if err != nil { + return nil, fmt.Errorf("error getting plan data exchange approach: %w", err) + } + + return approach, nil +} + +// PlanDataExchangeApproachGetByID returns the plan data exchange approach for a given id +func (s *Store) PlanDataExchangeApproachGetByID(_ *zap.Logger, id uuid.UUID) (*models.PlanDataExchangeApproach, error) { + + approach := models.PlanDataExchangeApproach{} + + stmt, err := s.db.PrepareNamed(sqlqueries.PlanDataExchangeApproach.GetByID) + if err != nil { + return nil, err + } + defer stmt.Close() + + err = stmt.Get(&approach, utilitysql.CreateIDQueryMap(id)) + + if err != nil { + return nil, err + } + return &approach, nil +} + +// PlanDataExchangeApproachGetByModelPlanID returns the plan data exchange approach for a given model plan id +func (s *Store) PlanDataExchangeApproachGetByModelPlanID(_ *zap.Logger, modelPlanID uuid.UUID) (*models.PlanDataExchangeApproach, error) { + + approach := models.PlanDataExchangeApproach{} + + stmt, err := s.db.PrepareNamed(sqlqueries.PlanDataExchangeApproach.GetByModelPlanID) + if err != nil { + return nil, err + } + defer stmt.Close() + + err = stmt.Get(&approach, utilitysql.CreateModelPlanIDQueryMap(modelPlanID)) + if err != nil { + return nil, err + } + + return &approach, nil +} diff --git a/pkg/storage/truncate.go b/pkg/storage/truncate.go index 07ed1f5bfa..a1cb7b23e7 100644 --- a/pkg/storage/truncate.go +++ b/pkg/storage/truncate.go @@ -14,6 +14,7 @@ func (s *Store) TruncateAllTablesDANGEROUS(logger *zap.Logger) error { discussion_reply, plan_basics, plan_collaborator, + plan_data_exchange_approach, plan_discussion, plan_document_solution_link, plan_document, @@ -61,7 +62,7 @@ func removeNonSystemAccounts(s *Store) error { WHERE username NOT IN %s );` - scriptUser := `DELETE FROM user_account + scriptUser := `DELETE FROM user_account WHERE username NOT IN %s;` systemAccounts := "( 'UNKNOWN_USER','MINT_SYSTEM')" diff --git a/src/gql/generated/graphql.ts b/src/gql/generated/graphql.ts index 393876dd7b..19d02195d2 100644 --- a/src/gql/generated/graphql.ts +++ b/src/gql/generated/graphql.ts @@ -61,12 +61,13 @@ export type Activity = { }; /** ActivityMetaData is a type that represents all the data that can be captured in an Activity */ -export type ActivityMetaData = AddedAsCollaboratorMeta | DailyDigestCompleteActivityMeta | DatesChangedActivityMeta | ModelPlanSharedActivityMeta | NewDiscussionRepliedActivityMeta | NewModelPlanActivityMeta | TaggedInDiscussionReplyActivityMeta | TaggedInPlanDiscussionActivityMeta; +export type ActivityMetaData = AddedAsCollaboratorMeta | DailyDigestCompleteActivityMeta | DatesChangedActivityMeta | ModelPlanSharedActivityMeta | NewDiscussionRepliedActivityMeta | NewModelPlanActivityMeta | PlanDataExchangeApproachCompletedActivityMeta | TaggedInDiscussionReplyActivityMeta | TaggedInPlanDiscussionActivityMeta; /** ActivityType represents the possible activities that happen in application that might result in a notification */ export enum ActivityType { ADDED_AS_COLLABORATOR = 'ADDED_AS_COLLABORATOR', DAILY_DIGEST_COMPLETE = 'DAILY_DIGEST_COMPLETE', + DATA_EXCHANGE_APPROACH_COMPLETED = 'DATA_EXCHANGE_APPROACH_COMPLETED', DATES_CHANGED = 'DATES_CHANGED', MODEL_PLAN_SHARED = 'MODEL_PLAN_SHARED', NEW_DISCUSSION_REPLY = 'NEW_DISCUSSION_REPLY', @@ -173,6 +174,12 @@ export type AnalyzedPlanSections = { updated: Array; }; +export enum AnticipatedMultiPayerDataAvailabilityUseCase { + FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS = 'FILL_GAPS_IN_CARE_ALERTING_AND_REPORTS', + MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION = 'MORE_COMPETENT_ALERT_DISCHARGE_TRANSFER_NOTIFICATION', + SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING = 'SUPPLY_MULTI_PAYER_CLAIMS_COST_UTIL_AND_QUALITY_REPORTING' +} + export type AuditChange = { __typename: 'AuditChange'; action: Scalars['String']['output']; @@ -304,6 +311,12 @@ export type DailyDigestCompleteActivityMeta = { version: Scalars['Int']['output']; }; +export enum DataExchangeApproachStatus { + COMPLETE = 'COMPLETE', + IN_PROGRESS = 'IN_PROGRESS', + READY = 'READY' +} + export enum DataForMonitoringType { CLINICAL_DATA = 'CLINICAL_DATA', ENCOUNTER_DATA = 'ENCOUNTER_DATA', @@ -335,6 +348,27 @@ export enum DataStartsType { SHORTLY_BEFORE_THE_START_DATE = 'SHORTLY_BEFORE_THE_START_DATE' } +export enum DataToCollectFromParticipants { + BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS = 'BANKING_INFORMATION_TO_MAKE_NON_CLAIMS_BASED_PAYMENTS', + CLINICAL_DATA = 'CLINICAL_DATA', + COLLECT_BIDS_AND_PLAN_INFORMATION = 'COLLECT_BIDS_AND_PLAN_INFORMATION', + COOPERATIVE_AGREEMENT_APPLICATION = 'COOPERATIVE_AGREEMENT_APPLICATION', + DECARBONIZATION_DATA = 'DECARBONIZATION_DATA', + EXPANDED_DEMOGRAPHICS_DATA = 'EXPANDED_DEMOGRAPHICS_DATA', + FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES = 'FEE_FOR_SERVICE_CLAIMS_AND_APPLY_MODEL_RULES', + LEARNING_SYSTEM_METRICS = 'LEARNING_SYSTEM_METRICS', + OTHER = 'OTHER', + PARTICIPANT_AGREEMENT = 'PARTICIPANT_AGREEMENT', + PARTICIPANT_AGREEMENT_LETTER_OF_INTENT = 'PARTICIPANT_AGREEMENT_LETTER_OF_INTENT', + PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION = 'PARTICIPANT_AGREEMENT_REQUEST_FOR_APPLICATION', + PARTICIPANT_REPORTED_DATA = 'PARTICIPANT_REPORTED_DATA', + PARTICIPANT_REPORTED_QUALITY_MEASURES = 'PARTICIPANT_REPORTED_QUALITY_MEASURES', + PROVIDER_PARTICIPANT_ROSTER = 'PROVIDER_PARTICIPANT_ROSTER', + REPORTS_FROM_PARTICIPANTS = 'REPORTS_FROM_PARTICIPANTS', + SOCIAL_DETERMINANTS_OF_HEALTH = 'SOCIAL_DETERMINANTS_OF_HEALTH', + SURVEY = 'SURVEY' +} + export enum DataToSendParticipantsType { BASELINE_HISTORICAL_DATA = 'BASELINE_HISTORICAL_DATA', BENEFICIARY_LEVEL_DATA = 'BENEFICIARY_LEVEL_DATA', @@ -345,6 +379,15 @@ export enum DataToSendParticipantsType { PROVIDER_LEVEL_DATA = 'PROVIDER_LEVEL_DATA' } +export enum DataToSendToParticipants { + DATA_FEEDBACK_DASHBOARD = 'DATA_FEEDBACK_DASHBOARD', + DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS = 'DATA_WILL_NOT_BE_SENT_TO_PARTICIPANTS', + NON_CLAIMS_BASED_PAYMENTS = 'NON_CLAIMS_BASED_PAYMENTS', + OPERATIONS_DATA = 'OPERATIONS_DATA', + PARTIALLY_ADJUSTED_CLAIMS_DATA = 'PARTIALLY_ADJUSTED_CLAIMS_DATA', + RAW_CLAIMS_DATA = 'RAW_CLAIMS_DATA' +} + export enum DatabaseOperation { DELETE = 'DELETE', INSERT = 'INSERT', @@ -696,6 +739,7 @@ export type ModelPlan = { createdByUserAccount: UserAccount; createdDts: Scalars['Time']['output']; crs: Array; + dataExchangeApproach: PlanDataExchangeApproach; discussions: Array; documents: Array; echimpCRs: Array; @@ -823,6 +867,16 @@ export enum MonitoringFileType { PROVIDER = 'PROVIDER' } +export enum MultiSourceDataToCollect { + COMMERCIAL_CLAIMS = 'COMMERCIAL_CLAIMS', + LAB_DATA = 'LAB_DATA', + MANUFACTURER = 'MANUFACTURER', + MEDICAID_CLAIMS = 'MEDICAID_CLAIMS', + MEDICARE_CLAIMS = 'MEDICARE_CLAIMS', + OTHER = 'OTHER', + PATIENT_REGISTRY = 'PATIENT_REGISTRY' +} + /** Mutations definition for the schema */ export type Mutation = { __typename: 'Mutation'; @@ -870,6 +924,7 @@ export type Mutation = { updatePlanBeneficiaries: PlanBeneficiaries; updatePlanCR: PlanCr; updatePlanCollaborator: PlanCollaborator; + updatePlanDataExchangeApproach: PlanDataExchangeApproach; updatePlanGeneralCharacteristics: PlanGeneralCharacteristics; updatePlanOpsEvalAndLearning: PlanOpsEvalAndLearning; updatePlanParticipantsAndProviders: PlanParticipantsAndProviders; @@ -1121,6 +1176,13 @@ export type MutationUpdatePlanCollaboratorArgs = { }; +/** Mutations definition for the schema */ +export type MutationUpdatePlanDataExchangeApproachArgs = { + changes: PlanDataExchangeApproachChanges; + id: Scalars['UUID']['input']; +}; + + /** Mutations definition for the schema */ export type MutationUpdatePlanGeneralCharacteristicsArgs = { changes: PlanGeneralCharacteristicsChanges; @@ -1814,6 +1876,74 @@ export type PlanCollaboratorTranslation = { username: TranslationField; }; +export type PlanDataExchangeApproach = { + __typename: 'PlanDataExchangeApproach'; + additionalDataExchangeConsiderationsDescription?: Maybe; + anticipatedMultiPayerDataAvailabilityUseCase?: Maybe; + createdBy: Scalars['UUID']['output']; + createdByUserAccount: UserAccount; + createdDts: Scalars['Time']['output']; + dataToCollectFromParticipants: Array; + dataToCollectFromParticipantsNote?: Maybe; + dataToCollectFromParticipantsOther?: Maybe; + dataToCollectFromParticipantsReportsDetails?: Maybe; + dataToSendToParticipants: Array; + dataToSendToParticipantsNote?: Maybe; + dataWillNotBeCollectedFromParticipants?: Maybe; + doesNeedToCollectAndAggregateMultiSourceData?: Maybe; + doesNeedToCollectAndAggregateMultiSourceDataNote?: Maybe; + doesNeedToMakeMultiPayerDataAvailable?: Maybe; + doesNeedToMakeMultiPayerDataAvailableNote?: Maybe; + id: Scalars['UUID']['output']; + isDataExchangeApproachComplete: Scalars['Boolean']['output']; + markedCompleteBy?: Maybe; + markedCompleteByUserAccount?: Maybe; + markedCompleteDts?: Maybe; + modelPlanID: Scalars['UUID']['output']; + modifiedBy?: Maybe; + modifiedByUserAccount?: Maybe; + modifiedDts?: Maybe; + multiSourceDataToCollect: Array; + multiSourceDataToCollectOther?: Maybe; + newDataExchangeMethodsDescription?: Maybe; + newDataExchangeMethodsNote?: Maybe; + status: DataExchangeApproachStatus; + willImplementNewDataExchangeMethods?: Maybe; +}; + +export type PlanDataExchangeApproachChanges = { + additionalDataExchangeConsiderationsDescription?: InputMaybe; + anticipatedMultiPayerDataAvailabilityUseCase?: InputMaybe; + dataToCollectFromParticipants?: InputMaybe>; + dataToCollectFromParticipantsNote?: InputMaybe; + dataToCollectFromParticipantsOther?: InputMaybe; + dataToCollectFromParticipantsReportsDetails?: InputMaybe; + dataToSendToParticipants: Array; + dataToSendToParticipantsNote?: InputMaybe; + dataWillNotBeCollectedFromParticipants?: InputMaybe; + doesNeedToCollectAndAggregateMultiSourceData?: InputMaybe; + doesNeedToCollectAndAggregateMultiSourceDataNote?: InputMaybe; + doesNeedToMakeMultiPayerDataAvailable?: InputMaybe; + doesNeedToMakeMultiPayerDataAvailableNote?: InputMaybe; + isDataExchangeApproachComplete?: InputMaybe; + multiSourceDataToCollect?: InputMaybe>; + multiSourceDataToCollectOther?: InputMaybe; + newDataExchangeMethodsDescription?: InputMaybe; + newDataExchangeMethodsNote?: InputMaybe; + willImplementNewDataExchangeMethods?: InputMaybe; +}; + +export type PlanDataExchangeApproachCompletedActivityMeta = { + __typename: 'PlanDataExchangeApproachCompletedActivityMeta'; + dataExchangeApproach: PlanDataExchangeApproach; + dataExchangeApproachID: Scalars['UUID']['output']; + markedCompleteBy: Scalars['UUID']['output']; + markedCompleteByUserAccount: UserAccount; + modelPlan: ModelPlan; + type: ActivityType; + version: Scalars['Int']['output']; +}; + /** PlanDiscussion represents plan discussion */ export type PlanDiscussion = { __typename: 'PlanDiscussion'; @@ -4091,6 +4221,7 @@ export type UserNotificationPreferences = { createdByUserAccount: UserAccount; createdDts: Scalars['Time']['output']; dailyDigestComplete: Array; + dataExchangeApproachCompleted: Array; datesChanged: Array; datesChangedNotificationType?: Maybe; id: Scalars['UUID']['output']; @@ -4109,6 +4240,7 @@ export type UserNotificationPreferences = { export type UserNotificationPreferencesChanges = { addedAsCollaborator?: InputMaybe>; dailyDigestComplete?: InputMaybe>; + dataExchangeApproachCompleted?: InputMaybe>; datesChanged?: InputMaybe>; datesChangedNotificationType?: InputMaybe; modelPlanShared?: InputMaybe>; @@ -4801,7 +4933,7 @@ export type GetNotificationSettingsQuery = { __typename: 'Query', currentUser: { export type GetNotificationsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetNotificationsQuery = { __typename: 'Query', currentUser: { __typename: 'CurrentUser', notifications: { __typename: 'UserNotifications', numUnreadNotifications: number, notifications: Array<{ __typename: 'UserNotification', id: UUID, isRead: boolean, inAppSent: boolean, emailSent: boolean, createdDts: Time, activity: { __typename: 'Activity', activityType: ActivityType, entityID: UUID, actorID: UUID, actorUserAccount: { __typename: 'UserAccount', commonName: string }, metaData: { __typename: 'AddedAsCollaboratorMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'DailyDigestCompleteActivityMeta', version: number, type: ActivityType, modelPlanIDs: Array, date: Time, analyzedAudits: Array<{ __typename: 'AnalyzedAudit', id: UUID, modelPlanID: UUID, modelName: string, date: Time, changes: { __typename: 'AnalyzedAuditChange', modelPlan?: { __typename: 'AnalyzedModelPlan', oldName?: string | null, statusChanges?: Array | null } | null, documents?: { __typename: 'AnalyzedDocuments', count?: number | null } | null, crTdls?: { __typename: 'AnalyzedCrTdls', activity?: boolean | null } | null, planSections?: { __typename: 'AnalyzedPlanSections', updated: Array, readyForReview: Array, readyForClearance: Array } | null, modelLeads?: { __typename: 'AnalyzedModelLeads', added: Array<{ __typename: 'AnalyzedModelLeadInfo', id: UUID, commonName: string }> } | null, planDiscussions?: { __typename: 'AnalyzedPlanDiscussions', activity?: boolean | null } | null } }> } | { __typename: 'DatesChangedActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string }, dateChanges: Array<{ __typename: 'DateChange', isChanged: boolean, field: DateChangeFieldType, isRange: boolean, oldDate?: Time | null, newDate?: Time | null, oldRangeStart?: Time | null, oldRangeEnd?: Time | null, newRangeStart?: Time | null, newRangeEnd?: Time | null }> } | { __typename: 'ModelPlanSharedActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, optionalMessage?: string | null, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'NewDiscussionRepliedActivityMeta', version: number, type: ActivityType, discussionID: UUID, replyID: UUID, modelPlanID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'NewModelPlanActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'TaggedInDiscussionReplyActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, discussionID: UUID, replyID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'TaggedInPlanDiscussionActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, discussionID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } } }> } } }; +export type GetNotificationsQuery = { __typename: 'Query', currentUser: { __typename: 'CurrentUser', notifications: { __typename: 'UserNotifications', numUnreadNotifications: number, notifications: Array<{ __typename: 'UserNotification', id: UUID, isRead: boolean, inAppSent: boolean, emailSent: boolean, createdDts: Time, activity: { __typename: 'Activity', activityType: ActivityType, entityID: UUID, actorID: UUID, actorUserAccount: { __typename: 'UserAccount', commonName: string }, metaData: { __typename: 'AddedAsCollaboratorMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'DailyDigestCompleteActivityMeta', version: number, type: ActivityType, modelPlanIDs: Array, date: Time, analyzedAudits: Array<{ __typename: 'AnalyzedAudit', id: UUID, modelPlanID: UUID, modelName: string, date: Time, changes: { __typename: 'AnalyzedAuditChange', modelPlan?: { __typename: 'AnalyzedModelPlan', oldName?: string | null, statusChanges?: Array | null } | null, documents?: { __typename: 'AnalyzedDocuments', count?: number | null } | null, crTdls?: { __typename: 'AnalyzedCrTdls', activity?: boolean | null } | null, planSections?: { __typename: 'AnalyzedPlanSections', updated: Array, readyForReview: Array, readyForClearance: Array } | null, modelLeads?: { __typename: 'AnalyzedModelLeads', added: Array<{ __typename: 'AnalyzedModelLeadInfo', id: UUID, commonName: string }> } | null, planDiscussions?: { __typename: 'AnalyzedPlanDiscussions', activity?: boolean | null } | null } }> } | { __typename: 'DatesChangedActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string }, dateChanges: Array<{ __typename: 'DateChange', isChanged: boolean, field: DateChangeFieldType, isRange: boolean, oldDate?: Time | null, newDate?: Time | null, oldRangeStart?: Time | null, oldRangeEnd?: Time | null, newRangeStart?: Time | null, newRangeEnd?: Time | null }> } | { __typename: 'ModelPlanSharedActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, optionalMessage?: string | null, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'NewDiscussionRepliedActivityMeta', version: number, type: ActivityType, discussionID: UUID, replyID: UUID, modelPlanID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'NewModelPlanActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'PlanDataExchangeApproachCompletedActivityMeta' } | { __typename: 'TaggedInDiscussionReplyActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, discussionID: UUID, replyID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } | { __typename: 'TaggedInPlanDiscussionActivityMeta', version: number, type: ActivityType, modelPlanID: UUID, discussionID: UUID, content: string, modelPlan: { __typename: 'ModelPlan', modelName: string } } } }> } } }; export type GetPollNotificationsQueryVariables = Exact<{ [key: string]: never; }>;