@forklaunch/implementation-billing-stripe 0.2.4 → 0.2.6

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.
@@ -1,223 +1,738 @@
1
1
  import { IdDto, InstanceTypeRecord, IdsDto } from '@forklaunch/common';
2
2
  import { TtlCache } from '@forklaunch/core/cache';
3
- import { TelemetryOptions, OpenTelemetryCollector, MetricsDefinition } from '@forklaunch/core/http';
4
- import { BaseBillingPortalService, BaseCheckoutSessionService, BasePaymentLinkService, BasePlanService, BaseSubscriptionService } from '@forklaunch/implementation-billing-base/services';
5
- import { BillingPortalService, CheckoutSessionService, PaymentLinkService, PlanService, SubscriptionService } from '@forklaunch/interfaces-billing/interfaces';
6
- import { InternalMapper, ResponseMapperConstructor, RequestMapperConstructor } from '@forklaunch/internal';
3
+ import {
4
+ TelemetryOptions,
5
+ OpenTelemetryCollector,
6
+ MetricsDefinition
7
+ } from '@forklaunch/core/http';
8
+ import {
9
+ BaseBillingPortalService,
10
+ BaseCheckoutSessionService,
11
+ BasePaymentLinkService,
12
+ BasePlanService,
13
+ BaseSubscriptionService
14
+ } from '@forklaunch/implementation-billing-base/services';
15
+ import {
16
+ BillingPortalService,
17
+ CheckoutSessionService,
18
+ PaymentLinkService,
19
+ PlanService,
20
+ SubscriptionService
21
+ } from '@forklaunch/interfaces-billing/interfaces';
22
+ import {
23
+ InternalMapper,
24
+ ResponseMapperConstructor,
25
+ RequestMapperConstructor
26
+ } from '@forklaunch/internal';
7
27
  import { AnySchemaValidator } from '@forklaunch/validator';
8
28
  import { EntityManager } from '@mikro-orm/core';
9
29
  import Stripe__default from 'stripe';
10
- import { StripeBillingPortalEntities, StripeBillingPortalDtos, StripeCreateBillingPortalDto, StripeUpdateBillingPortalDto, StripeBillingPortalDto, StripeCheckoutSessionEntities, StripeCheckoutSessionDtos, StripePaymentLinkEntities, StripePaymentLinkDtos, StripeCreatePaymentLinkDto, StripeUpdatePaymentLinkDto, StripePaymentLinkDto, StripePlanEntities, StripePlanDtos, StripeCreatePlanDto, StripeUpdatePlanDto, StripePlanDto, StripeSubscriptionEntities, StripeSubscriptionDtos, StripeCreateSubscriptionDto, StripeUpdateSubscriptionDto, StripeSubscriptionDto } from '../domain/types/index.mjs';
11
- import { PaymentMethodEnum, CurrencyEnum, PlanCadenceEnum, BillingProviderEnum } from '../domain/enum/index.mjs';
30
+ import {
31
+ StripeBillingPortalEntities,
32
+ StripeBillingPortalDtos,
33
+ StripeCreateBillingPortalDto,
34
+ StripeUpdateBillingPortalDto,
35
+ StripeBillingPortalDto,
36
+ StripeCheckoutSessionEntities,
37
+ StripeCheckoutSessionDtos,
38
+ StripePaymentLinkEntities,
39
+ StripePaymentLinkDtos,
40
+ StripeCreatePaymentLinkDto,
41
+ StripeUpdatePaymentLinkDto,
42
+ StripePaymentLinkDto,
43
+ StripePlanEntities,
44
+ StripePlanDtos,
45
+ StripeCreatePlanDto,
46
+ StripeUpdatePlanDto,
47
+ StripePlanDto,
48
+ StripeSubscriptionEntities,
49
+ StripeSubscriptionDtos,
50
+ StripeCreateSubscriptionDto,
51
+ StripeUpdateSubscriptionDto,
52
+ StripeSubscriptionDto
53
+ } from '../domain/types/index.mjs';
54
+ import {
55
+ PaymentMethodEnum,
56
+ CurrencyEnum,
57
+ PlanCadenceEnum,
58
+ BillingProviderEnum
59
+ } from '../domain/enum/index.mjs';
12
60
  import '@forklaunch/interfaces-billing/types';
13
61
 
