@infrab4a/connect-nestjs 2.8.3 → 2.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/index.cjs.d.ts +1 -0
  2. package/index.cjs.default.js +1 -0
  3. package/index.cjs.js +1411 -0
  4. package/index.cjs.mjs +2 -0
  5. package/index.esm.js +1394 -0
  6. package/package.json +13 -3
  7. package/src/consts/es-config.const.d.ts +1 -0
  8. package/src/consts/hasura-options.const.d.ts +1 -0
  9. package/src/consts/index.d.ts +4 -0
  10. package/src/consts/storage.const.d.ts +1 -0
  11. package/src/consts/vertex-config.const.d.ts +1 -0
  12. package/src/index.d.ts +7 -0
  13. package/src/infra/elasticsearch/adapters/index.d.ts +1 -0
  14. package/src/infra/elasticsearch/adapters/native-elasticsearch-adapter.d.ts +19 -0
  15. package/src/infra/elasticsearch/index.d.ts +1 -0
  16. package/src/infra/firebase/firestore/index.d.ts +2 -0
  17. package/src/infra/firebase/firestore/services/connect-collection-reference.d.ts +19 -0
  18. package/src/infra/firebase/firestore/services/connect-collection.service.d.ts +32 -0
  19. package/src/infra/firebase/firestore/services/connect-document-reference.d.ts +11 -0
  20. package/src/infra/firebase/firestore/services/connect-document.service.d.ts +17 -0
  21. package/src/infra/firebase/firestore/services/connect-firestore.d.ts +7 -0
  22. package/src/infra/firebase/firestore/services/connect-firestore.service.d.ts +8 -0
  23. package/src/infra/firebase/firestore/services/index.d.ts +6 -0
  24. package/src/infra/firebase/firestore/types/connect-query-snapshot.type.d.ts +4 -0
  25. package/src/infra/firebase/firestore/types/index.d.ts +1 -0
  26. package/src/infra/firebase/firestore/vo/connect-base-document-snapshot.vo.d.ts +12 -0
  27. package/src/infra/firebase/firestore/vo/index.d.ts +1 -0
  28. package/src/infra/firebase/index.d.ts +1 -0
  29. package/src/infra/index.d.ts +4 -0
  30. package/src/infra/pagarme/adapters/index.d.ts +3 -0
  31. package/src/infra/pagarme/adapters/pagarme-bank-slip-api.adapter.d.ts +9 -0
  32. package/src/infra/pagarme/adapters/pagarme-card-api.adapter.d.ts +21 -0
  33. package/src/infra/pagarme/adapters/pagarme-pix-api.adapter.d.ts +8 -0
  34. package/src/infra/pagarme/index.d.ts +1 -0
  35. package/src/infra/vertex-ai/adapters/discovery-engine-adapter.d.ts +17 -0
  36. package/src/infra/vertex-ai/adapters/index.d.ts +1 -0
  37. package/src/infra/vertex-ai/helpers/index.d.ts +1 -0
  38. package/src/infra/vertex-ai/helpers/product-vertex-ai.helper.d.ts +7 -0
  39. package/src/infra/vertex-ai/index.d.ts +3 -0
  40. package/src/infra/vertex-ai/types/index.d.ts +2 -0
  41. package/src/infra/vertex-ai/types/vertex-config.d.ts +23 -0
  42. package/src/infra/vertex-ai/types/vertex-search-result.d.ts +18 -0
  43. package/src/nest-connect.module.d.ts +13 -0
  44. package/src/nest-elastic-search.module.d.ts +5 -0
  45. package/src/nest-firestore.module.d.ts +10 -0
  46. package/src/nest-hasura-graphql.module.d.ts +13 -0
  47. package/src/nest-storage.module.d.ts +2 -0
  48. package/src/nest-vertex-ai-search.module.d.ts +5 -0
  49. package/eslint.config.js +0 -17
  50. package/project.json +0 -45
  51. package/src/consts/es-config.const.ts +0 -1
  52. package/src/consts/hasura-options.const.ts +0 -1
  53. package/src/consts/index.ts +0 -4
  54. package/src/consts/storage.const.ts +0 -1
  55. package/src/consts/vertex-config.const.ts +0 -1
  56. package/src/index.ts +0 -7
  57. package/src/infra/elasticsearch/adapters/index.ts +0 -1
  58. package/src/infra/elasticsearch/adapters/native-elasticsearch-adapter.ts +0 -137
  59. package/src/infra/elasticsearch/index.ts +0 -1
  60. package/src/infra/firebase/firestore/index.ts +0 -2
  61. package/src/infra/firebase/firestore/services/connect-collection-reference.ts +0 -27
  62. package/src/infra/firebase/firestore/services/connect-collection.service.ts +0 -137
  63. package/src/infra/firebase/firestore/services/connect-document-reference.ts +0 -12
  64. package/src/infra/firebase/firestore/services/connect-document.service.ts +0 -51
  65. package/src/infra/firebase/firestore/services/connect-firestore.service.ts +0 -24
  66. package/src/infra/firebase/firestore/services/connect-firestore.ts +0 -9
  67. package/src/infra/firebase/firestore/services/index.ts +0 -6
  68. package/src/infra/firebase/firestore/types/connect-query-snapshot.type.ts +0 -6
  69. package/src/infra/firebase/firestore/types/index.ts +0 -1
  70. package/src/infra/firebase/firestore/vo/connect-base-document-snapshot.vo.ts +0 -27
  71. package/src/infra/firebase/firestore/vo/index.ts +0 -1
  72. package/src/infra/firebase/index.ts +0 -1
  73. package/src/infra/index.ts +0 -4
  74. package/src/infra/pagarme/adapters/index.ts +0 -3
  75. package/src/infra/pagarme/adapters/pagarme-bank-slip-api.adapter.ts +0 -97
  76. package/src/infra/pagarme/adapters/pagarme-card-api.adapter.ts +0 -221
  77. package/src/infra/pagarme/adapters/pagarme-pix-api.adapter.ts +0 -70
  78. package/src/infra/pagarme/index.ts +0 -1
  79. package/src/infra/vertex-ai/adapters/discovery-engine-adapter.ts +0 -148
  80. package/src/infra/vertex-ai/adapters/index.ts +0 -1
  81. package/src/infra/vertex-ai/helpers/index.ts +0 -1
  82. package/src/infra/vertex-ai/helpers/product-vertex-ai.helper.ts +0 -52
  83. package/src/infra/vertex-ai/index.ts +0 -3
  84. package/src/infra/vertex-ai/types/index.ts +0 -2
  85. package/src/infra/vertex-ai/types/vertex-config.ts +0 -23
  86. package/src/infra/vertex-ai/types/vertex-search-result.ts +0 -17
  87. package/src/nest-connect.module.ts +0 -36
  88. package/src/nest-elastic-search.module.ts +0 -26
  89. package/src/nest-firestore.module.ts +0 -403
  90. package/src/nest-hasura-graphql.module.ts +0 -284
  91. package/src/nest-storage.module.ts +0 -16
  92. package/src/nest-vertex-ai-search.module.ts +0 -26
  93. package/src/types/pagarme.d.ts +0 -24
  94. package/tsconfig.json +0 -15
  95. package/tsconfig.lib.json +0 -7
  96. package/tsconfig.lib.prod.json +0 -10
  97. package/tsconfig.spec.json +0 -17
