overwrite: true
generates:
  src/generated/index.ts:
    schema: 'src/schema/[^_]*.graphql'
    plugins:
      - typescript
      - typescript-resolvers
    config:
      avoidOptionals:
        defaultValue: true
        field: true
        inputValue: false
        object: false
        resolvers: true
      contextType: ../types#ServiceContext
      useIndexSignature: true
      showUnusedMappers: true
      enumsAsConst: true
      makeResolverTypeCallable: true
      federation: true
      enumValues:
        LabelType: ../connectors/open-search/types#LabelType
        VendorStatus: ../connectors/ows-account/dataloaders/vendor-by-uuid#VendorStatus
        ContractType: ../connectors/ows-contracts/types#ContractType
        PaymentInterval: ../connectors/ows-contracts/types#PaymentInterval
        TerritoryStandard: ../connectors/ows-contracts/types#TerritoryStandard
        LabelIdentifier: ../connectors/ows-account/types#LabelIdentifier
        SubaccountSplitType: ../connectors/ows-account/types#SubaccountSplitType
      mappers:
        Vendor: ../resolvers/types/vendor#VendorKey
        Subaccount: ../resolvers/types/subaccount#SubaccountKey
        Identity: ../resolvers/types/identity#IdentityKey
        SubaccountRoyaltyCollection: ../resolvers/types/subaccount-royalty-collection#SubaccountRoyaltyCollectionKey
        VendorContract: ../resolvers/types/vendor-contract#VendorContractKey
        VendorSearchItem: ../connectors/open-search/types#VendorSearchItemData
        SubaccountSearchItem: ../connectors/open-search/types#SubaccountSearchItemData
        ParentCompany: ../resolvers/types/parent-company#ParentCompanyKey
        CompanyBrand: ../resolvers/types/company-brand#CompanyBrandKey
config:
  namingConvention:
    enumValues: keep