14
- declare class StripeBillingPortalService<SchemaValidator extends AnySchemaValidator, Entities extends StripeBillingPortalEntities, Dto extends StripeBillingPortalDtos = StripeBillingPortalDtos> implements BillingPortalService<{
15
- CreateBillingPortalDto: StripeCreateBillingPortalDto;
16
- UpdateBillingPortalDto: StripeUpdateBillingPortalDto;
17
- BillingPortalDto: StripeBillingPortalDto;
18
- IdDto: IdDto;
19
- }> {
20
- readonly options?: {
62
+ declare class StripeBillingPortalService<
63
+ SchemaValidator extends AnySchemaValidator,
64
+ Entities extends StripeBillingPortalEntities,
65
+ Dto extends StripeBillingPortalDtos = StripeBillingPortalDtos
66
+ > implements
67
+ BillingPortalService<{
68
+ CreateBillingPortalDto: StripeCreateBillingPortalDto;
69
+ UpdateBillingPortalDto: StripeUpdateBillingPortalDto;
70
+ BillingPortalDto: StripeBillingPortalDto;
71
+ IdDto: IdDto;
72
+ }>
73
+ {
74
+ readonly options?:
75
+ | {
21
76
  telemetry?: TelemetryOptions;
22
77
  enableDatabaseBackup?: boolean;
23
- } | undefined;
24
- private readonly billingPortalSessionExpiryDurationMs;
25
- baseBillingPortalService: BaseBillingPortalService<SchemaValidator, Entities, Entities>;
26
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
27
- protected stripeClient: Stripe__default;
28
- protected em: EntityManager;
29
- protected cache: TtlCache;
30
- protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
31
- protected schemaValidator: SchemaValidator;
32
- protected mappers: {
33
- BillingPortalMapper: ResponseMapperConstructor<SchemaValidator, Dto['BillingPortalMapper'], Entities['BillingPortalMapper']>;
34
- CreateBillingPortalMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateBillingPortalMapper'], Entities['CreateBillingPortalMapper'], (dto: Dto['CreateBillingPortalMapper'], em: EntityManager, session: Stripe__default.BillingPortal.Session) => Promise<Entities['CreateBillingPortalMapper']>>;
35
- UpdateBillingPortalMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateBillingPortalMapper'], Entities['UpdateBillingPortalMapper'], (dto: Dto['UpdateBillingPortalMapper'], em: EntityManager, session: Stripe__default.BillingPortal.Session) => Promise<Entities['UpdateBillingPortalMapper']>>;
36
- };
37
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
38
- BillingPortalMapper: ResponseMapperConstructor<SchemaValidator, Dto['BillingPortalMapper'], Entities['BillingPortalMapper']>;
39
- CreateBillingPortalMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateBillingPortalMapper'], Entities['CreateBillingPortalMapper'], (dto: Dto['CreateBillingPortalMapper'], em: EntityManager, session: Stripe__default.BillingPortal.Session) => Promise<Entities['CreateBillingPortalMapper']>>;
40
- UpdateBillingPortalMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateBillingPortalMapper'], Entities['UpdateBillingPortalMapper'], (dto: Dto['UpdateBillingPortalMapper'], em: EntityManager, session: Stripe__default.BillingPortal.Session) => Promise<Entities['UpdateBillingPortalMapper']>>;
41
- }, options?: {
42
- telemetry?: TelemetryOptions;
43
- enableDatabaseBackup?: boolean;
44
- } | undefined);
45
- createBillingPortalSession(billingPortalDto: Dto['CreateBillingPortalMapper']): Promise<Dto['BillingPortalMapper']>;
46
- getBillingPortalSession(idDto: IdDto): Promise<Dto['BillingPortalMapper']>;
47
- expireBillingPortalSession(idDto: IdDto): Promise<void>;
48
- updateBillingPortalSession(billingPortalDto: Dto['UpdateBillingPortalMapper']): Promise<Dto['BillingPortalMapper']>;
78
+ }
79
+ | undefined;
80
+ private readonly billingPortalSessionExpiryDurationMs;
81
+ baseBillingPortalService: BaseBillingPortalService<
82
+ SchemaValidator,
83
+ Entities,
84
+ Entities
85
+ >;
86
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
87
+ protected stripeClient: Stripe__default;
88
+ protected em: EntityManager;
89
+ protected cache: TtlCache;
90
+ protected openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
91
+ protected schemaValidator: SchemaValidator;
92
+ protected mappers: {
93
+ BillingPortalMapper: ResponseMapperConstructor<
94
+ SchemaValidator,
95
+ Dto['BillingPortalMapper'],
96
+ Entities['BillingPortalMapper']
97
+ >;
98
+ CreateBillingPortalMapper: RequestMapperConstructor<
99
+ SchemaValidator,
100
+ Dto['CreateBillingPortalMapper'],
101
+ Entities['CreateBillingPortalMapper'],
102
+ (
103
+ dto: Dto['CreateBillingPortalMapper'],
104
+ em: EntityManager,
105
+ session: Stripe__default.BillingPortal.Session
106
+ ) => Promise<Entities['CreateBillingPortalMapper']>
107
+ >;
108
+ UpdateBillingPortalMapper: RequestMapperConstructor<
109
+ SchemaValidator,
110
+ Dto['UpdateBillingPortalMapper'],
111
+ Entities['UpdateBillingPortalMapper'],
112
+ (
113
+ dto: Dto['UpdateBillingPortalMapper'],
114
+ em: EntityManager,
115
+ session: Stripe__default.BillingPortal.Session
116
+ ) => Promise<Entities['UpdateBillingPortalMapper']>
117
+ >;
118
+ };
119
+ constructor(
120
+ stripeClient: Stripe__default,
121
+ em: EntityManager,
122
+ cache: TtlCache,
123
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
124
+ schemaValidator: SchemaValidator,
125
+ mappers: {
126
+ BillingPortalMapper: ResponseMapperConstructor<
127
+ SchemaValidator,
128
+ Dto['BillingPortalMapper'],
129
+ Entities['BillingPortalMapper']
130
+ >;
131
+ CreateBillingPortalMapper: RequestMapperConstructor<
132
+ SchemaValidator,
133
+ Dto['CreateBillingPortalMapper'],
134
+ Entities['CreateBillingPortalMapper'],
135
+ (
136
+ dto: Dto['CreateBillingPortalMapper'],
137
+ em: EntityManager,
138
+ session: Stripe__default.BillingPortal.Session
139
+ ) => Promise<Entities['CreateBillingPortalMapper']>
140
+ >;
141
+ UpdateBillingPortalMapper: RequestMapperConstructor<
142
+ SchemaValidator,
143
+ Dto['UpdateBillingPortalMapper'],
144
+ Entities['UpdateBillingPortalMapper'],
145
+ (
146
+ dto: Dto['UpdateBillingPortalMapper'],
147
+ em: EntityManager,
148
+ session: Stripe__default.BillingPortal.Session
149
+ ) => Promise<Entities['UpdateBillingPortalMapper']>
150
+ >;
151
+ },
152
+ options?:
153
+ | {
154
+ telemetry?: TelemetryOptions;
155
+ enableDatabaseBackup?: boolean;
156
+ }
157
+ | undefined
158
+ );
159
+ createBillingPortalSession(
160
+ billingPortalDto: Dto['CreateBillingPortalMapper']
161
+ ): Promise<Dto['BillingPortalMapper']>;
162
+ getBillingPortalSession(idDto: IdDto): Promise<Dto['BillingPortalMapper']>;
163
+ expireBillingPortalSession(idDto: IdDto): Promise<void>;
164
+ updateBillingPortalSession(
165
+ billingPortalDto: Dto['UpdateBillingPortalMapper']
166
+ ): Promise<Dto['BillingPortalMapper']>;
49
167
  }
50
168
 
