default-config.ts 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. import { Transport } from '@nestjs/microservices';
  2. import { LanguageCode } from '@vendure/common/lib/generated-types';
  3. import { DEFAULT_AUTH_TOKEN_HEADER_KEY } from '@vendure/common/lib/shared-constants';
  4. import { generatePublicId } from '../common/generate-public-id';
  5. import { SqlJobQueueStrategy } from '../job-queue/sql-job-queue-strategy';
  6. import { TestingJobQueueStrategy } from '../job-queue/testing-job-queue-strategy';
  7. import { DefaultAssetNamingStrategy } from './asset-naming-strategy/default-asset-naming-strategy';
  8. import { NoAssetPreviewStrategy } from './asset-preview-strategy/no-asset-preview-strategy';
  9. import { NoAssetStorageStrategy } from './asset-storage-strategy/no-asset-storage-strategy';
  10. import { AutoIncrementIdStrategy } from './entity-id-strategy/auto-increment-id-strategy';
  11. import { DefaultLogger } from './logger/default-logger';
  12. import { TypeOrmLogger } from './logger/typeorm-logger';
  13. import { MergeOrdersStrategy } from './order-merge-strategy/merge-orders-strategy';
  14. import { UseGuestStrategy } from './order-merge-strategy/use-guest-strategy';
  15. import { defaultPromotionActions } from './promotion/default-promotion-actions';
  16. import { defaultPromotionConditions } from './promotion/default-promotion-conditions';
  17. import { defaultShippingCalculator } from './shipping-method/default-shipping-calculator';
  18. import { defaultShippingEligibilityChecker } from './shipping-method/default-shipping-eligibility-checker';
  19. import { DefaultTaxCalculationStrategy } from './tax/default-tax-calculation-strategy';
  20. import { DefaultTaxZoneStrategy } from './tax/default-tax-zone-strategy';
  21. import { RuntimeVendureConfig } from './vendure-config';
  22. /**
  23. * @description
  24. * The default configuration settings which are used if not explicitly overridden in the bootstrap() call.
  25. *
  26. * @docsCategory configuration
  27. */
  28. export const defaultConfig: RuntimeVendureConfig = {
  29. channelTokenKey: 'vendure-token',
  30. defaultChannelToken: null,
  31. defaultLanguageCode: LanguageCode.en,
  32. hostname: '',
  33. port: 3000,
  34. cors: {
  35. origin: true,
  36. credentials: true,
  37. },
  38. logger: new DefaultLogger(),
  39. authOptions: {
  40. disableAuth: false,
  41. tokenMethod: 'cookie',
  42. sessionSecret: 'session-secret',
  43. authTokenHeaderKey: DEFAULT_AUTH_TOKEN_HEADER_KEY,
  44. sessionDuration: '7d',
  45. requireVerification: true,
  46. verificationTokenDuration: '7d',
  47. },
  48. adminApiPath: 'admin-api',
  49. shopApiPath: 'shop-api',
  50. entityIdStrategy: new AutoIncrementIdStrategy(),
  51. assetOptions: {
  52. assetNamingStrategy: new DefaultAssetNamingStrategy(),
  53. assetStorageStrategy: new NoAssetStorageStrategy(),
  54. assetPreviewStrategy: new NoAssetPreviewStrategy(),
  55. uploadMaxFileSize: 20971520,
  56. },
  57. dbConnectionOptions: {
  58. timezone: 'Z',
  59. type: 'mysql',
  60. logger: new TypeOrmLogger(),
  61. },
  62. promotionOptions: {
  63. promotionConditions: defaultPromotionConditions,
  64. promotionActions: defaultPromotionActions,
  65. },
  66. shippingOptions: {
  67. shippingEligibilityCheckers: [defaultShippingEligibilityChecker],
  68. shippingCalculators: [defaultShippingCalculator],
  69. },
  70. orderOptions: {
  71. orderItemsLimit: 999,
  72. mergeStrategy: new MergeOrdersStrategy(),
  73. checkoutMergeStrategy: new UseGuestStrategy(),
  74. process: {},
  75. generateOrderCode: () => generatePublicId(),
  76. },
  77. paymentOptions: {
  78. paymentMethodHandlers: [],
  79. },
  80. taxOptions: {
  81. taxZoneStrategy: new DefaultTaxZoneStrategy(),
  82. taxCalculationStrategy: new DefaultTaxCalculationStrategy(),
  83. },
  84. importExportOptions: {
  85. importAssetsDir: __dirname,
  86. },
  87. workerOptions: {
  88. runInMainProcess: false,
  89. transport: Transport.TCP,
  90. options: {
  91. port: 3020,
  92. },
  93. },
  94. jobQueueOptions: {
  95. jobQueueStrategy: new TestingJobQueueStrategy(),
  96. pollInterval: 100,
  97. },
  98. customFields: {
  99. Address: [],
  100. Collection: [],
  101. Customer: [],
  102. Facet: [],
  103. FacetValue: [],
  104. GlobalSettings: [],
  105. Order: [],
  106. OrderLine: [],
  107. Product: [],
  108. ProductOption: [],
  109. ProductOptionGroup: [],
  110. ProductVariant: [],
  111. User: [],
  112. },
  113. middleware: [],
  114. apolloServerPlugins: [],
  115. plugins: [],
  116. };