api-internal-modules.ts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. import { Module } from '@nestjs/common';
  2. import { ConfigModule } from '../config/config.module';
  3. import { DataImportModule } from '../data-import/data-import.module';
  4. import { JobQueueModule } from '../job-queue/job-queue.module';
  5. import { createDynamicGraphQlModulesForPlugins } from '../plugin/dynamic-plugin-api.module';
  6. import { ServiceModule } from '../service/service.module';
  7. import { IdCodecService } from './common/id-codec.service';
  8. import { AdministratorResolver } from './resolvers/admin/administrator.resolver';
  9. import { AssetResolver } from './resolvers/admin/asset.resolver';
  10. import { AuthResolver } from './resolvers/admin/auth.resolver';
  11. import { ChannelResolver } from './resolvers/admin/channel.resolver';
  12. import { CollectionResolver } from './resolvers/admin/collection.resolver';
  13. import { CountryResolver } from './resolvers/admin/country.resolver';
  14. import { CustomerGroupResolver } from './resolvers/admin/customer-group.resolver';
  15. import { CustomerResolver } from './resolvers/admin/customer.resolver';
  16. import { FacetResolver } from './resolvers/admin/facet.resolver';
  17. import { GlobalSettingsResolver } from './resolvers/admin/global-settings.resolver';
  18. import { ImportResolver } from './resolvers/admin/import.resolver';
  19. import { JobResolver } from './resolvers/admin/job.resolver';
  20. import { OrderResolver } from './resolvers/admin/order.resolver';
  21. import { PaymentMethodResolver } from './resolvers/admin/payment-method.resolver';
  22. import { ProductOptionResolver } from './resolvers/admin/product-option.resolver';
  23. import { ProductResolver } from './resolvers/admin/product.resolver';
  24. import { PromotionResolver } from './resolvers/admin/promotion.resolver';
  25. import { RoleResolver } from './resolvers/admin/role.resolver';
  26. import { SearchResolver } from './resolvers/admin/search.resolver';
  27. import { ShippingMethodResolver } from './resolvers/admin/shipping-method.resolver';
  28. import { TaxCategoryResolver } from './resolvers/admin/tax-category.resolver';
  29. import { TaxRateResolver } from './resolvers/admin/tax-rate.resolver';
  30. import { ZoneResolver } from './resolvers/admin/zone.resolver';
  31. import { CollectionEntityResolver } from './resolvers/entity/collection-entity.resolver';
  32. import { CustomerEntityResolver } from './resolvers/entity/customer-entity.resolver';
  33. import { FulfillmentEntityResolver } from './resolvers/entity/fulfillment-entity.resolver';
  34. import { OrderEntityResolver } from './resolvers/entity/order-entity.resolver';
  35. import { OrderLineEntityResolver } from './resolvers/entity/order-line-entity.resolver';
  36. import { PaymentEntityResolver } from './resolvers/entity/payment-entity.resolver';
  37. import {
  38. ProductAdminEntityResolver,
  39. ProductEntityResolver,
  40. } from './resolvers/entity/product-entity.resolver';
  41. import { ProductOptionGroupEntityResolver } from './resolvers/entity/product-option-group-entity.resolver';
  42. import {
  43. ProductVariantAdminEntityResolver,
  44. ProductVariantEntityResolver,
  45. } from './resolvers/entity/product-variant-entity.resolver';
  46. import { RefundEntityResolver } from './resolvers/entity/refund-entity.resolver';
  47. import { RoleEntityResolver } from './resolvers/entity/role-entity.resolver';
  48. import { ShopAuthResolver } from './resolvers/shop/shop-auth.resolver';
  49. import { ShopCustomerResolver } from './resolvers/shop/shop-customer.resolver';
  50. import { ShopEnvironmentResolver } from './resolvers/shop/shop-environment.resolver';
  51. import { ShopOrderResolver } from './resolvers/shop/shop-order.resolver';
  52. import { ShopProductsResolver } from './resolvers/shop/shop-products.resolver';
  53. const adminResolvers = [
  54. AdministratorResolver,
  55. AssetResolver,
  56. AuthResolver,
  57. ChannelResolver,
  58. CollectionResolver,
  59. CountryResolver,
  60. CustomerGroupResolver,
  61. CustomerResolver,
  62. FacetResolver,
  63. GlobalSettingsResolver,
  64. ImportResolver,
  65. JobResolver,
  66. OrderResolver,
  67. PaymentMethodResolver,
  68. ProductOptionResolver,
  69. ProductResolver,
  70. PromotionResolver,
  71. RoleResolver,
  72. SearchResolver,
  73. ShippingMethodResolver,
  74. TaxCategoryResolver,
  75. TaxRateResolver,
  76. ZoneResolver,
  77. ];
  78. const shopResolvers = [
  79. ShopAuthResolver,
  80. ShopCustomerResolver,
  81. ShopOrderResolver,
  82. ShopProductsResolver,
  83. ShopEnvironmentResolver,
  84. ];
  85. export const entityResolvers = [
  86. CollectionEntityResolver,
  87. CustomerEntityResolver,
  88. FulfillmentEntityResolver,
  89. OrderEntityResolver,
  90. OrderLineEntityResolver,
  91. PaymentEntityResolver,
  92. ProductEntityResolver,
  93. ProductOptionGroupEntityResolver,
  94. ProductVariantEntityResolver,
  95. RefundEntityResolver,
  96. RoleEntityResolver,
  97. ];
  98. export const adminEntityResolvers = [ProductVariantAdminEntityResolver, ProductAdminEntityResolver];
  99. /**
  100. * The internal module containing some shared providers used by more than
  101. * one API module.
  102. */
  103. @Module({
  104. imports: [ConfigModule],
  105. providers: [IdCodecService],
  106. exports: [IdCodecService, ConfigModule],
  107. })
  108. export class ApiSharedModule {}
  109. /**
  110. * The internal module containing the Admin GraphQL API resolvers
  111. */
  112. @Module({
  113. imports: [
  114. ApiSharedModule,
  115. JobQueueModule,
  116. ServiceModule.forRoot(),
  117. DataImportModule,
  118. ...createDynamicGraphQlModulesForPlugins('admin'),
  119. ],
  120. providers: [...adminResolvers, ...entityResolvers, ...adminEntityResolvers],
  121. exports: [...adminResolvers],
  122. })
  123. export class AdminApiModule {}
  124. /**
  125. * The internal module containing the Shop GraphQL API resolvers
  126. */
  127. @Module({
  128. imports: [ApiSharedModule, ServiceModule.forRoot(), ...createDynamicGraphQlModulesForPlugins('shop')],
  129. providers: [...shopResolvers, ...entityResolvers],
  130. exports: [...shopResolvers],
  131. })
  132. export class ShopApiModule {}