51
- declare class StripeCheckoutSessionService<SchemaValidator extends AnySchemaValidator, StatusEnum, Entities extends StripeCheckoutSessionEntities<StatusEnum>, Dto extends StripeCheckoutSessionDtos<StatusEnum> = StripeCheckoutSessionDtos<StatusEnum>> implements CheckoutSessionService<typeof PaymentMethodEnum, typeof CurrencyEnum, StatusEnum, {
52
- CreateCheckoutSessionDto: Dto['CreateCheckoutSessionMapper'];
53
- CheckoutSessionDto: Dto['CheckoutSessionMapper'];
54
- IdDto: IdDto;
55
- }> {
56
- readonly options?: {
169
+ declare class StripeCheckoutSessionService<
170
+ SchemaValidator extends AnySchemaValidator,
171
+ StatusEnum,
172
+ Entities extends StripeCheckoutSessionEntities<StatusEnum>,
173
+ Dto extends
174
+ StripeCheckoutSessionDtos<StatusEnum> = StripeCheckoutSessionDtos<StatusEnum>
175
+ > implements
176
+ CheckoutSessionService<
177
+ typeof PaymentMethodEnum,
178
+ typeof CurrencyEnum,
179
+ StatusEnum,
180
+ {
181
+ CreateCheckoutSessionDto: Dto['CreateCheckoutSessionMapper'];
182
+ CheckoutSessionDto: Dto['CheckoutSessionMapper'];
183
+ IdDto: IdDto;
184
+ }
185
+ >
186
+ {
187
+ readonly options?:
188
+ | {
57
189
  enableDatabaseBackup?: boolean;
58
190
  telemetry?: TelemetryOptions;
59
- } | undefined;
60
- baseCheckoutSessionService: BaseCheckoutSessionService<SchemaValidator, typeof PaymentMethodEnum, typeof CurrencyEnum, StatusEnum, Entities, Entities>;
61
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
62
- protected readonly stripeClient: Stripe__default;
63
- protected readonly em: EntityManager;
64
- protected readonly cache: TtlCache;
65
- protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
66
- protected readonly schemaValidator: SchemaValidator;
67
- protected readonly mappers: {
68
- CheckoutSessionMapper: ResponseMapperConstructor<SchemaValidator, Dto['CheckoutSessionMapper'], Entities['CheckoutSessionMapper']>;
69
- CreateCheckoutSessionMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateCheckoutSessionMapper'], Entities['CreateCheckoutSessionMapper'], (dto: Dto['CreateCheckoutSessionMapper'], em: EntityManager, session: Stripe__default.Checkout.Session) => Promise<Entities['CreateCheckoutSessionMapper']>>;
70
- UpdateCheckoutSessionMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateCheckoutSessionMapper'], Entities['UpdateCheckoutSessionMapper'], (dto: Dto['UpdateCheckoutSessionMapper'], em: EntityManager, session: Stripe__default.Checkout.Session) => Promise<Entities['UpdateCheckoutSessionMapper']>>;
71
- };
72
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
73
- CheckoutSessionMapper: ResponseMapperConstructor<SchemaValidator, Dto['CheckoutSessionMapper'], Entities['CheckoutSessionMapper']>;
74
- CreateCheckoutSessionMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateCheckoutSessionMapper'], Entities['CreateCheckoutSessionMapper'], (dto: Dto['CreateCheckoutSessionMapper'], em: EntityManager, session: Stripe__default.Checkout.Session) => Promise<Entities['CreateCheckoutSessionMapper']>>;
75
- UpdateCheckoutSessionMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateCheckoutSessionMapper'], Entities['UpdateCheckoutSessionMapper'], (dto: Dto['UpdateCheckoutSessionMapper'], em: EntityManager, session: Stripe__default.Checkout.Session) => Promise<Entities['UpdateCheckoutSessionMapper']>>;
76
- }, options?: {
77
- enableDatabaseBackup?: boolean;
78
- telemetry?: TelemetryOptions;
79
- } | undefined);
80
- createCheckoutSession(checkoutSessionDto: Dto['CreateCheckoutSessionMapper']): Promise<Dto['CheckoutSessionMapper']>;
81
- getCheckoutSession({ id }: IdDto): Promise<Dto['CheckoutSessionMapper']>;
82
- expireCheckoutSession({ id }: IdDto): Promise<void>;
83
- handleCheckoutSuccess({ id }: IdDto): Promise<void>;
84
- handleCheckoutFailure({ id }: IdDto): Promise<void>;
191
+ }
192
+ | undefined;
193
+ baseCheckoutSessionService: BaseCheckoutSessionService<
194
+ SchemaValidator,
195
+ typeof PaymentMethodEnum,
196
+ typeof CurrencyEnum,
197
+ StatusEnum,
198
+ Entities,
199
+ Entities
200
+ >;
201
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
202
+ protected readonly stripeClient: Stripe__default;
203
+ protected readonly em: EntityManager;
204
+ protected readonly cache: TtlCache;
205
+ protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
206
+ protected readonly schemaValidator: SchemaValidator;
207
+ protected readonly mappers: {
208
+ CheckoutSessionMapper: ResponseMapperConstructor<
209
+ SchemaValidator,
210
+ Dto['CheckoutSessionMapper'],
211
+ Entities['CheckoutSessionMapper']
212
+ >;
213
+ CreateCheckoutSessionMapper: RequestMapperConstructor<
214
+ SchemaValidator,
215
+ Dto['CreateCheckoutSessionMapper'],
216
+ Entities['CreateCheckoutSessionMapper'],
217
+ (
218
+ dto: Dto['CreateCheckoutSessionMapper'],
219
+ em: EntityManager,
220
+ session: Stripe__default.Checkout.Session
221
+ ) => Promise<Entities['CreateCheckoutSessionMapper']>
222
+ >;
223
+ UpdateCheckoutSessionMapper: RequestMapperConstructor<
224
+ SchemaValidator,
225
+ Dto['UpdateCheckoutSessionMapper'],
226
+ Entities['UpdateCheckoutSessionMapper'],
227
+ (
228
+ dto: Dto['UpdateCheckoutSessionMapper'],
229
+ em: EntityManager,
230
+ session: Stripe__default.Checkout.Session
231
+ ) => Promise<Entities['UpdateCheckoutSessionMapper']>
232
+ >;
233
+ };
234
+ constructor(
235
+ stripeClient: Stripe__default,
236
+ em: EntityManager,
237
+ cache: TtlCache,
238
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
239
+ schemaValidator: SchemaValidator,
240
+ mappers: {
241
+ CheckoutSessionMapper: ResponseMapperConstructor<
242
+ SchemaValidator,
243
+ Dto['CheckoutSessionMapper'],
244
+ Entities['CheckoutSessionMapper']
245
+ >;
246
+ CreateCheckoutSessionMapper: RequestMapperConstructor<
247
+ SchemaValidator,
248
+ Dto['CreateCheckoutSessionMapper'],
249
+ Entities['CreateCheckoutSessionMapper'],
250
+ (
251
+ dto: Dto['CreateCheckoutSessionMapper'],
252
+ em: EntityManager,
253
+ session: Stripe__default.Checkout.Session
254
+ ) => Promise<Entities['CreateCheckoutSessionMapper']>
255
+ >;
256
+ UpdateCheckoutSessionMapper: RequestMapperConstructor<
257
+ SchemaValidator,
258
+ Dto['UpdateCheckoutSessionMapper'],
259
+ Entities['UpdateCheckoutSessionMapper'],
260
+ (
261
+ dto: Dto['UpdateCheckoutSessionMapper'],
262
+ em: EntityManager,
263
+ session: Stripe__default.Checkout.Session
264
+ ) => Promise<Entities['UpdateCheckoutSessionMapper']>
265
+ >;
266
+ },
267
+ options?:
268
+ | {
269
+ enableDatabaseBackup?: boolean;
270
+ telemetry?: TelemetryOptions;
271
+ }
272
+ | undefined
273
+ );
274
+ createCheckoutSession(
275
+ checkoutSessionDto: Dto['CreateCheckoutSessionMapper']
276
+ ): Promise<Dto['CheckoutSessionMapper']>;
277
+ getCheckoutSession({ id }: IdDto): Promise<Dto['CheckoutSessionMapper']>;
278
+ expireCheckoutSession({ id }: IdDto): Promise<void>;
279
+ handleCheckoutSuccess({ id }: IdDto): Promise<void>;
280
+ handleCheckoutFailure({ id }: IdDto): Promise<void>;
85
281
  }
