overwrite: true
schema: 'src/schema/[^_]*.graphql'
generates:
  src/generated/index.ts:
    plugins:
      - add:
          content: "/* eslint-disable max-len */\n/* eslint-disable @typescript-eslint/no-explicit-any */"
      - typescript
      - typescript-resolvers
    config:
      avoidOptionals:
        defaultValue: true
        field: true
        inputValue: false
        object: false
        resolvers: true
        query: true
        mutation: true
      contextType: ../types#ServiceContext
      useIndexSignature: true
      showUnusedMappers: true
      enumsAsConst: true
      makeResolverTypeCallable: true
      onlyResolveTypeForInterfaces: true
      enumValues:
        PhysicalDeliveryOrderStatus: ../connectors/owsProductPhysical/types#PhysicalDeliveryOrderStatus
        PhysicalDeliveryType: ../connectors/owsProductPhysical/types#PhysicalDeliveryType
        DeletionStatus: ../connectors/owsProductPhysical/types#DeletionStatus
        DeliveryStoreClassification: ../connectors/owsStore/types#DeliveryStoreClassification
        DeliveryStoreDistributionType: ../connectors/owsStore/types#DeliveryStoreDistributionType
        TerritoryStandard: ../connectors/owsStore/types#TerritoryStandard

      mappers:
        BulkAssetTransferJob: ../resolvers/types/bulkAssetTransferJob#BulkAssetTransferJobModel
        BulkSession: ../resolvers/types/bulkSession#BulkSessionKey
        BulkSessionAssetFile: ../resolvers/types/bulkSessionAssetFile#BulkSessionAssetFileKey
        BulkSessionGoogleAssetUpload: ../resolvers/types/bulkSessionGoogleAssetUpload#BulkSessionGoogleAssetUploadModel
        BulkSessionIngestion: ../resolvers/types/bulkSessionIngestion#BulkSessionIngestionKey
        BulkSessionIngestionProject: ../resolvers/types/bulkSessionIngestionProject#BulkSessionIngestionProjectKey
        BulkSessionMetadataFile: ../resolvers/types/bulkSessionMetadataFile#BulkSessionMetadataFileKey
        DeliveryStore: ../resolvers/types/deliveryStore#DeliveryStoreKey
        DistributionType: ../resolvers/types/distributionType#DistributionTypeKey
        Identity: ../resolvers/types/identity#IdentityKey
        Product: ../resolvers/types/product#ProductKey
        ProductDeliveryHistory: ../resolvers/types/productDeliveryHistory#ProductDeliveryHistoryModel
        ProductExtendedDeliveryHistory: ../resolvers/types/productDeliveryHistory#ProductExtendedDeliveryHistoryModel
        ProductDeliveryStoreDetail: ../resolvers/types/productDeliveryStoreDetail#ProductDeliveryStoreDetailKey
        Store: ../resolvers/types/store#StoreKey
        Project: ../resolvers/types/project#ProjectKey
        PhysicalDeliveryOrder: ../resolvers/types/physicalDeliveryOrder#PhysicalDeliveryOrderKey
        Label: ../resolvers/types/label#LabelKey
        Vendor: ../resolvers/types/vendor#VendorKey
        Subaccount: ../resolvers/types/subaccount#SubaccountKey
        VendorProductResult: ../resolvers/types/label#LabelProductKey
        SubaccountProductResult: ../resolvers/types/label#LabelProductKey
        VendorDeliveryStoreRelationshipResult: ../resolvers/types/label#LabelDeliveryStoreRelationshipKey
