@forklaunch/implementation-billing-base 0.5.8 → 0.6.1

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.
@@ -0,0 +1,116 @@
1
+ import { BillingPortalDto, CreateBillingPortalDto, UpdateBillingPortalDto, CheckoutSessionDto, CreateCheckoutSessionDto, UpdateCheckoutSessionDto, PaymentLinkDto, CreatePaymentLinkDto, UpdatePaymentLinkDto, PlanDto, CreatePlanDto, UpdatePlanDto, SubscriptionDto, CreateSubscriptionDto, UpdateSubscriptionDto } from '@forklaunch/interfaces-billing/types';
2
+ import { EntityManager } from '@mikro-orm/core';
3
+
4
+ type BaseBillingDtos = {
5
+ BillingPortalMapper: BillingPortalDto;
6
+ CreateBillingPortalMapper: CreateBillingPortalDto;
7
+ UpdateBillingPortalMapper: UpdateBillingPortalDto;
8
+ };
9
+ type BaseCheckoutSessionDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
10
+ CheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
11
+ CreateCheckoutSessionMapper: CreateCheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
12
+ UpdateCheckoutSessionMapper: UpdateCheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
13
+ };
14
+ type BasePaymentLinkDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
15
+ PaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
16
+ CreatePaymentLinkMapper: CreatePaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
17
+ UpdatePaymentLinkMapper: UpdatePaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
18
+ };
19
+ type BasePlanDtos<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum> = {
20
+ PlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
21
+ CreatePlanMapper: CreatePlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
22
+ UpdatePlanMapper: UpdatePlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
23
+ };
24
+ type BaseSubscriptionDtos<PartyType, BillingProviderType> = {
25
+ SubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
26
+ CreateSubscriptionMapper: CreateSubscriptionDto<PartyType, BillingProviderType>;
27
+ UpdateSubscriptionMapper: UpdateSubscriptionDto<PartyType, BillingProviderType>;
28
+ };
29
+
30
+ type BaseBillingEntities = {
31
+ BillingPortalMapper: BillingPortalDto;
32
+ CreateBillingPortalMapper: BillingPortalDto;
33
+ UpdateBillingPortalMapper: BillingPortalDto;
34
+ };
35
+ type BaseCheckoutSessionEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
36
+ CheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
37
+ CreateCheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
38
+ UpdateCheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
39
+ };
40
+ type BasePaymentLinkEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
41
+ PaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
42
+ CreatePaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
43
+ UpdatePaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
44
+ };
45
+ type BasePlanEntities<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum> = {
46
+ PlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
47
+ CreatePlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
48
+ UpdatePlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
49
+ };
50
+ type BaseSubscriptionEntities<PartyType, BillingProviderType> = {
51
+ SubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
52
+ CreateSubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
53
+ UpdateSubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
54
+ };
55
+
56
+ type BillingPortalMappers<MapperEntities extends BaseBillingEntities, MapperDomains extends BaseBillingDtos> = {
57
+ BillingPortalMapper: {
58
+ toDto: (entity: MapperEntities['BillingPortalMapper']) => Promise<MapperDomains['BillingPortalMapper']>;
59
+ };
60
+ CreateBillingPortalMapper: {
61
+ toEntity: (dto: MapperDomains['CreateBillingPortalMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateBillingPortalMapper']>;
62
+ };
63
+ UpdateBillingPortalMapper: {
64
+ toEntity: (dto: MapperDomains['UpdateBillingPortalMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateBillingPortalMapper']>;
65
+ };
66
+ };
67
+
68
+ type CheckoutSessionMappers<PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities extends BaseCheckoutSessionEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum>, MapperDomains extends BaseCheckoutSessionDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum>> = {
69
+ CheckoutSessionMapper: {
70
+ toDto: (entity: MapperEntities['CheckoutSessionMapper']) => Promise<MapperDomains['CheckoutSessionMapper']>;
71
+ };
72
+ CreateCheckoutSessionMapper: {
73
+ toEntity: (dto: MapperDomains['CreateCheckoutSessionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateCheckoutSessionMapper']>;
74
+ };
75
+ UpdateCheckoutSessionMapper: {
76
+ toEntity: (dto: MapperDomains['UpdateCheckoutSessionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateCheckoutSessionMapper']>;
77
+ };
78
+ };
79
+
80
+ type PaymentLinkMappers<PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities extends BasePaymentLinkEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum>, MapperDomains extends BasePaymentLinkDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum>> = {
81
+ PaymentLinkMapper: {
82
+ toDto: (entity: MapperEntities['PaymentLinkMapper']) => Promise<MapperDomains['PaymentLinkMapper']>;
83
+ };
84
+ CreatePaymentLinkMapper: {
85
+ toEntity: (dto: MapperDomains['CreatePaymentLinkMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreatePaymentLinkMapper']>;
86
+ };
87
+ UpdatePaymentLinkMapper: {
88
+ toEntity: (dto: MapperDomains['UpdatePaymentLinkMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdatePaymentLinkMapper']>;
89
+ };
90
+ };
91
+
92
+ type PlanMappers<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum, MapperEntities extends BasePlanEntities<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>, MapperDomains extends BasePlanDtos<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>> = {
93
+ PlanMapper: {
94
+ toDto: (entity: MapperEntities['PlanMapper']) => Promise<MapperDomains['PlanMapper']>;
95
+ };
96
+ CreatePlanMapper: {
97
+ toEntity: (dto: MapperDomains['CreatePlanMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreatePlanMapper']>;
98
+ };
99
+ UpdatePlanMapper: {
100
+ toEntity: (dto: MapperDomains['UpdatePlanMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdatePlanMapper']>;
101
+ };
102
+ };
103
+
104
+ type SubscriptionMappers<PartyType, BillingProviderType, MapperEntities extends BaseSubscriptionEntities<PartyType, BillingProviderType>, MapperDomains extends BaseSubscriptionDtos<PartyType, BillingProviderType>> = {
105
+ SubscriptionMapper: {
106
+ toDto: (entity: MapperEntities['SubscriptionMapper']) => Promise<MapperDomains['SubscriptionMapper']>;
107
+ };
108
+ CreateSubscriptionMapper: {
109
+ toEntity: (dto: MapperDomains['CreateSubscriptionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateSubscriptionMapper']>;
110
+ };
111
+ UpdateSubscriptionMapper: {
112
+ toEntity: (dto: MapperDomains['UpdateSubscriptionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateSubscriptionMapper']>;
113
+ };
114
+ };
115
+
116
+ export type { BaseBillingDtos, BaseBillingEntities, BaseCheckoutSessionDtos, BaseCheckoutSessionEntities, BasePaymentLinkDtos, BasePaymentLinkEntities, BasePlanDtos, BasePlanEntities, BaseSubscriptionDtos, BaseSubscriptionEntities, BillingPortalMappers, CheckoutSessionMappers, PaymentLinkMappers, PlanMappers, SubscriptionMappers };
@@ -0,0 +1,116 @@
1
+ import { BillingPortalDto, CreateBillingPortalDto, UpdateBillingPortalDto, CheckoutSessionDto, CreateCheckoutSessionDto, UpdateCheckoutSessionDto, PaymentLinkDto, CreatePaymentLinkDto, UpdatePaymentLinkDto, PlanDto, CreatePlanDto, UpdatePlanDto, SubscriptionDto, CreateSubscriptionDto, UpdateSubscriptionDto } from '@forklaunch/interfaces-billing/types';
2
+ import { EntityManager } from '@mikro-orm/core';
3
+
4
+ type BaseBillingDtos = {
5
+ BillingPortalMapper: BillingPortalDto;
6
+ CreateBillingPortalMapper: CreateBillingPortalDto;
7
+ UpdateBillingPortalMapper: UpdateBillingPortalDto;
8
+ };
9
+ type BaseCheckoutSessionDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
10
+ CheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
11
+ CreateCheckoutSessionMapper: CreateCheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
12
+ UpdateCheckoutSessionMapper: UpdateCheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
13
+ };
14
+ type BasePaymentLinkDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
15
+ PaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
16
+ CreatePaymentLinkMapper: CreatePaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
17
+ UpdatePaymentLinkMapper: UpdatePaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
18
+ };
19
+ type BasePlanDtos<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum> = {
20
+ PlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
21
+ CreatePlanMapper: CreatePlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
22
+ UpdatePlanMapper: UpdatePlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
23
+ };
24
+ type BaseSubscriptionDtos<PartyType, BillingProviderType> = {
25
+ SubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
26
+ CreateSubscriptionMapper: CreateSubscriptionDto<PartyType, BillingProviderType>;
27
+ UpdateSubscriptionMapper: UpdateSubscriptionDto<PartyType, BillingProviderType>;
28
+ };
29
+
30
+ type BaseBillingEntities = {
31
+ BillingPortalMapper: BillingPortalDto;
32
+ CreateBillingPortalMapper: BillingPortalDto;
33
+ UpdateBillingPortalMapper: BillingPortalDto;
34
+ };
35
+ type BaseCheckoutSessionEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
36
+ CheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
37
+ CreateCheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
38
+ UpdateCheckoutSessionMapper: CheckoutSessionDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
39
+ };
40
+ type BasePaymentLinkEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum> = {
41
+ PaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
42
+ CreatePaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
43
+ UpdatePaymentLinkMapper: PaymentLinkDto<PaymentMethodEnum, CurrencyEnum, StatusEnum>;
44
+ };
45
+ type BasePlanEntities<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum> = {
46
+ PlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
47
+ CreatePlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
48
+ UpdatePlanMapper: PlanDto<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>;
49
+ };
50
+ type BaseSubscriptionEntities<PartyType, BillingProviderType> = {
51
+ SubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
52
+ CreateSubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
53
+ UpdateSubscriptionMapper: SubscriptionDto<PartyType, BillingProviderType>;
54
+ };
55
+
56
+ type BillingPortalMappers<MapperEntities extends BaseBillingEntities, MapperDomains extends BaseBillingDtos> = {
57
+ BillingPortalMapper: {
58
+ toDto: (entity: MapperEntities['BillingPortalMapper']) => Promise<MapperDomains['BillingPortalMapper']>;
59
+ };
60
+ CreateBillingPortalMapper: {
61
+ toEntity: (dto: MapperDomains['CreateBillingPortalMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateBillingPortalMapper']>;
62
+ };
63
+ UpdateBillingPortalMapper: {
64
+ toEntity: (dto: MapperDomains['UpdateBillingPortalMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateBillingPortalMapper']>;
65
+ };
66
+ };
67
+
68
+ type CheckoutSessionMappers<PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities extends BaseCheckoutSessionEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum>, MapperDomains extends BaseCheckoutSessionDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum>> = {
69
+ CheckoutSessionMapper: {
70
+ toDto: (entity: MapperEntities['CheckoutSessionMapper']) => Promise<MapperDomains['CheckoutSessionMapper']>;
71
+ };
72
+ CreateCheckoutSessionMapper: {
73
+ toEntity: (dto: MapperDomains['CreateCheckoutSessionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateCheckoutSessionMapper']>;
74
+ };
75
+ UpdateCheckoutSessionMapper: {
76
+ toEntity: (dto: MapperDomains['UpdateCheckoutSessionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateCheckoutSessionMapper']>;
77
+ };
78
+ };
79
+
80
+ type PaymentLinkMappers<PaymentMethodEnum, CurrencyEnum, StatusEnum, MapperEntities extends BasePaymentLinkEntities<PaymentMethodEnum, CurrencyEnum, StatusEnum>, MapperDomains extends BasePaymentLinkDtos<PaymentMethodEnum, CurrencyEnum, StatusEnum>> = {
81
+ PaymentLinkMapper: {
82
+ toDto: (entity: MapperEntities['PaymentLinkMapper']) => Promise<MapperDomains['PaymentLinkMapper']>;
83
+ };
84
+ CreatePaymentLinkMapper: {
85
+ toEntity: (dto: MapperDomains['CreatePaymentLinkMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreatePaymentLinkMapper']>;
86
+ };
87
+ UpdatePaymentLinkMapper: {
88
+ toEntity: (dto: MapperDomains['UpdatePaymentLinkMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdatePaymentLinkMapper']>;
89
+ };
90
+ };
91
+
92
+ type PlanMappers<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum, MapperEntities extends BasePlanEntities<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>, MapperDomains extends BasePlanDtos<PlanCadenceEnum, CurrencyEnum, BillingProviderEnum>> = {
93
+ PlanMapper: {
94
+ toDto: (entity: MapperEntities['PlanMapper']) => Promise<MapperDomains['PlanMapper']>;
95
+ };
96
+ CreatePlanMapper: {
97
+ toEntity: (dto: MapperDomains['CreatePlanMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreatePlanMapper']>;
98
+ };
99
+ UpdatePlanMapper: {
100
+ toEntity: (dto: MapperDomains['UpdatePlanMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdatePlanMapper']>;
101
+ };
102
+ };
103
+
104
+ type SubscriptionMappers<PartyType, BillingProviderType, MapperEntities extends BaseSubscriptionEntities<PartyType, BillingProviderType>, MapperDomains extends BaseSubscriptionDtos<PartyType, BillingProviderType>> = {
105
+ SubscriptionMapper: {
106
+ toDto: (entity: MapperEntities['SubscriptionMapper']) => Promise<MapperDomains['SubscriptionMapper']>;
107
+ };
108
+ CreateSubscriptionMapper: {
109
+ toEntity: (dto: MapperDomains['CreateSubscriptionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['CreateSubscriptionMapper']>;
110
+ };
111
+ UpdateSubscriptionMapper: {
112
+ toEntity: (dto: MapperDomains['UpdateSubscriptionMapper'], em: EntityManager, ...args: unknown[]) => Promise<MapperEntities['UpdateSubscriptionMapper']>;
113
+ };
114
+ };
115
+
116
+ export type { BaseBillingDtos, BaseBillingEntities, BaseCheckoutSessionDtos, BaseCheckoutSessionEntities, BasePaymentLinkDtos, BasePaymentLinkEntities, BasePlanDtos, BasePlanEntities, BaseSubscriptionDtos, BaseSubscriptionEntities, BillingPortalMappers, CheckoutSessionMappers, PaymentLinkMappers, PlanMappers, SubscriptionMappers };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // domain/types/index.ts
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
File without changes
@@ -1,4 +1,10 @@
1
- import { date, optional, string, unknown, uuid } from '@{{app_name}}/core';
1
+ import {
2
+ date,
3
+ optional,
4
+ string,
5
+ unknown,
6
+ uuid
7
+ } from '@{{app_name}}/core';
2
8
 
3
9
  export const CreateBillingPortalSchema = {
4
10
  customerId: string,
@@ -0,0 +1,28 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { BaseBillingDtos } from './baseBillingDto.types';
3
+ import { BaseBillingEntities } from './baseBillingEntity.types';
4
+
5
+ export type BillingPortalMappers<
6
+ MapperEntities extends BaseBillingEntities,
7
+ MapperDomains extends BaseBillingDtos
8
+ > = {
9
+ BillingPortalMapper: {
10
+ toDto: (
11
+ entity: MapperEntities['BillingPortalMapper']
12
+ ) => Promise<MapperDomains['BillingPortalMapper']>;
13
+ };
14
+ CreateBillingPortalMapper: {
15
+ toEntity: (
16
+ dto: MapperDomains['CreateBillingPortalMapper'],
17
+ em: EntityManager,
18
+ ...args: unknown[]
19
+ ) => Promise<MapperEntities['CreateBillingPortalMapper']>;
20
+ };
21
+ UpdateBillingPortalMapper: {
22
+ toEntity: (
23
+ dto: MapperDomains['UpdateBillingPortalMapper'],
24
+ em: EntityManager,
25
+ ...args: unknown[]
26
+ ) => Promise<MapperEntities['UpdateBillingPortalMapper']>;
27
+ };
28
+ };
@@ -0,0 +1,39 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { BaseCheckoutSessionDtos } from './baseBillingDto.types';
3
+ import { BaseCheckoutSessionEntities } from './baseBillingEntity.types';
4
+
5
+ export type CheckoutSessionMappers<
6
+ PaymentMethodEnum,
7
+ CurrencyEnum,
8
+ StatusEnum,
9
+ MapperEntities extends BaseCheckoutSessionEntities<
10
+ PaymentMethodEnum,
11
+ CurrencyEnum,
12
+ StatusEnum
13
+ >,
14
+ MapperDomains extends BaseCheckoutSessionDtos<
15
+ PaymentMethodEnum,
16
+ CurrencyEnum,
17
+ StatusEnum
18
+ >
19
+ > = {
20
+ CheckoutSessionMapper: {
21
+ toDto: (
22
+ entity: MapperEntities['CheckoutSessionMapper']
23
+ ) => Promise<MapperDomains['CheckoutSessionMapper']>;
24
+ };
25
+ CreateCheckoutSessionMapper: {
26
+ toEntity: (
27
+ dto: MapperDomains['CreateCheckoutSessionMapper'],
28
+ em: EntityManager,
29
+ ...args: unknown[]
30
+ ) => Promise<MapperEntities['CreateCheckoutSessionMapper']>;
31
+ };
32
+ UpdateCheckoutSessionMapper: {
33
+ toEntity: (
34
+ dto: MapperDomains['UpdateCheckoutSessionMapper'],
35
+ em: EntityManager,
36
+ ...args: unknown[]
37
+ ) => Promise<MapperEntities['UpdateCheckoutSessionMapper']>;
38
+ };
39
+ };
@@ -0,0 +1,7 @@
1
+ export * from './baseBillingDto.types';
2
+ export * from './baseBillingEntity.types';
3
+ export * from './billingPortal.mapper.types';
4
+ export * from './checkoutSession.mapper.types';
5
+ export * from './paymentLink.mapper.types';
6
+ export * from './plan.mapper.types';
7
+ export * from './subscription.mapper.types';
@@ -0,0 +1,39 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { BasePaymentLinkDtos } from './baseBillingDto.types';
3
+ import { BasePaymentLinkEntities } from './baseBillingEntity.types';
4
+
5
+ export type PaymentLinkMappers<
6
+ PaymentMethodEnum,
7
+ CurrencyEnum,
8
+ StatusEnum,
9
+ MapperEntities extends BasePaymentLinkEntities<
10
+ PaymentMethodEnum,
11
+ CurrencyEnum,
12
+ StatusEnum
13
+ >,
14
+ MapperDomains extends BasePaymentLinkDtos<
15
+ PaymentMethodEnum,
16
+ CurrencyEnum,
17
+ StatusEnum
18
+ >
19
+ > = {
20
+ PaymentLinkMapper: {
21
+ toDto: (
22
+ entity: MapperEntities['PaymentLinkMapper']
23
+ ) => Promise<MapperDomains['PaymentLinkMapper']>;
24
+ };
25
+ CreatePaymentLinkMapper: {
26
+ toEntity: (
27
+ dto: MapperDomains['CreatePaymentLinkMapper'],
28
+ em: EntityManager,
29
+ ...args: unknown[]
30
+ ) => Promise<MapperEntities['CreatePaymentLinkMapper']>;
31
+ };
32
+ UpdatePaymentLinkMapper: {
33
+ toEntity: (
34
+ dto: MapperDomains['UpdatePaymentLinkMapper'],
35
+ em: EntityManager,
36
+ ...args: unknown[]
37
+ ) => Promise<MapperEntities['UpdatePaymentLinkMapper']>;
38
+ };
39
+ };
@@ -0,0 +1,39 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { BasePlanDtos } from './baseBillingDto.types';
3
+ import { BasePlanEntities } from './baseBillingEntity.types';
4
+
5
+ export type PlanMappers<
6
+ PlanCadenceEnum,
7
+ CurrencyEnum,
8
+ BillingProviderEnum,
9
+ MapperEntities extends BasePlanEntities<
10
+ PlanCadenceEnum,
11
+ CurrencyEnum,
12
+ BillingProviderEnum
13
+ >,
14
+ MapperDomains extends BasePlanDtos<
15
+ PlanCadenceEnum,
16
+ CurrencyEnum,
17
+ BillingProviderEnum
18
+ >
19
+ > = {
20
+ PlanMapper: {
21
+ toDto: (
22
+ entity: MapperEntities['PlanMapper']
23
+ ) => Promise<MapperDomains['PlanMapper']>;
24
+ };
25
+ CreatePlanMapper: {
26
+ toEntity: (
27
+ dto: MapperDomains['CreatePlanMapper'],
28
+ em: EntityManager,
29
+ ...args: unknown[]
30
+ ) => Promise<MapperEntities['CreatePlanMapper']>;
31
+ };
32
+ UpdatePlanMapper: {
33
+ toEntity: (
34
+ dto: MapperDomains['UpdatePlanMapper'],
35
+ em: EntityManager,
36
+ ...args: unknown[]
37
+ ) => Promise<MapperEntities['UpdatePlanMapper']>;
38
+ };
39
+ };
@@ -0,0 +1,33 @@
1
+ import { EntityManager } from '@mikro-orm/core';
2
+ import { BaseSubscriptionDtos } from './baseBillingDto.types';
3
+ import { BaseSubscriptionEntities } from './baseBillingEntity.types';
4
+
5
+ export type SubscriptionMappers<
6
+ PartyType,
7
+ BillingProviderType,
8
+ MapperEntities extends BaseSubscriptionEntities<
9
+ PartyType,
10
+ BillingProviderType
11
+ >,
12
+ MapperDomains extends BaseSubscriptionDtos<PartyType, BillingProviderType>
13
+ > = {
14
+ SubscriptionMapper: {
15
+ toDto: (
16
+ entity: MapperEntities['SubscriptionMapper']
17
+ ) => Promise<MapperDomains['SubscriptionMapper']>;
18
+ };
19
+ CreateSubscriptionMapper: {
20
+ toEntity: (
21
+ dto: MapperDomains['CreateSubscriptionMapper'],
22
+ em: EntityManager,
23
+ ...args: unknown[]
24
+ ) => Promise<MapperEntities['CreateSubscriptionMapper']>;
25
+ };
26
+ UpdateSubscriptionMapper: {
27
+ toEntity: (
28
+ dto: MapperDomains['UpdateSubscriptionMapper'],
29
+ em: EntityManager,
30
+ ...args: unknown[]
31
+ ) => Promise<MapperEntities['UpdateSubscriptionMapper']>;
32
+ };
33
+ };