86
282
 
87
- declare class StripePaymentLinkService<SchemaValidator extends AnySchemaValidator, StatusEnum, Entities extends StripePaymentLinkEntities<StatusEnum>, Dto extends StripePaymentLinkDtos<StatusEnum> = StripePaymentLinkDtos<StatusEnum>> implements PaymentLinkService<PaymentMethodEnum, typeof CurrencyEnum, StatusEnum, {
88
- CreatePaymentLinkDto: StripeCreatePaymentLinkDto<StatusEnum>;
89
- UpdatePaymentLinkDto: StripeUpdatePaymentLinkDto<StatusEnum>;
90
- PaymentLinkDto: StripePaymentLinkDto<StatusEnum>;
91
- IdDto: IdDto;
92
- IdsDto: IdsDto;
93
- }> {
94
- readonly options?: {
95
- enableDatabaseBackup?: boolean;
96
- telemetry?: TelemetryOptions;
97
- } | undefined;
98
- basePaymentLinkService: BasePaymentLinkService<SchemaValidator, typeof PaymentMethodEnum, typeof CurrencyEnum, StatusEnum, Entities, Entities>;
99
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
100
- protected readonly stripeClient: Stripe__default;
101
- protected readonly em: EntityManager;
102
- protected readonly cache: TtlCache;
103
- protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
104
- protected readonly schemaValidator: SchemaValidator;
105
- protected readonly mappers: {
106
- PaymentLinkMapper: ResponseMapperConstructor<SchemaValidator, Dto['PaymentLinkMapper'], Entities['PaymentLinkMapper']>;
107
- CreatePaymentLinkMapper: RequestMapperConstructor<SchemaValidator, Dto['CreatePaymentLinkMapper'], Entities['CreatePaymentLinkMapper'], (dto: Dto['CreatePaymentLinkMapper'], em: EntityManager, paymentLink: Stripe__default.PaymentLink) => Promise<Entities['CreatePaymentLinkMapper']>>;
108
- UpdatePaymentLinkMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdatePaymentLinkMapper'], Entities['UpdatePaymentLinkMapper'], (dto: Dto['UpdatePaymentLinkMapper'], em: EntityManager, paymentLink: Stripe__default.PaymentLink) => Promise<Entities['UpdatePaymentLinkMapper']>>;
109
- };
110
- constructor(stripeClient: Stripe__default, em: EntityManager, cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
111
- PaymentLinkMapper: ResponseMapperConstructor<SchemaValidator, Dto['PaymentLinkMapper'], Entities['PaymentLinkMapper']>;
112
- CreatePaymentLinkMapper: RequestMapperConstructor<SchemaValidator, Dto['CreatePaymentLinkMapper'], Entities['CreatePaymentLinkMapper'], (dto: Dto['CreatePaymentLinkMapper'], em: EntityManager, paymentLink: Stripe__default.PaymentLink) => Promise<Entities['CreatePaymentLinkMapper']>>;
113
- UpdatePaymentLinkMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdatePaymentLinkMapper'], Entities['UpdatePaymentLinkMapper'], (dto: Dto['UpdatePaymentLinkMapper'], em: EntityManager, paymentLink: Stripe__default.PaymentLink) => Promise<Entities['UpdatePaymentLinkMapper']>>;
114
- }, options?: {
283
+ declare class StripePaymentLinkService<
284
+ SchemaValidator extends AnySchemaValidator,
285
+ StatusEnum,
286
+ Entities extends StripePaymentLinkEntities<StatusEnum>,
287
+ Dto extends
288
+ StripePaymentLinkDtos<StatusEnum> = StripePaymentLinkDtos<StatusEnum>
289
+ > implements
290
+ PaymentLinkService<
291
+ PaymentMethodEnum,
292
+ typeof CurrencyEnum,
293
+ StatusEnum,
294
+ {
295
+ CreatePaymentLinkDto: StripeCreatePaymentLinkDto<StatusEnum>;
296
+ UpdatePaymentLinkDto: StripeUpdatePaymentLinkDto<StatusEnum>;
297
+ PaymentLinkDto: StripePaymentLinkDto<StatusEnum>;
298
+ IdDto: IdDto;
299
+ IdsDto: IdsDto;
300
+ }
301
+ >
302
+ {
303
+ readonly options?:
304
+ | {
115
305
  enableDatabaseBackup?: boolean;
116
306
  telemetry?: TelemetryOptions;
117
- } | undefined);
118
- createPaymentLink(paymentLinkDto: Dto['CreatePaymentLinkMapper']): Promise<Dto['PaymentLinkMapper']>;
119
- updatePaymentLink(paymentLinkDto: Dto['UpdatePaymentLinkMapper']): Promise<Dto['PaymentLinkMapper']>;
120
- getPaymentLink({ id }: IdDto): Promise<Dto['PaymentLinkMapper']>;
121
- expirePaymentLink({ id }: IdDto): Promise<void>;
122
- handlePaymentSuccess({ id }: IdDto): Promise<void>;
123
- handlePaymentFailure({ id }: IdDto): Promise<void>;
124
- listPaymentLinks(idsDto?: IdsDto): Promise<Dto['PaymentLinkMapper'][]>;
307
+ }
308
+ | undefined;
309
+ basePaymentLinkService: BasePaymentLinkService<
310
+ SchemaValidator,
311
+ typeof PaymentMethodEnum,
312
+ typeof CurrencyEnum,
313
+ StatusEnum,
314
+ Entities,
315
+ Entities
316
+ >;
317
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
318
+ protected readonly stripeClient: Stripe__default;
319
+ protected readonly em: EntityManager;
320
+ protected readonly cache: TtlCache;
321
+ protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
322
+ protected readonly schemaValidator: SchemaValidator;
323
+ protected readonly mappers: {
324
+ PaymentLinkMapper: ResponseMapperConstructor<
325
+ SchemaValidator,
326
+ Dto['PaymentLinkMapper'],
327
+ Entities['PaymentLinkMapper']
328
+ >;
329
+ CreatePaymentLinkMapper: RequestMapperConstructor<
330
+ SchemaValidator,
331
+ Dto['CreatePaymentLinkMapper'],
332
+ Entities['CreatePaymentLinkMapper'],
333
+ (
334
+ dto: Dto['CreatePaymentLinkMapper'],
335
+ em: EntityManager,
336
+ paymentLink: Stripe__default.PaymentLink
337
+ ) => Promise<Entities['CreatePaymentLinkMapper']>
338
+ >;
339
+ UpdatePaymentLinkMapper: RequestMapperConstructor<
340
+ SchemaValidator,
341
+ Dto['UpdatePaymentLinkMapper'],
342
+ Entities['UpdatePaymentLinkMapper'],
343
+ (
344
+ dto: Dto['UpdatePaymentLinkMapper'],
345
+ em: EntityManager,
346
+ paymentLink: Stripe__default.PaymentLink
347
+ ) => Promise<Entities['UpdatePaymentLinkMapper']>
348
+ >;
349
+ };
350
+ constructor(
351
+ stripeClient: Stripe__default,
352
+ em: EntityManager,
353
+ cache: TtlCache,
354
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
355
+ schemaValidator: SchemaValidator,
356
+ mappers: {
357
+ PaymentLinkMapper: ResponseMapperConstructor<
358
+ SchemaValidator,
359
+ Dto['PaymentLinkMapper'],
360
+ Entities['PaymentLinkMapper']
361
+ >;
362
+ CreatePaymentLinkMapper: RequestMapperConstructor<
363
+ SchemaValidator,
364
+ Dto['CreatePaymentLinkMapper'],
365
+ Entities['CreatePaymentLinkMapper'],
366
+ (
367
+ dto: Dto['CreatePaymentLinkMapper'],
368
+ em: EntityManager,
369
+ paymentLink: Stripe__default.PaymentLink
370
+ ) => Promise<Entities['CreatePaymentLinkMapper']>
371
+ >;
372
+ UpdatePaymentLinkMapper: RequestMapperConstructor<
373
+ SchemaValidator,
374
+ Dto['UpdatePaymentLinkMapper'],
375
+ Entities['UpdatePaymentLinkMapper'],
376
+ (
377
+ dto: Dto['UpdatePaymentLinkMapper'],
378
+ em: EntityManager,
379
+ paymentLink: Stripe__default.PaymentLink
380
+ ) => Promise<Entities['UpdatePaymentLinkMapper']>
381
+ >;
382
+ },
383
+ options?:
384
+ | {
385
+ enableDatabaseBackup?: boolean;
386
+ telemetry?: TelemetryOptions;
387
+ }
388
+ | undefined
389
+ );
390
+ createPaymentLink(
391
+ paymentLinkDto: Dto['CreatePaymentLinkMapper']
392
+ ): Promise<Dto['PaymentLinkMapper']>;
393
+ updatePaymentLink(
394
+ paymentLinkDto: Dto['UpdatePaymentLinkMapper']
395
+ ): Promise<Dto['PaymentLinkMapper']>;
396
+ getPaymentLink({ id }: IdDto): Promise<Dto['PaymentLinkMapper']>;
397
+ expirePaymentLink({ id }: IdDto): Promise<void>;
398
+ handlePaymentSuccess({ id }: IdDto): Promise<void>;
399
+ handlePaymentFailure({ id }: IdDto): Promise<void>;
400
+ listPaymentLinks(idsDto?: IdsDto): Promise<Dto['PaymentLinkMapper'][]>;
125
401
  }
