api-internal-modules.ts 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. import { Module } from '@nestjs/common';
  2. import { CacheModule } from '../cache/cache.module';
  3. import { ConfigModule } from '../config/config.module';
  4. import { ConnectionModule } from '../connection/connection.module';
  5. import { DataImportModule } from '../data-import/data-import.module';
  6. import { JobQueueModule } from '../job-queue/job-queue.module';
  7. import { createDynamicGraphQlModulesForPlugins } from '../plugin/dynamic-plugin-api.module';
  8. import { SchedulerModule } from '../scheduler/scheduler.module';
  9. import { ServiceModule } from '../service/service.module';
  10. import { ConfigurableOperationCodec } from './common/configurable-operation-codec';
  11. import { CustomFieldRelationResolverService } from './common/custom-field-relation-resolver.service';
  12. import { IdCodecService } from './common/id-codec.service';
  13. import { AdministratorResolver } from './resolvers/admin/administrator.resolver';
  14. import { AssetResolver } from './resolvers/admin/asset.resolver';
  15. import { AuthResolver } from './resolvers/admin/auth.resolver';
  16. import { ChannelResolver } from './resolvers/admin/channel.resolver';
  17. import { CollectionResolver } from './resolvers/admin/collection.resolver';
  18. import { CountryResolver } from './resolvers/admin/country.resolver';
  19. import { CustomerGroupResolver } from './resolvers/admin/customer-group.resolver';
  20. import { CustomerResolver } from './resolvers/admin/customer.resolver';
  21. import { DraftOrderResolver } from './resolvers/admin/draft-order.resolver';
  22. import { DuplicateEntityResolver } from './resolvers/admin/duplicate-entity.resolver';
  23. import { FacetResolver } from './resolvers/admin/facet.resolver';
  24. import { GlobalSettingsResolver } from './resolvers/admin/global-settings.resolver';
  25. import { ImportResolver } from './resolvers/admin/import.resolver';
  26. import { JobResolver } from './resolvers/admin/job.resolver';
  27. import { OrderResolver } from './resolvers/admin/order.resolver';
  28. import { PaymentMethodResolver } from './resolvers/admin/payment-method.resolver';
  29. import { ProductOptionResolver } from './resolvers/admin/product-option.resolver';
  30. import { ProductResolver } from './resolvers/admin/product.resolver';
  31. import { PromotionResolver } from './resolvers/admin/promotion.resolver';
  32. import { RoleResolver } from './resolvers/admin/role.resolver';
  33. import { ScheduledTaskResolver } from './resolvers/admin/scheduled-task.resolver';
  34. import { SearchResolver } from './resolvers/admin/search.resolver';
  35. import { SellerResolver } from './resolvers/admin/seller.resolver';
  36. import { ShippingMethodResolver } from './resolvers/admin/shipping-method.resolver';
  37. import { StockLocationResolver } from './resolvers/admin/stock-location.resolver';
  38. import { TagResolver } from './resolvers/admin/tag.resolver';
  39. import { TaxCategoryResolver } from './resolvers/admin/tax-category.resolver';
  40. import { TaxRateResolver } from './resolvers/admin/tax-rate.resolver';
  41. import { ZoneResolver } from './resolvers/admin/zone.resolver';
  42. import { AdministratorEntityResolver } from './resolvers/entity/administrator-entity.resolver';
  43. import { AssetEntityResolver } from './resolvers/entity/asset-entity.resolver';
  44. import { ChannelEntityResolver } from './resolvers/entity/channel-entity.resolver';
  45. import { CollectionEntityResolver } from './resolvers/entity/collection-entity.resolver';
  46. import { CountryEntityResolver } from './resolvers/entity/country-entity.resolver';
  47. import {
  48. CustomerAdminEntityResolver,
  49. CustomerEntityResolver,
  50. } from './resolvers/entity/customer-entity.resolver';
  51. import { CustomerGroupEntityResolver } from './resolvers/entity/customer-group-entity.resolver';
  52. import { FacetEntityResolver } from './resolvers/entity/facet-entity.resolver';
  53. import { FacetValueEntityResolver } from './resolvers/entity/facet-value-entity.resolver';
  54. import {
  55. FulfillmentAdminEntityResolver,
  56. FulfillmentEntityResolver,
  57. } from './resolvers/entity/fulfillment-entity.resolver';
  58. import { FulfillmentLineEntityResolver } from './resolvers/entity/fulfillment-line-entity.resolver';
  59. import { JobEntityResolver } from './resolvers/entity/job-entity.resolver';
  60. import { OrderAdminEntityResolver, OrderEntityResolver } from './resolvers/entity/order-entity.resolver';
  61. import { OrderLineEntityResolver } from './resolvers/entity/order-line-entity.resolver';
  62. import {
  63. PaymentAdminEntityResolver,
  64. PaymentEntityResolver,
  65. } from './resolvers/entity/payment-entity.resolver';
  66. import { PaymentMethodEntityResolver } from './resolvers/entity/payment-method-entity.resolver';
  67. import {
  68. ProductAdminEntityResolver,
  69. ProductEntityResolver,
  70. } from './resolvers/entity/product-entity.resolver';
  71. import { ProductOptionEntityResolver } from './resolvers/entity/product-option-entity.resolver';
  72. import { ProductOptionGroupEntityResolver } from './resolvers/entity/product-option-group-entity.resolver';
  73. import {
  74. ProductVariantAdminEntityResolver,
  75. ProductVariantEntityResolver,
  76. } from './resolvers/entity/product-variant-entity.resolver';
  77. import { RefundEntityResolver } from './resolvers/entity/refund-entity.resolver';
  78. import { RefundLineEntityResolver } from './resolvers/entity/refund-line-entity.resolver';
  79. import { RoleEntityResolver } from './resolvers/entity/role-entity.resolver';
  80. import { ShippingLineEntityResolver } from './resolvers/entity/shipping-line-entity.resolver';
  81. import { ShippingMethodEntityResolver } from './resolvers/entity/shipping-method-entity.resolver';
  82. import { TaxRateEntityResolver } from './resolvers/entity/tax-rate-entity.resolver';
  83. import { UserEntityResolver } from './resolvers/entity/user-entity.resolver';
  84. import { ZoneEntityResolver } from './resolvers/entity/zone-entity.resolver';
  85. import { ShopAuthResolver } from './resolvers/shop/shop-auth.resolver';
  86. import { ShopCustomerResolver } from './resolvers/shop/shop-customer.resolver';
  87. import { ShopEnvironmentResolver } from './resolvers/shop/shop-environment.resolver';
  88. import { ShopOrderResolver } from './resolvers/shop/shop-order.resolver';
  89. import { ShopPaymentMethodsResolver } from './resolvers/shop/shop-payment-methods.resolver';
  90. import { ShopProductsResolver } from './resolvers/shop/shop-products.resolver';
  91. import { ShopShippingMethodsResolver } from './resolvers/shop/shop-shipping-methods.resolver';
  92. const adminResolvers = [
  93. AdministratorResolver,
  94. AssetResolver,
  95. AuthResolver,
  96. ChannelResolver,
  97. CollectionResolver,
  98. CountryResolver,
  99. CustomerGroupResolver,
  100. CustomerResolver,
  101. DraftOrderResolver,
  102. DuplicateEntityResolver,
  103. FacetResolver,
  104. GlobalSettingsResolver,
  105. ImportResolver,
  106. JobResolver,
  107. OrderResolver,
  108. PaymentMethodResolver,
  109. ProductOptionResolver,
  110. ProductResolver,
  111. PromotionResolver,
  112. RoleResolver,
  113. SearchResolver,
  114. ScheduledTaskResolver,
  115. ShippingMethodResolver,
  116. StockLocationResolver,
  117. TagResolver,
  118. TaxCategoryResolver,
  119. TaxRateResolver,
  120. SellerResolver,
  121. ZoneResolver,
  122. ];
  123. const shopResolvers = [
  124. ShopAuthResolver,
  125. ShopCustomerResolver,
  126. ShopOrderResolver,
  127. ShopProductsResolver,
  128. ShopEnvironmentResolver,
  129. ShopPaymentMethodsResolver,
  130. ShopShippingMethodsResolver,
  131. ];
  132. export const entityResolvers = [
  133. AssetEntityResolver,
  134. ChannelEntityResolver,
  135. CollectionEntityResolver,
  136. CountryEntityResolver,
  137. CustomerEntityResolver,
  138. CustomerGroupEntityResolver,
  139. FacetEntityResolver,
  140. FacetValueEntityResolver,
  141. FulfillmentEntityResolver,
  142. FulfillmentLineEntityResolver,
  143. OrderEntityResolver,
  144. OrderLineEntityResolver,
  145. PaymentEntityResolver,
  146. ProductEntityResolver,
  147. ProductOptionEntityResolver,
  148. ProductOptionGroupEntityResolver,
  149. ProductVariantEntityResolver,
  150. RefundEntityResolver,
  151. RefundLineEntityResolver,
  152. RoleEntityResolver,
  153. ShippingLineEntityResolver,
  154. UserEntityResolver,
  155. TaxRateEntityResolver,
  156. ShippingMethodEntityResolver,
  157. ZoneEntityResolver,
  158. ];
  159. export const adminEntityResolvers = [
  160. AdministratorEntityResolver,
  161. CustomerAdminEntityResolver,
  162. OrderAdminEntityResolver,
  163. PaymentMethodEntityResolver,
  164. FulfillmentAdminEntityResolver,
  165. PaymentAdminEntityResolver,
  166. ProductVariantAdminEntityResolver,
  167. ProductAdminEntityResolver,
  168. JobEntityResolver,
  169. ];
  170. /**
  171. * The internal module containing some shared providers used by more than
  172. * one API module.
  173. */
  174. @Module({
  175. imports: [ConfigModule, ServiceModule, CacheModule, ConnectionModule.forRoot()],
  176. providers: [IdCodecService, ConfigurableOperationCodec, CustomFieldRelationResolverService],
  177. exports: [
  178. IdCodecService,
  179. CacheModule,
  180. ConfigModule,
  181. ConfigurableOperationCodec,
  182. CustomFieldRelationResolverService,
  183. ServiceModule,
  184. ConnectionModule.forRoot(),
  185. ],
  186. })
  187. export class ApiSharedModule {}
  188. /**
  189. * The internal module containing the Admin GraphQL API resolvers
  190. */
  191. @Module({
  192. imports: [
  193. ApiSharedModule,
  194. JobQueueModule,
  195. SchedulerModule,
  196. DataImportModule,
  197. ...createDynamicGraphQlModulesForPlugins('admin'),
  198. ],
  199. providers: [...adminResolvers, ...entityResolvers, ...adminEntityResolvers],
  200. exports: [...adminResolvers],
  201. })
  202. export class AdminApiModule {}
  203. /**
  204. * The internal module containing the Shop GraphQL API resolvers
  205. */
  206. @Module({
  207. imports: [ApiSharedModule, ...createDynamicGraphQlModulesForPlugins('shop')],
  208. providers: [...shopResolvers, ...entityResolvers],
  209. exports: [...shopResolvers],
  210. })
  211. export class ShopApiModule {}