  Resources:

    AppSyncMapCollectionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: mapCollection
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/process_file",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            #set( $ignore = $ctx.result.put("__typename", "Collection"))
            $util.toJson($ctx.result)
          #end

    AppSyncDeleteCollectionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: deleteCollection
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/delete_collection",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($ctx.result)
          #end

### resolver for the user data save mutation

    AppSyncUpdateCurrentUserMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateCurrentUser
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/update_current_user",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
          ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($ctx.result)
          #end

    AppSyncUpdateCollectionNameMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateCollectionName
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/rename_collection",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($ctx.result)
          #end

    # Do not use in production! Use caution!
    AppSyncDropCurrentSchemaMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: dropCurrentSchema
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/drop_current_schema",
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncGetChannelIdMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: getChannelId
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "getChannelId",
              "arguments": $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncApplyFiltersMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: applyFilters
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/apply_filters",
              "arguments": $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncSaveSegmentMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: saveSegment
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/save_segment",
              "arguments": $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncSendCollectionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncNoneDataSource.Name
        FieldName: sendCollection
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "payload": $utils.toJson($context.arguments)
          }
        ResponseMappingTemplate: |
          #set( $ignore = $ctx.args.put("__typename", "CollectionEvent"))
          #set( $ignore = $ctx.args.collection.put("__typename", "Collection"))
          $util.toJson($ctx.args)

    AppSyncSendUrgentMessageMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncNoneDataSource.Name
        FieldName: sendUrgentMessage
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "payload": $utils.toJson($context.arguments)
          }
        ResponseMappingTemplate: |
          #set( $ignore = $ctx.args.put("__typename", "UrgentMessageEvent"))
          $util.toJson($ctx.args)


    AppSyncSendAllianceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncNoneDataSource.Name
        FieldName: sendAlliance
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "payload": $utils.toJson($context.arguments)
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            #set( $ignore = $ctx.args.put("__typename", "AllianceEvent"))
            #set( $ignore = $ctx.args.alliance.put("__typename", "Alliance"))
            $util.toJson($ctx.args)
          #end


    AppSyncSendTaskStatusMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncNoneDataSource.Name
        FieldName: sendTaskStatus
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "payload": $utils.toJson($context.arguments)
          }
        ResponseMappingTemplate: |
          #set( $ignore = $ctx.args.put("__typename", "TaskStatusEvent"))
          $util.toJson($ctx.args)

    AppSyncSendProcessStatusMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncNoneDataSource.Name
        FieldName: sendProcessStatus
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "payload": $utils.toJson($context.arguments)
          }
        ResponseMappingTemplate: |
          #set( $ignore = $ctx.args.put("__typename", "ProcessStatusEvent"))
          #set( $ignore = $ctx.args.processStatus.put("__typename", "ProcessStatus"))
          $util.toJson($ctx.args)

    AppSyncCreateCollectionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: createCollection
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/initiate_file_upload",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncCreateAllianceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: createAlliance
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/create_alliance",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncUpdateAllianceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateAlliance
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/update_alliance",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncDeleteAllianceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: deleteAlliance
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/delete_alliance",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncInviteAllianceMemberMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: inviteAllianceMember
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/invite_alliance_member",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncAllianceInvitationReplyMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: allianceInvitationReply
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/alliance_invitation_reply",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncMergeProfilesIntoAllianceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: mergeProfilesIntoAlliance
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/merge_profiles_into_alliance",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncFbGenerateAudienceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbGenerateAudience
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/generate_fb_audience",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbDeleteAudienceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbDeleteAudience
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/delete_fb_audience",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbStoreAdaccountMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbStoreAdaccount
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/store_fb_adaccount",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncfbStoreSdkAdaccountMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbStoreSdkAdaccount
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/store_fb_sdk_adaccount",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbDeleteAdaccountMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbDeleteAdaccount
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/delete_fb_adaccount",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbGenerateAndShareAudienceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbGenerateAndShareAudience
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/create_and_share_fb_audience",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbUpdateSchemaMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateFbSchema
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/update_fb_schema",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbGenerateLookalikeAudienceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbGenerateLookalikeAudience
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/generate_lookalike_fb_audience",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbRevokeAudienceSharingFromAdaccountMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbRevokeAudienceSharingFromAdaccount
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/revoke_fb_adaccount_sharing",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbInitiateAudienceSharingMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbInitiateAudienceSharing
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/initiate_fb_audience_sharing",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbUpdateSdkStatusMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbUpdateSdkStatus
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/update_fb_sdk_status",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncDeleteAllianceCollectionsMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: deleteAllianceCollections
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/delete_alliance_collections",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncRemoveAllianceMemberMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: removeAllianceMember
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/remove_alliance_member",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncFbUpdateSdkAdaccountsMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: fbUpdateSdkAdaccounts
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/update_fb_sdk_adaccounts",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub)
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncCreateWorkspaceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: createWorkspace
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/create_workspace",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncUpdateWorkspaceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateWorkspace
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/update_workspace",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncDeleteWorkspaceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: deleteWorkspace
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/delete_workspace",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncKlaviyoStatusUpdateMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: klaviyoStatusUpdate
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/update_klaviyo_status",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncKlaviyoImportMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: klaviyoImport
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/klaviyo_import",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            #set( $ignore = $ctx.result.put("__typename", "Collection"))
            $util.toJson($ctx.result)
          #end

    AppSyncKlaviyoExportMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: klaviyoExport
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "dataprocessor/klaviyo_export",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            #set( $ignore = $ctx.result.put("__typename", "Collection"))
            $util.toJson($ctx.result)
          #end

    AppSyncUpdateBillingInformationMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updateBillingInformation
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/update_billing_info",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncCreateProductSubscriptionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: createProductSubscription
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/create_stripe_subscription",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncCancelProductSubscriptionMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: cancelProductSubscription
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/cancel_stripe_subscription",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end

    AppSyncCancelProductScheduleMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: cancelProductSchedule
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/cancel_stripe_subscription_schedule",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncUpdatePaymentMethodMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: updatePaymentMethod
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/update_payment_method",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncSetupIntentMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: setupIntent
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/setup_intent",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end


    AppSyncRetryInvoiceMutationResolver:
      Type: AWS::AppSync::Resolver
      DependsOn:
        - AppSyncSchema
      Properties:
        ApiId: !GetAtt AppSyncApi.ApiId
        DataSourceName: !GetAtt AppSyncInternalRequestsDataSource.Name
        FieldName: retryInvoice
        TypeName: Mutation
        RequestMappingTemplate: |
          {
            "version": "2018-05-29",
            "operation": "Invoke",
            "payload": {
              "typeName": $util.toJson($ctx.info.parentTypeName),
              "field": $util.toJson($ctx.info.fieldName),
              "endpoint": "management/retry_stripe_invoice",
              "arguments":  $util.toJson($ctx.args),
              "userSub" : $util.toJson($ctx.identity.sub),
            }
          }
        ResponseMappingTemplate: |
          #if( $context.result && $context.result.error )
            $util.error($context.result.error, $context.result.type, null, $context.result.info)
          #else
            $util.toJson($context.result)
          #end