126
402
 
127
- declare class StripePlanService<SchemaValidator extends AnySchemaValidator, Entities extends StripePlanEntities, Dto extends StripePlanDtos = StripePlanDtos> implements PlanService<typeof PlanCadenceEnum, typeof CurrencyEnum, typeof BillingProviderEnum, {
128
- CreatePlanDto: StripeCreatePlanDto;
129
- UpdatePlanDto: StripeUpdatePlanDto;
130
- PlanDto: StripePlanDto;
131
- IdDto: IdDto;
132
- IdsDto: IdsDto;
133
- }> {
134
- readonly options?: {
135
- telemetry?: TelemetryOptions;
136
- databaseTableName?: string;
137
- } | undefined;
138
- basePlanService: BasePlanService<SchemaValidator, typeof PlanCadenceEnum, typeof CurrencyEnum, typeof BillingProviderEnum, Entities, Entities>;
139
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
140
- protected readonly stripeClient: Stripe__default;
141
- protected readonly em: EntityManager;
142
- protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
143
- protected readonly schemaValidator: SchemaValidator;
144
- protected readonly mappers: {
145
- PlanMapper: ResponseMapperConstructor<SchemaValidator, Dto['PlanMapper'], Entities['PlanMapper']>;
146
- CreatePlanMapper: RequestMapperConstructor<SchemaValidator, Dto['CreatePlanMapper'], Entities['CreatePlanMapper'], (dto: Dto['CreatePlanMapper'], em: EntityManager, plan: Stripe__default.Plan) => Promise<Entities['CreatePlanMapper']>>;
147
- UpdatePlanMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdatePlanMapper'], Entities['UpdatePlanMapper'], (dto: Dto['UpdatePlanMapper'], em: EntityManager, plan: Stripe__default.Plan) => Promise<Entities['UpdatePlanMapper']>>;
148
- };
149
- constructor(stripeClient: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
150
- PlanMapper: ResponseMapperConstructor<SchemaValidator, Dto['PlanMapper'], Entities['PlanMapper']>;
151
- CreatePlanMapper: RequestMapperConstructor<SchemaValidator, Dto['CreatePlanMapper'], Entities['CreatePlanMapper'], (dto: Dto['CreatePlanMapper'], em: EntityManager, plan: Stripe__default.Plan) => Promise<Entities['CreatePlanMapper']>>;
152
- UpdatePlanMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdatePlanMapper'], Entities['UpdatePlanMapper'], (dto: Dto['UpdatePlanMapper'], em: EntityManager, plan: Stripe__default.Plan) => Promise<Entities['UpdatePlanMapper']>>;
153
- }, options?: {
403
+ declare class StripePlanService<
404
+ SchemaValidator extends AnySchemaValidator,
405
+ Entities extends StripePlanEntities,
406
+ Dto extends StripePlanDtos = StripePlanDtos
407
+ > implements
408
+ PlanService<
409
+ typeof PlanCadenceEnum,
410
+ typeof CurrencyEnum,
411
+ typeof BillingProviderEnum,
412
+ {
413
+ CreatePlanDto: StripeCreatePlanDto;
414
+ UpdatePlanDto: StripeUpdatePlanDto;
415
+ PlanDto: StripePlanDto;
416
+ IdDto: IdDto;
417
+ IdsDto: IdsDto;
418
+ }
419
+ >
420
+ {
421
+ readonly options?:
422
+ | {
154
423
  telemetry?: TelemetryOptions;
155
424
  databaseTableName?: string;
156
- } | undefined);
157
- createPlan(planDto: Dto['CreatePlanMapper'], em?: EntityManager): Promise<Dto['PlanMapper']>;
158
- getPlan(idDto: IdDto, em?: EntityManager): Promise<Dto['PlanMapper']>;
159
- updatePlan(planDto: Dto['UpdatePlanMapper'], em?: EntityManager): Promise<Dto['PlanMapper']>;
160
- deletePlan(idDto: {
161
- id: string;
162
- }, em?: EntityManager): Promise<void>;
163
- listPlans(idsDto?: IdsDto, em?: EntityManager): Promise<Dto['PlanMapper'][]>;
425
+ }
426
+ | undefined;
427
+ basePlanService: BasePlanService<
428
+ SchemaValidator,
429
+ typeof PlanCadenceEnum,
430
+ typeof CurrencyEnum,
431
+ typeof BillingProviderEnum,
432
+ Entities,
433
+ Entities
434
+ >;
435
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
436
+ protected readonly stripeClient: Stripe__default;
437
+ protected readonly em: EntityManager;
438
+ protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
439
+ protected readonly schemaValidator: SchemaValidator;
440
+ protected readonly mappers: {
441
+ PlanMapper: ResponseMapperConstructor<
442
+ SchemaValidator,
443
+ Dto['PlanMapper'],
444
+ Entities['PlanMapper']
445
+ >;
446
+ CreatePlanMapper: RequestMapperConstructor<
447
+ SchemaValidator,
448
+ Dto['CreatePlanMapper'],
449
+ Entities['CreatePlanMapper'],
450
+ (
451
+ dto: Dto['CreatePlanMapper'],
452
+ em: EntityManager,
453
+ plan: Stripe__default.Plan
454
+ ) => Promise<Entities['CreatePlanMapper']>
455
+ >;
456
+ UpdatePlanMapper: RequestMapperConstructor<
457
+ SchemaValidator,
458
+ Dto['UpdatePlanMapper'],
459
+ Entities['UpdatePlanMapper'],
460
+ (
461
+ dto: Dto['UpdatePlanMapper'],
462
+ em: EntityManager,
463
+ plan: Stripe__default.Plan
464
+ ) => Promise<Entities['UpdatePlanMapper']>
465
+ >;
466
+ };
467
+ constructor(
468
+ stripeClient: Stripe__default,
469
+ em: EntityManager,
470
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
471
+ schemaValidator: SchemaValidator,
472
+ mappers: {
473
+ PlanMapper: ResponseMapperConstructor<
474
+ SchemaValidator,
475
+ Dto['PlanMapper'],
476
+ Entities['PlanMapper']
477
+ >;
478
+ CreatePlanMapper: RequestMapperConstructor<
479
+ SchemaValidator,
480
+ Dto['CreatePlanMapper'],
481
+ Entities['CreatePlanMapper'],
482
+ (
483
+ dto: Dto['CreatePlanMapper'],
484
+ em: EntityManager,
485
+ plan: Stripe__default.Plan
486
+ ) => Promise<Entities['CreatePlanMapper']>
487
+ >;
488
+ UpdatePlanMapper: RequestMapperConstructor<
489
+ SchemaValidator,
490
+ Dto['UpdatePlanMapper'],
491
+ Entities['UpdatePlanMapper'],
492
+ (
493
+ dto: Dto['UpdatePlanMapper'],
494
+ em: EntityManager,
495
+ plan: Stripe__default.Plan
496
+ ) => Promise<Entities['UpdatePlanMapper']>
497
+ >;
498
+ },
499
+ options?:
500
+ | {
501
+ telemetry?: TelemetryOptions;
502
+ databaseTableName?: string;
503
+ }
504
+ | undefined
505
+ );
506
+ createPlan(
507
+ planDto: Dto['CreatePlanMapper'],
508
+ em?: EntityManager
509
+ ): Promise<Dto['PlanMapper']>;
510
+ getPlan(idDto: IdDto, em?: EntityManager): Promise<Dto['PlanMapper']>;
511
+ updatePlan(
512
+ planDto: Dto['UpdatePlanMapper'],
513
+ em?: EntityManager
514
+ ): Promise<Dto['PlanMapper']>;
515
+ deletePlan(
516
+ idDto: {
517
+ id: string;
518
+ },
519
+ em?: EntityManager
520
+ ): Promise<void>;
521
+ listPlans(idsDto?: IdsDto, em?: EntityManager): Promise<Dto['PlanMapper'][]>;
164
522
  }