@@ -1,403 +0,0 @@
1
- import {
2
- BeautyProfileRepository,
3
- BrandCategoryFirestoreRepository,
4
- BrandCategoryRepository,
5
- Buy2WinFirestoreRepository,
6
- Buy2WinRepository,
7
- CampaignDashboardFirestoreRepository,
8
- CampaignDashboardRepository,
9
- CampaignHashtagFirestoreRepository,
10
- CampaignHashtagRepository,
11
- CategoryFirestoreRepository,
12
- CategoryRepository,
13
- CheckoutFirestoreRepository,
14
- CheckoutRepository,
15
- CheckoutSubscriptionFirestoreRepository,
16
- CheckoutSubscriptionRepository,
17
- CouponFirestoreRepository,
18
- CouponRepository,
19
- EditionRepository,
20
- FirestoreConstructorParams,
21
- GroupFirestoreRepository,
22
- GroupRepository,
23
- HomeFirestoreRepository,
24
- HomeRepository,
25
- LeadFirestoreRepository,
26
- LeadRepository,
27
- LegacyOrderFirestoreRepository,
28
- LegacyOrderRepository,
29
- LogFirestoreRepository,
30
- LogRepository,
31
- OrderBlockedFirestoreRepository,
32
- OrderBlockedRepository,
33
- OrderFirestoreRepository,
34
- OrderRepository,
35
- PaymentFirestoreRepository,
36
- PaymentRepository,
37
- ProductFirestoreRepository,
38
- ProductRepository,
39
- ProductVariantFirestoreRepository,
40
- SequenceFirestoreRepository,
41
- ShopConfigsFirestoreRepository,
42
- ShopConfigsRepository,
43
- ShopMenuFirestoreRepository,
44
- ShopMenuRepository,
45
- ShoppingRecurrenceEditionFirestoreRepository,
46
- ShoppingRecurrenceEditionRepository,
47
- ShoppingRecurrenceFirestoreRepository,
48
- ShoppingRecurrenceRepository,
49
- ShopSettingsFirestoreRepository,
50
- ShopSettingsRepository,
51
- SubscriptionEditionFirestoreRepository,
52
- SubscriptionFirestoreRepository,
53
- SubscriptionMaterializationFirestoreRepository,
54
- SubscriptionMaterializationRepository,
55
- SubscriptionPaymentFirestoreRepository,
56
- SubscriptionPaymentRepository,
57
- SubscriptionPlanFirestoreRepository,
58
- SubscriptionPlanRepository,
59
- SubscriptionProductFirestoreRepository,
60
- SubscriptionProductRepository,
61
- SubscriptionRepository,
62
- SubscriptionSummaryFirestoreRepository,
63
- SubscriptionSummaryRepository,
64
- UserAddressFirestoreRepository,
65
- UserAddressRepository,
66
- UserBeautyProfileFirestoreRepository,
67
- UserFirestoreRepository,
68
- UserPaymentMethodFirestoreRepository,
69
- UserPaymentMethodRepository,
70
- UserRepository,
71
- VariantRepository,
72
- } from '@infrab4a/connect'
73
- import { DynamicModule, Module } from '@nestjs/common'
74
- import { FirebaseAdmin, FirebaseConstants, FirebaseModule } from 'nestjs-firebase'
75
-
76
- import { ConnectFirestoreService } from './infra'
77
- import { NestStorageModule } from './nest-storage.module'
78
-
79
- export type FirestoreOptions = Pick<FirestoreConstructorParams<any>, 'firestore' | 'interceptors'>
80
-
81
- @Module({
82
- providers: [
83
- {
84
- provide: ConnectFirestoreService,
85
- useFactory: (firebaseAdmin: FirebaseAdmin) => new ConnectFirestoreService(firebaseAdmin.firestore),
86
- inject: [FirebaseConstants.FIREBASE_TOKEN],
87
- },
88
- {
89
- provide: 'FirestoreOptions',
90
- useFactory: (connectFirestoreService: ConnectFirestoreService): FirestoreOptions => ({
91
- firestore: connectFirestoreService,
92
- }),
93
- inject: [ConnectFirestoreService],
94
- },
95
- {
96
- provide: 'BeautyProfileRepository',
97
- useFactory: (config: FirestoreOptions, userRepository: UserFirestoreRepository): BeautyProfileRepository => {
98
- return new UserBeautyProfileFirestoreRepository(config, userRepository)
99
- },
100
- inject: ['FirestoreOptions', 'UserRepository'],
101
- },
102
- {
103
- provide: 'Buy2WinRepository',
104
- useFactory: (options: FirestoreOptions): Buy2WinRepository => {
105
- return new Buy2WinFirestoreRepository(options)
106
- },
107
- inject: ['FirestoreOptions'],
108
- },
109
- {
110
- provide: CategoryFirestoreRepository,
111
- useFactory: (options: FirestoreOptions): CategoryRepository => {
112
- return new CategoryFirestoreRepository(options)
113
- },
114
- inject: ['FirestoreOptions'],
115
- },
116
- {
117
- provide: 'CheckoutRepository',
118
- useFactory: (options: FirestoreOptions): CheckoutRepository => {
119
- return new CheckoutFirestoreRepository(options)
120
- },
121
- inject: ['FirestoreOptions'],
122
- },
123
- {
124
- provide: 'CheckoutSubscriptionRepository',
125
- useFactory: (options: FirestoreOptions): CheckoutSubscriptionRepository => {
126
- return new CheckoutSubscriptionFirestoreRepository(options)
127
- },
128
- inject: ['FirestoreOptions'],
129
- },
130
- {
131
- provide: 'CouponRepository',
132
- useFactory: (options: FirestoreOptions): CouponRepository => {
133
- return new CouponFirestoreRepository(options)
134
- },
135
- inject: ['FirestoreOptions'],
136
- },
137
- {
138
- provide: 'CampaignHashtagRepository',
139
- useFactory: (options: FirestoreOptions): CampaignHashtagRepository => {
140
- return new CampaignHashtagFirestoreRepository(options)
141
- },
142
- inject: ['FirestoreOptions'],
143
- },
144
- {
145
- provide: 'CampaignDashboardRepository',
146
- useFactory: (options: FirestoreOptions): CampaignDashboardRepository => {
147
- return new CampaignDashboardFirestoreRepository(options)
148
- },
149
- inject: ['FirestoreOptions'],
150
- },
151
- {
152
- provide: 'EditionRepository',
153
- useFactory: (
154
- options: FirestoreOptions,
155
- subscriptionRepository: SubscriptionFirestoreRepository,
156
- ): EditionRepository => {
157
- return new SubscriptionEditionFirestoreRepository(options, subscriptionRepository)
158
- },
159
- inject: ['FirestoreOptions', 'SubscriptionRepository'],
160
- },
161
- {
162
- provide: 'GroupRepository',
163
- useFactory: (options: FirestoreOptions): GroupRepository => {
164
- return new GroupFirestoreRepository(options)
165
- },
166
- inject: ['FirestoreOptions'],
167
- },
168
- {
169
- provide: 'HomeRepository',
170
- useFactory: (options: FirestoreOptions): HomeRepository => {
171
- return new HomeFirestoreRepository(options)
172
- },
173
- inject: ['FirestoreOptions'],
174
- },
175
- {
176
- provide: 'LeadRepository',
177
- useFactory: (options: FirestoreOptions): LeadRepository => {
178
- return new LeadFirestoreRepository(options)
179
- },
180
- inject: ['FirestoreOptions'],
181
- },
182
- {
183
- provide: 'LegacyOrderRepository',
184
- useFactory: (options: FirestoreOptions): LegacyOrderRepository => {
185
- return new LegacyOrderFirestoreRepository(options)
186
- },
187
- inject: ['FirestoreOptions'],
188
- },
189
- {
190
- provide: 'ShopMenuRepository',
191
- useFactory: (options: FirestoreOptions): ShopMenuRepository => {
192
- return new ShopMenuFirestoreRepository(options)
193
- },
194
- inject: ['FirestoreOptions'],
195
- },
196
- {
197
- provide: 'OrderRepository',
198
- useFactory: (options: FirestoreOptions): OrderRepository => {
199
- return new OrderFirestoreRepository(options)
200
- },
201
- inject: ['FirestoreOptions'],
202
- },
203
- {
204
- provide: 'PaymentRepository',
205
- useFactory: (options: FirestoreOptions): PaymentRepository => {
206
- return new PaymentFirestoreRepository(options)
207
- },
208
- inject: ['FirestoreOptions'],
209
- },
210
- {
211
- provide: 'ShoppingRecurrenceRepository',
212
- useFactory: (options: FirestoreOptions): ShoppingRecurrenceRepository => {
213
- return new ShoppingRecurrenceFirestoreRepository(options)
214
- },
215
- inject: ['FirestoreOptions'],
216
- },
217
- {
218
- provide: 'ShoppingRecurrenceEditionRepository',
219
- useFactory: (options: FirestoreOptions): ShoppingRecurrenceEditionRepository => {
220
- return new ShoppingRecurrenceEditionFirestoreRepository(options)
221
- },
222
- inject: ['FirestoreOptions'],
223
- },
224
- {
225
- provide: ProductFirestoreRepository,
226
- useFactory: (options: FirestoreOptions): ProductRepository => {
227
- return new ProductFirestoreRepository(options)
228
- },
229
- inject: ['FirestoreOptions'],
230
- },
231
- {
232
- provide: 'ShopSettingsRepository',
233
- useFactory: (options: FirestoreOptions): ShopSettingsRepository => {
234
- return new ShopSettingsFirestoreRepository(options)
235
- },
236
- inject: ['FirestoreOptions'],
237
- },
238
- {
239
- provide: 'SubscriptionPaymentRepository',
240
- useFactory: (
241
- options: FirestoreOptions,
242
- subscriptionRepository: SubscriptionFirestoreRepository,
243
- ): SubscriptionPaymentRepository => {
244
- return new SubscriptionPaymentFirestoreRepository(options, subscriptionRepository)
245
- },
246
- inject: ['FirestoreOptions', 'SubscriptionRepository'],
247
- },
248
- {
249
- provide: 'SubscriptionPlanRepository',
250
- useFactory: (options: FirestoreOptions): SubscriptionPlanRepository => {
251
- return new SubscriptionPlanFirestoreRepository(options)
252
- },
253
- inject: ['FirestoreOptions'],
254
- },
255
- {
256
- provide: 'SubscriptionProductRepository',
257
- useFactory: (options: FirestoreOptions): SubscriptionProductRepository => {
258
- return new SubscriptionProductFirestoreRepository(options)
259
- },
260
- inject: ['FirestoreOptions'],
261
- },
262
- {
263
- provide: 'SubscriptionRepository',
264
- useFactory: (options: FirestoreOptions): SubscriptionRepository => {
265
- return new SubscriptionFirestoreRepository(options)
266
- },
267
- inject: ['FirestoreOptions'],
268
- },
269
- {
270
- provide: 'UserRepository',
271
- useFactory: (options: FirestoreOptions): UserRepository => {
272
- return new UserFirestoreRepository(options)
273
- },
274
- inject: ['FirestoreOptions'],
275
- },
276
- {
277
- provide: 'UserAddressRepository',
278
- useFactory: (options: FirestoreOptions, userRepository: UserFirestoreRepository): UserAddressRepository => {
279
- return new UserAddressFirestoreRepository(options, userRepository)
280
- },
281
- inject: ['FirestoreOptions', 'UserRepository'],
282
- },
283
- {
284
- provide: 'UserPaymentMethodRepository',
285
- useFactory: (options: FirestoreOptions, userRepository: UserFirestoreRepository): UserPaymentMethodRepository => {
286
- return new UserPaymentMethodFirestoreRepository(options, userRepository)
287
- },
288
- inject: ['FirestoreOptions', 'UserRepository'],
289
- },
290
- {
291
- provide: 'SubscriptionMaterializationRepository',
292
- useFactory: (options: FirestoreOptions): SubscriptionMaterializationRepository => {
293
- return new SubscriptionMaterializationFirestoreRepository(options)
294
- },
295
- inject: ['FirestoreOptions'],
296
- },
297
- {
298
- provide: 'SubscriptionSummaryRepository',
299
- useFactory: (options: FirestoreOptions): SubscriptionSummaryRepository => {
300
- return new SubscriptionSummaryFirestoreRepository(options)
301
- },
302
- inject: ['FirestoreOptions'],
303
- },
304
- {
305
- provide: ProductVariantFirestoreRepository,
306
- useFactory: (options: FirestoreOptions, productRepository: ProductFirestoreRepository): VariantRepository => {
307
- return new ProductVariantFirestoreRepository(options, productRepository)
308
- },
309
- inject: ['FirestoreOptions', ProductFirestoreRepository],
310
- },
311
- {
312
- provide: 'OrderBlockedRepository',
313
- useFactory: (options: FirestoreOptions): OrderBlockedRepository => {
314
- return new OrderBlockedFirestoreRepository(options)
315
- },
316
- inject: ['FirestoreOptions'],
317
- },
318
- {
319
- provide: 'LogRepository',
320
- useFactory: (options: FirestoreOptions): LogRepository => {
321
- return new LogFirestoreRepository(options)
322
- },
323
- inject: ['FirestoreOptions'],
324
- },
325
- {
326
- provide: 'SequenceRepository',
327
- useFactory: (options: FirestoreOptions): SequenceFirestoreRepository => {
328
- return new SequenceFirestoreRepository(options)
329
- },
330
- inject: ['FirestoreOptions'],
331
- },
332
- {
333
- provide: 'BrandCategoryRepository',
334
- useFactory: (options: FirestoreOptions): BrandCategoryRepository => {
335
- return new BrandCategoryFirestoreRepository(options)
336
- },
337
- inject: ['FirestoreOptions'],
338
- },
339
- {
340
- provide: 'ShopConfigsRepository',
341
- useFactory: (options: FirestoreOptions): ShopConfigsRepository => {
342
- return new ShopConfigsFirestoreRepository(options)
343
- },
344
- inject: ['FirestoreOptions'],
345
- },
346
- ],
347
- exports: [
348
- 'BeautyProfileRepository',
349
- 'Buy2WinRepository',
350
- CategoryFirestoreRepository,
351
- 'CheckoutRepository',
352
- 'CheckoutSubscriptionRepository',
353
- 'CouponRepository',
354
- 'CampaignHashtagRepository',
355
- 'CampaignDashboardRepository',
356
- 'EditionRepository',
357
- 'GroupRepository',
358
- 'HomeRepository',
359
- 'LeadRepository',
360
- 'LegacyOrderRepository',
361
- 'ShopMenuRepository',
362
- 'OrderRepository',
363
- 'OrderBlockedRepository',
364
- 'PaymentRepository',
365
- 'ShoppingRecurrenceRepository',
366
- 'ShoppingRecurrenceEditionRepository',
367
- 'SequenceRepository',
368
- 'LogRepository',
369
- ProductFirestoreRepository,
370
- 'ShopSettingsRepository',
371
- 'SubscriptionPaymentRepository',
372
- 'SubscriptionPlanRepository',
373
- 'SubscriptionProductRepository',
374
- 'SubscriptionRepository',
375
- 'UserRepository',
376
- 'UserAddressRepository',
377
- 'UserPaymentMethodRepository',
378
- 'SubscriptionMaterializationRepository',
379
- 'SubscriptionSummaryRepository',
380
- ProductVariantFirestoreRepository,
381
- ConnectFirestoreService,
382
- 'BrandCategoryRepository',
383
- 'ShopConfigsRepository',
384
- ],
385
- })
386
- export class NestFirestoreModule {
387
- public static initializeApp(options: {
388
- firebase: {
389
- googleApplicationCredential: string
390
- }
391
- }): DynamicModule {
392
- return {
393
- module: NestFirestoreModule,
394
- imports: [
395
- FirebaseModule.forRoot({
396
- googleApplicationCredential: options?.firebase?.googleApplicationCredential,
397
- }),
398
- NestStorageModule,
399
- ],
400
- exports: [FirebaseModule, NestStorageModule],
401
- }
402
- }
403
- }
@@ -1,284 +0,0 @@
1
- import {
2
- CacheConfig,
3
- CategoryCollectionChildrenHasuraGraphQLRepository,
4
- CategoryFilterHasuraGraphQLRepository,
5
- CategoryFilterRepository,
6
- CategoryHasuraGraphQLRepository,
7
- CategoryProductHasuraGraphQLRepository,
8
- CategoryRepository,
9
- FilterHasuraGraphQLRepository,
10
- FilterOptionHasuraGraphQLRepository,
11
- FilterOptionRepository,
12
- FilterRepository,
13
- HasuraConstructorParams,
14
- HasuraGraphQLAuthOptions,
15
- ProductCatalogHasuraGraphQLRepository,
16
- ProductErrors,
17
- ProductErrorsHasuraGraphQLRepository,
18
- ProductErrorsRepository,
19
- ProductGroupHasuraGraphQLRepository,
20
- ProductHasuraGraphQLRepository,
21
- ProductPriceLogHasuraGraphQLRepository,
22
- ProductRepository,
23
- ProductReviewHasuraGraphQLRepository,
24
- ProductReviewRepository,
25
- ProductStockEntryHasuraGraphQLRepository,
26
- ProductStockEntryRepository,
27
- ProductStockNotificationHasuraGraphQLRepository,
28
- ProductStockNotificationRepository,
29
- VariantHasuraGraphQLRepository,
30
- VariantRepository,
31
- WishlistHasuraGraphQLRepository,
32
- } from '@infrab4a/connect'
33
- import { DynamicModule, Module } from '@nestjs/common'
34
-
35
- import { HASURA_OPTIONS } from './consts'
36
-
37
- export type HasuraGraphQLOptions = { endpoint: string; credentials: HasuraGraphQLAuthOptions; cache?: CacheConfig }
38
-
39
- @Module({
40
- providers: [
41
- {
42
- provide: 'HasuraConfig',
43
- useFactory: (options: HasuraGraphQLOptions) => ({
44
- endpoint: options.endpoint,
45
- authOptions: options.credentials,
46
- cache: options.cache,
47
- }),
48
- inject: [HASURA_OPTIONS],
49
- },
50
- {
51
- provide: 'CategoryRepository',
52
- useExisting: CategoryHasuraGraphQLRepository,
53
- },
54
- {
55
- provide: CategoryHasuraGraphQLRepository,
56
- useFactory: (
57
- options: any,
58
- productRepository: ProductHasuraGraphQLRepository,
59
- categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,
60
- ): CategoryRepository => {
61
- return new CategoryHasuraGraphQLRepository(options, productRepository, categoryFilterRepository)
62
- },
63
- inject: ['HasuraConfig', ProductHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
64
- },
65
- {
66
- provide: 'ProductRepository',
67
- useExisting: ProductHasuraGraphQLRepository,
68
- },
69
- {
70
- provide: ProductHasuraGraphQLRepository,
71
- useFactory: (hasuraConfig: any): ProductRepository => {
72
- return new ProductHasuraGraphQLRepository(hasuraConfig)
73
- },
74
- inject: ['HasuraConfig'],
75
- },
76
- {
77
- provide: 'ProductReviewRepository',
78
- useExisting: ProductReviewHasuraGraphQLRepository,
79
- },
80
- {
81
- provide: ProductReviewHasuraGraphQLRepository,
82
- useFactory: (hasuraConfig: any): ProductReviewRepository => {
83
- return new ProductReviewHasuraGraphQLRepository(hasuraConfig)
84
- },
85
- inject: ['HasuraConfig'],
86
- },
87
- {
88
- provide: 'VariantRepository',
89
- useExisting: VariantHasuraGraphQLRepository,
90
- },
91
- {
92
- provide: VariantHasuraGraphQLRepository,
93
- useFactory: (hasuraConfig: any): VariantRepository => {
94
- return new VariantHasuraGraphQLRepository(hasuraConfig)
95
- },
96
- inject: ['HasuraConfig'],
97
- },
98
- {
99
- provide: 'ProductStockNotificationRepository',
100
- useExisting: ProductStockNotificationHasuraGraphQLRepository,
101
- },
102
- {
103
- provide: ProductStockNotificationHasuraGraphQLRepository,
104
- useFactory: (hasuraConfig: any): ProductStockNotificationRepository => {
105
- return new ProductStockNotificationHasuraGraphQLRepository(hasuraConfig)
106
- },
107
- inject: ['HasuraConfig'],
108
- },
109
- {
110
- provide: 'CategoryFilterRepository',
111
- useExisting: CategoryFilterHasuraGraphQLRepository,
112
- },
113
- {
114
- provide: CategoryFilterHasuraGraphQLRepository,
115
- useFactory: (options: any): CategoryFilterRepository => {
116
- return new CategoryFilterHasuraGraphQLRepository(options)
117
- },
118
- inject: ['HasuraConfig'],
119
- },
120
-
121
- {
122
- provide: 'FilterOptionRepository',
123
- useExisting: FilterOptionHasuraGraphQLRepository,
124
- },
125
- {
126
- provide: FilterOptionHasuraGraphQLRepository,
127
- useFactory: (options: any): FilterOptionRepository => {
128
- return new FilterOptionHasuraGraphQLRepository(options)
129
- },
130
- inject: ['HasuraConfig'],
131
- },
132
- {
133
- provide: 'FilterRepository',
134
- useExisting: FilterHasuraGraphQLRepository,
135
- },
136
- {
137
- provide: FilterHasuraGraphQLRepository,
138
- useFactory: (
139
- options: any,
140
- filterOptionRepository: FilterOptionHasuraGraphQLRepository,
141
- categoryFilterRepository: CategoryFilterHasuraGraphQLRepository,
142
- ): FilterRepository => {
143
- return new FilterHasuraGraphQLRepository(options, filterOptionRepository, categoryFilterRepository)
144
- },
145
- inject: ['HasuraConfig', FilterOptionHasuraGraphQLRepository, CategoryFilterHasuraGraphQLRepository],
146
- },
147
- {
148
- provide: CategoryCollectionChildrenHasuraGraphQLRepository,
149
- useFactory: (options: any): CategoryCollectionChildrenHasuraGraphQLRepository =>
150
- new CategoryCollectionChildrenHasuraGraphQLRepository(options),
151
- inject: ['HasuraConfig'],
152
- },
153
- {
154
- provide: 'CategoryCollectionChildrenRepository',
155
- useExisting: CategoryCollectionChildrenHasuraGraphQLRepository,
156
- },
157
- {
158
- provide: CategoryProductHasuraGraphQLRepository,
159
- useFactory: (options: any): CategoryProductHasuraGraphQLRepository => {
160
- return new CategoryProductHasuraGraphQLRepository(options)
161
- },
162
- inject: ['HasuraConfig'],
163
- },
164
- {
165
- provide: 'CategoryProductRepository',
166
- useExisting: CategoryProductHasuraGraphQLRepository,
167
- },
168
- {
169
- provide: WishlistHasuraGraphQLRepository,
170
- useFactory: (
171
- options: any,
172
- categoryProductRepository: CategoryProductHasuraGraphQLRepository,
173
- ): WishlistHasuraGraphQLRepository => {
174
- return new WishlistHasuraGraphQLRepository(options, categoryProductRepository)
175
- },
176
- inject: ['HasuraConfig', CategoryProductHasuraGraphQLRepository],
177
- },
178
- {
179
- provide: 'WishlistRepository',
180
- useExisting: WishlistHasuraGraphQLRepository,
181
- },
182
- {
183
- provide: ProductErrorsHasuraGraphQLRepository,
184
- useFactory: (
185
- options: HasuraConstructorParams<ProductErrors>,
186
- productRepository: ProductHasuraGraphQLRepository,
187
- ): ProductErrorsRepository => {
188
- return new ProductErrorsHasuraGraphQLRepository(options, productRepository)
189
- },
190
- inject: ['HasuraConfig', ProductHasuraGraphQLRepository],
191
- },
192
- {
193
- provide: 'ProductErrorsRepository',
194
- useExisting: ProductErrorsHasuraGraphQLRepository,
195
- },
196
- {
197
- provide: ProductCatalogHasuraGraphQLRepository,
198
- useFactory: (options: any): ProductCatalogHasuraGraphQLRepository => {
199
- return new ProductCatalogHasuraGraphQLRepository(options)
200
- },
201
- inject: ['HasuraConfig'],
202
- },
203
- {
204
- provide: 'ProductCatalogRepository',
205
- useExisting: ProductCatalogHasuraGraphQLRepository,
206
- },
207
- {
208
- provide: ProductStockEntryHasuraGraphQLRepository,
209
- useFactory: (options: any): ProductStockEntryRepository => {
210
- return new ProductStockEntryHasuraGraphQLRepository(options)
211
- },
212
- inject: ['HasuraConfig'],
213
- },
214
- {
215
- provide: 'ProductStockEntryRepository',
216
- useExisting: ProductStockEntryHasuraGraphQLRepository,
217
- },
218
- {
219
- provide: ProductGroupHasuraGraphQLRepository,
220
- useFactory: (options: any): ProductGroupHasuraGraphQLRepository => {
221
- return new ProductGroupHasuraGraphQLRepository(options)
222
- },
223
- inject: ['HasuraConfig'],
224
- },
225
- {
226
- provide: 'ProductGroupRepository',
227
- useExisting: ProductGroupHasuraGraphQLRepository,
228
- },
229
- {
230
- provide: ProductPriceLogHasuraGraphQLRepository,
231
- useFactory: (options: any): ProductPriceLogHasuraGraphQLRepository => {
232
- return new ProductPriceLogHasuraGraphQLRepository(options)
233
- },
234
- inject: ['HasuraConfig'],
235
- },
236
- {
237
- provide: 'ProductPriceLogRepository',
238
- useExisting: ProductPriceLogHasuraGraphQLRepository,
239
- },
240
- ],
241
- exports: [
242
- 'CategoryRepository',
243
- CategoryHasuraGraphQLRepository,
244
- 'ProductRepository',
245
- ProductHasuraGraphQLRepository,
246
- 'ProductReviewRepository',
247
- ProductReviewHasuraGraphQLRepository,
248
- 'VariantRepository',
249
- VariantHasuraGraphQLRepository,
250
- 'ProductStockNotificationRepository',
251
- ProductStockNotificationHasuraGraphQLRepository,
252
- 'CategoryFilterRepository',
253
- CategoryFilterHasuraGraphQLRepository,
254
- 'FilterOptionRepository',
255
- FilterOptionHasuraGraphQLRepository,
256
- 'FilterRepository',
257
- FilterHasuraGraphQLRepository,
258
- 'CategoryCollectionChildrenRepository',
259
- CategoryCollectionChildrenHasuraGraphQLRepository,
260
- 'WishlistRepository',
261
- WishlistHasuraGraphQLRepository,
262
- 'CategoryProductRepository',
263
- CategoryProductHasuraGraphQLRepository,
264
- 'ProductErrorsRepository',
265
- ProductErrorsHasuraGraphQLRepository,
266
- 'ProductCatalogRepository',
267
- ProductCatalogHasuraGraphQLRepository,
268
- 'ProductStockEntryRepository',
269
- ProductStockEntryHasuraGraphQLRepository,
270
- 'ProductGroupRepository',
271
- ProductGroupHasuraGraphQLRepository,
272
- 'ProductPriceLogRepository',
273
- ProductPriceLogHasuraGraphQLRepository,
274
- ],
275
- })
276
- export class NestHasuraGraphQLModule {
277
- public static initializeApp(options: { endpoint: string; credentials: HasuraGraphQLAuthOptions }): DynamicModule {
278
- return {
279
- module: NestHasuraGraphQLModule,
280
- providers: [{ provide: HASURA_OPTIONS, useValue: options }],
281
- exports: [HASURA_OPTIONS],
282
- }
283
- }
284
- }
@@ -1,16 +0,0 @@
1
- import { Module } from '@nestjs/common'
2
- import { FirebaseAdmin, FirebaseConstants } from 'nestjs-firebase'
3
-
4
- import { FIREBASE_STORAGE } from './consts'
5
-
6
- @Module({
7
- providers: [
8
- {
9
- provide: FIREBASE_STORAGE,
10
- useFactory: (firebaseAdmin: FirebaseAdmin) => firebaseAdmin.storage,
11
- inject: [FirebaseConstants.FIREBASE_TOKEN],
12
- },
13
- ],
14
- exports: [FIREBASE_STORAGE],
15
- })
16
- export class NestStorageModule {}