165
523
 
166
- declare class StripeSubscriptionService<SchemaValidator extends AnySchemaValidator, PartyType, Entities extends StripeSubscriptionEntities<PartyType>, Dto extends StripeSubscriptionDtos<PartyType> = StripeSubscriptionDtos<PartyType>> implements SubscriptionService<PartyType, typeof BillingProviderEnum, {
167
- CreateSubscriptionDto: StripeCreateSubscriptionDto<PartyType>;
168
- UpdateSubscriptionDto: StripeUpdateSubscriptionDto<PartyType>;
169
- SubscriptionDto: StripeSubscriptionDto<PartyType>;
170
- IdDto: IdDto;
171
- IdsDto: IdsDto;
172
- }> {
173
- readonly options?: {
174
- telemetry?: TelemetryOptions;
175
- databaseTableName?: string;
176
- } | undefined;
177
- baseSubscriptionService: BaseSubscriptionService<SchemaValidator, PartyType, typeof BillingProviderEnum, Entities, Entities>;
178
- protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
179
- protected readonly stripe: Stripe__default;
180
- protected readonly em: EntityManager;
181
- protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
182
- protected readonly schemaValidator: SchemaValidator;
183
- protected readonly mappers: {
184
- SubscriptionMapper: ResponseMapperConstructor<SchemaValidator, Dto['SubscriptionMapper'], Entities['SubscriptionMapper']>;
185
- CreateSubscriptionMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateSubscriptionMapper'], Entities['CreateSubscriptionMapper'], (dto: Dto['CreateSubscriptionMapper'], em: EntityManager, subscription: Stripe__default.Subscription) => Promise<Entities['CreateSubscriptionMapper']>>;
186
- UpdateSubscriptionMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateSubscriptionMapper'], Entities['UpdateSubscriptionMapper'], (dto: Dto['UpdateSubscriptionMapper'], em: EntityManager, subscription: Stripe__default.Subscription) => Promise<Entities['UpdateSubscriptionMapper']>>;
187
- };
188
- constructor(stripe: Stripe__default, em: EntityManager, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, schemaValidator: SchemaValidator, mappers: {
189
- SubscriptionMapper: ResponseMapperConstructor<SchemaValidator, Dto['SubscriptionMapper'], Entities['SubscriptionMapper']>;
190
- CreateSubscriptionMapper: RequestMapperConstructor<SchemaValidator, Dto['CreateSubscriptionMapper'], Entities['CreateSubscriptionMapper'], (dto: Dto['CreateSubscriptionMapper'], em: EntityManager, subscription: Stripe__default.Subscription) => Promise<Entities['CreateSubscriptionMapper']>>;
191
- UpdateSubscriptionMapper: RequestMapperConstructor<SchemaValidator, Dto['UpdateSubscriptionMapper'], Entities['UpdateSubscriptionMapper'], (dto: Dto['UpdateSubscriptionMapper'], em: EntityManager, subscription: Stripe__default.Subscription) => Promise<Entities['UpdateSubscriptionMapper']>>;
192
- }, options?: {
524
+ declare class StripeSubscriptionService<
525
+ SchemaValidator extends AnySchemaValidator,
526
+ PartyType,
527
+ Entities extends StripeSubscriptionEntities<PartyType>,
528
+ Dto extends
529
+ StripeSubscriptionDtos<PartyType> = StripeSubscriptionDtos<PartyType>
530
+ > implements
531
+ SubscriptionService<
532
+ PartyType,
533
+ typeof BillingProviderEnum,
534
+ {
535
+ CreateSubscriptionDto: StripeCreateSubscriptionDto<PartyType>;
536
+ UpdateSubscriptionDto: StripeUpdateSubscriptionDto<PartyType>;
537
+ SubscriptionDto: StripeSubscriptionDto<PartyType>;
538
+ IdDto: IdDto;
539
+ IdsDto: IdsDto;
540
+ }
541
+ >
542
+ {
543
+ readonly options?:
544
+ | {
193
545
  telemetry?: TelemetryOptions;
194
546
  databaseTableName?: string;
195
- } | undefined);
196
- createSubscription(subscriptionDto: Dto['CreateSubscriptionMapper'], em?: EntityManager): Promise<Dto['SubscriptionMapper']>;
197
- getSubscription(idDto: IdDto, em?: EntityManager): Promise<Dto['SubscriptionMapper']>;
198
- getUserSubscription(idDto: IdDto, em?: EntityManager): Promise<Dto['SubscriptionMapper']>;
199
- getOrganizationSubscription(idDto: IdDto, em?: EntityManager): Promise<Dto['SubscriptionMapper']>;
200
- updateSubscription(subscriptionDto: Dto['UpdateSubscriptionMapper'], em?: EntityManager): Promise<Dto['SubscriptionMapper']>;
201
- deleteSubscription(idDto: {
202
- id: string;
203
- }, em?: EntityManager): Promise<void>;
204
- listSubscriptions(idsDto: IdsDto, em?: EntityManager): Promise<Dto['SubscriptionMapper'][]>;
205
- cancelSubscription(idDto: IdDto, em?: EntityManager): Promise<void>;
206
- resumeSubscription(idDto: IdDto, em?: EntityManager): Promise<void>;
547
+ }
548
+ | undefined;
549
+ baseSubscriptionService: BaseSubscriptionService<
550
+ SchemaValidator,
551
+ PartyType,
552
+ typeof BillingProviderEnum,
553
+ Entities,
554
+ Entities
555
+ >;
556
+ protected _mappers: InternalMapper<InstanceTypeRecord<typeof this.mappers>>;
557
+ protected readonly stripe: Stripe__default;
558
+ protected readonly em: EntityManager;
559
+ protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
560
+ protected readonly schemaValidator: SchemaValidator;
561
+ protected readonly mappers: {
562
+ SubscriptionMapper: ResponseMapperConstructor<
563
+ SchemaValidator,
564
+ Dto['SubscriptionMapper'],
565
+ Entities['SubscriptionMapper']
566
+ >;
567
+ CreateSubscriptionMapper: RequestMapperConstructor<
568
+ SchemaValidator,
569
+ Dto['CreateSubscriptionMapper'],
570
+ Entities['CreateSubscriptionMapper'],
571
+ (
572
+ dto: Dto['CreateSubscriptionMapper'],
573
+ em: EntityManager,
574
+ subscription: Stripe__default.Subscription
575
+ ) => Promise<Entities['CreateSubscriptionMapper']>
576
+ >;
577
+ UpdateSubscriptionMapper: RequestMapperConstructor<
578
+ SchemaValidator,
579
+ Dto['UpdateSubscriptionMapper'],
580
+ Entities['UpdateSubscriptionMapper'],
581
+ (
582
+ dto: Dto['UpdateSubscriptionMapper'],
583
+ em: EntityManager,
584
+ subscription: Stripe__default.Subscription
585
+ ) => Promise<Entities['UpdateSubscriptionMapper']>
586
+ >;
587
+ };
588
+ constructor(
589
+ stripe: Stripe__default,
590
+ em: EntityManager,
591
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
592
+ schemaValidator: SchemaValidator,
593
+ mappers: {
594
+ SubscriptionMapper: ResponseMapperConstructor<
595
+ SchemaValidator,
596
+ Dto['SubscriptionMapper'],
597
+ Entities['SubscriptionMapper']
598
+ >;
599
+ CreateSubscriptionMapper: RequestMapperConstructor<
600
+ SchemaValidator,
601
+ Dto['CreateSubscriptionMapper'],
602
+ Entities['CreateSubscriptionMapper'],
603
+ (
604
+ dto: Dto['CreateSubscriptionMapper'],
605
+ em: EntityManager,
606
+ subscription: Stripe__default.Subscription
607
+ ) => Promise<Entities['CreateSubscriptionMapper']>
608
+ >;
609
+ UpdateSubscriptionMapper: RequestMapperConstructor<
610
+ SchemaValidator,
611
+ Dto['UpdateSubscriptionMapper'],
612
+ Entities['UpdateSubscriptionMapper'],
613
+ (
614
+ dto: Dto['UpdateSubscriptionMapper'],
615
+ em: EntityManager,
616
+ subscription: Stripe__default.Subscription
617
+ ) => Promise<Entities['UpdateSubscriptionMapper']>
618
+ >;
619
+ },
620
+ options?:
621
+ | {
622
+ telemetry?: TelemetryOptions;
623
+ databaseTableName?: string;
624
+ }
625
+ | undefined
626
+ );
627
+ createSubscription(
628
+ subscriptionDto: Dto['CreateSubscriptionMapper'],
629
+ em?: EntityManager
630
+ ): Promise<Dto['SubscriptionMapper']>;
631
+ getSubscription(
632
+ idDto: IdDto,
633
+ em?: EntityManager
634
+ ): Promise<Dto['SubscriptionMapper']>;
635
+ getUserSubscription(
636
+ idDto: IdDto,
637
+ em?: EntityManager
638
+ ): Promise<Dto['SubscriptionMapper']>;
639
+ getOrganizationSubscription(
640
+ idDto: IdDto,
641
+ em?: EntityManager
642
+ ): Promise<Dto['SubscriptionMapper']>;
643
+ updateSubscription(
644
+ subscriptionDto: Dto['UpdateSubscriptionMapper'],
645
+ em?: EntityManager
646
+ ): Promise<Dto['SubscriptionMapper']>;
647
+ deleteSubscription(
648
+ idDto: {
649
+ id: string;
650
+ },
651
+ em?: EntityManager
652
+ ): Promise<void>;
653
+ listSubscriptions(
654
+ idsDto: IdsDto,
655
+ em?: EntityManager
656
+ ): Promise<Dto['SubscriptionMapper'][]>;
657
+ cancelSubscription(idDto: IdDto, em?: EntityManager): Promise<void>;
658
+ resumeSubscription(idDto: IdDto, em?: EntityManager): Promise<void>;
207
659
  }
208
660
 
209
- declare class StripeWebhookService<SchemaValidator extends AnySchemaValidator, StatusEnum, PartyEnum, BillingPortalEntities extends StripeBillingPortalEntities = StripeBillingPortalEntities, CheckoutSessionEntities extends StripeCheckoutSessionEntities<StatusEnum> = StripeCheckoutSessionEntities<StatusEnum>, PaymentLinkEntities extends StripePaymentLinkEntities<StatusEnum> = StripePaymentLinkEntities<StatusEnum>, PlanEntities extends StripePlanEntities = StripePlanEntities, SubscriptionEntities extends StripeSubscriptionEntities<PartyEnum> = StripeSubscriptionEntities<PartyEnum>> {
210
- protected readonly stripeClient: Stripe__default;
211
- protected readonly em: EntityManager;
212
- protected readonly schemaValidator: SchemaValidator;
213
- protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
214
- protected readonly billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>;
215
- protected readonly checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>;
216
- protected readonly paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>;
217
- protected readonly planService: StripePlanService<SchemaValidator, PlanEntities>;
218
- protected readonly subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>;
219
- constructor(stripeClient: Stripe__default, em: EntityManager, schemaValidator: SchemaValidator, openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>, billingPortalService: StripeBillingPortalService<SchemaValidator, BillingPortalEntities>, checkoutSessionService: StripeCheckoutSessionService<SchemaValidator, StatusEnum, CheckoutSessionEntities>, paymentLinkService: StripePaymentLinkService<SchemaValidator, StatusEnum, PaymentLinkEntities>, planService: StripePlanService<SchemaValidator, PlanEntities>, subscriptionService: StripeSubscriptionService<SchemaValidator, PartyEnum, SubscriptionEntities>);
220
- handleWebhookEvent(event: Stripe__default.Event): Promise<void>;
661
+ declare class StripeWebhookService<
662
+ SchemaValidator extends AnySchemaValidator,
663
+ StatusEnum,
664
+ PartyEnum,
665
+ BillingPortalEntities extends
666
+ StripeBillingPortalEntities = StripeBillingPortalEntities,
667
+ CheckoutSessionEntities extends
668
+ StripeCheckoutSessionEntities<StatusEnum> = StripeCheckoutSessionEntities<StatusEnum>,
669
+ PaymentLinkEntities extends
670
+ StripePaymentLinkEntities<StatusEnum> = StripePaymentLinkEntities<StatusEnum>,
671
+ PlanEntities extends StripePlanEntities = StripePlanEntities,
672
+ SubscriptionEntities extends
673
+ StripeSubscriptionEntities<PartyEnum> = StripeSubscriptionEntities<PartyEnum>
674
+ > {
675
+ protected readonly stripeClient: Stripe__default;
676
+ protected readonly em: EntityManager;
677
+ protected readonly schemaValidator: SchemaValidator;
678
+ protected readonly openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>;
679
+ protected readonly billingPortalService: StripeBillingPortalService<
680
+ SchemaValidator,
681
+ BillingPortalEntities
682
+ >;
683
+ protected readonly checkoutSessionService: StripeCheckoutSessionService<
684
+ SchemaValidator,
685
+ StatusEnum,
686
+ CheckoutSessionEntities
687
+ >;
688
+ protected readonly paymentLinkService: StripePaymentLinkService<
689
+ SchemaValidator,
690
+ StatusEnum,
691
+ PaymentLinkEntities
692
+ >;
693
+ protected readonly planService: StripePlanService<
694
+ SchemaValidator,
695
+ PlanEntities
696
+ >;
697
+ protected readonly subscriptionService: StripeSubscriptionService<
698
+ SchemaValidator,
699
+ PartyEnum,
700
+ SubscriptionEntities
701
+ >;
702
+ constructor(
703
+ stripeClient: Stripe__default,
704
+ em: EntityManager,
705
+ schemaValidator: SchemaValidator,
706
+ openTelemetryCollector: OpenTelemetryCollector<MetricsDefinition>,
707
+ billingPortalService: StripeBillingPortalService<
708
+ SchemaValidator,
709
+ BillingPortalEntities
710
+ >,
711
+ checkoutSessionService: StripeCheckoutSessionService<
712
+ SchemaValidator,
713
+ StatusEnum,
714
+ CheckoutSessionEntities
715
+ >,
716
+ paymentLinkService: StripePaymentLinkService<
717
+ SchemaValidator,
718
+ StatusEnum,
719
+ PaymentLinkEntities
720
+ >,
721
+ planService: StripePlanService<SchemaValidator, PlanEntities>,
722
+ subscriptionService: StripeSubscriptionService<
723
+ SchemaValidator,
724
+ PartyEnum,
725
+ SubscriptionEntities
726
+ >
727
+ );
728
+ handleWebhookEvent(event: Stripe__default.Event): Promise<void>;
221
729
  }
222
730
 
223
- export { StripeBillingPortalService, StripeCheckoutSessionService, StripePaymentLinkService, StripePlanService, StripeSubscriptionService, StripeWebhookService };
731
+ export {
732
+ StripeBillingPortalService,
733
+ StripeCheckoutSessionService,
734
+ StripePaymentLinkService,
735
+ StripePlanService,
736
+ StripeSubscriptionService,
737
+ StripeWebhookService
738
+ };