@forklaunch/implementation-billing-base 0.1.17 → 0.2.0
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.
- package/lib/eject/domain/schemas/billingPortal.schema.ts +7 -1
- package/lib/eject/services/billingPortal.service.ts +13 -13
- package/lib/eject/services/checkoutSession.service.ts +11 -11
- package/lib/eject/services/paymentLink.service.ts +15 -19
- package/lib/eject/services/plan.service.ts +22 -20
- package/lib/eject/services/subscription.service.ts +28 -24
- package/lib/services/billingPortal.service.d.ts +6 -6
- package/lib/services/billingPortal.service.d.ts.map +1 -1
- package/lib/services/billingPortal.service.js +10 -10
- package/lib/services/checkoutSession.service.d.ts +6 -6
- package/lib/services/checkoutSession.service.d.ts.map +1 -1
- package/lib/services/checkoutSession.service.js +8 -8
- package/lib/services/paymentLink.service.d.ts +6 -6
- package/lib/services/paymentLink.service.d.ts.map +1 -1
- package/lib/services/paymentLink.service.js +12 -16
- package/lib/services/plan.service.d.ts +6 -6
- package/lib/services/plan.service.d.ts.map +1 -1
- package/lib/services/plan.service.js +17 -15
- package/lib/services/subscription.service.d.ts +6 -6
- package/lib/services/subscription.service.d.ts.map +1 -1
- package/lib/services/subscription.service.js +24 -18
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkoutSession.service.d.ts","sourceRoot":"","sources":["../../services/checkoutSession.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAsB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAkB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"checkoutSession.service.d.ts","sourceRoot":"","sources":["../../services/checkoutSession.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,19 +4,19 @@ export class BaseCheckoutSessionService {
|
|
|
4
4
|
cache;
|
|
5
5
|
openTelemetryCollector;
|
|
6
6
|
schemaValidator;
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
constructor(cache, openTelemetryCollector, schemaValidator,
|
|
7
|
+
mappers;
|
|
8
|
+
#mappers;
|
|
9
|
+
constructor(cache, openTelemetryCollector, schemaValidator, mappers) {
|
|
10
10
|
this.cache = cache;
|
|
11
11
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
12
12
|
this.schemaValidator = schemaValidator;
|
|
13
|
-
this.
|
|
14
|
-
this.#
|
|
13
|
+
this.mappers = mappers;
|
|
14
|
+
this.#mappers = transformIntoInternalDtoMapper(mappers, schemaValidator);
|
|
15
15
|
}
|
|
16
16
|
createCacheKey = createCacheKey('checkout_session');
|
|
17
17
|
async createCheckoutSession(checkoutSessionDto) {
|
|
18
18
|
const checkoutSession =
|
|
19
|
-
this.#
|
|
19
|
+
await this.#mappers.CreateCheckoutSessionDtoMapper.deserializeDtoToEntity(
|
|
20
20
|
checkoutSessionDto
|
|
21
21
|
);
|
|
22
22
|
// Store the checkoutSession details in the cache
|
|
@@ -25,7 +25,7 @@ export class BaseCheckoutSessionService {
|
|
|
25
25
|
value: checkoutSession,
|
|
26
26
|
ttlMilliseconds: this.cache.getTtlMilliseconds()
|
|
27
27
|
});
|
|
28
|
-
return this.#
|
|
28
|
+
return this.#mappers.CheckoutSessionDtoMapper.serializeEntityToDto(
|
|
29
29
|
checkoutSession
|
|
30
30
|
);
|
|
31
31
|
}
|
|
@@ -36,7 +36,7 @@ export class BaseCheckoutSessionService {
|
|
|
36
36
|
if (!checkoutSessionDetails) {
|
|
37
37
|
throw new Error('Session not found');
|
|
38
38
|
}
|
|
39
|
-
return this.#
|
|
39
|
+
return this.#mappers.CheckoutSessionDtoMapper.serializeEntityToDto(
|
|
40
40
|
checkoutSessionDetails.value
|
|
41
41
|
);
|
|
42
42
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { IdDto, IdsDto } from '@forklaunch/common';
|
|
2
2
|
import { TtlCache } from '@forklaunch/core/cache';
|
|
3
|
-
import {
|
|
4
|
-
RequestDtoMapperConstructor,
|
|
5
|
-
ResponseDtoMapperConstructor
|
|
6
|
-
} from '@forklaunch/core/mappers';
|
|
7
3
|
import {
|
|
8
4
|
MetricsDefinition,
|
|
9
5
|
OpenTelemetryCollector
|
|
10
6
|
} from '@forklaunch/core/http';
|
|
7
|
+
import {
|
|
8
|
+
RequestDtoMapperConstructor,
|
|
9
|
+
ResponseDtoMapperConstructor
|
|
10
|
+
} from '@forklaunch/core/mappers';
|
|
11
11
|
import { PaymentLinkService } from '@forklaunch/interfaces-billing/interfaces';
|
|
12
12
|
import {
|
|
13
13
|
CreatePaymentLinkDto,
|
|
@@ -43,7 +43,7 @@ export declare class BasePaymentLinkService<
|
|
|
43
43
|
protected readonly cache: TtlCache;
|
|
44
44
|
protected readonly openTelemetryCollector: OpenTelemetryCollector<Metrics>;
|
|
45
45
|
protected readonly schemaValidator: SchemaValidator;
|
|
46
|
-
protected readonly
|
|
46
|
+
protected readonly mappers: {
|
|
47
47
|
PaymentLinkDtoMapper: ResponseDtoMapperConstructor<
|
|
48
48
|
SchemaValidator,
|
|
49
49
|
Dto['PaymentLinkDtoMapper'],
|
|
@@ -64,7 +64,7 @@ export declare class BasePaymentLinkService<
|
|
|
64
64
|
cache: TtlCache,
|
|
65
65
|
openTelemetryCollector: OpenTelemetryCollector<Metrics>,
|
|
66
66
|
schemaValidator: SchemaValidator,
|
|
67
|
-
|
|
67
|
+
mappers: {
|
|
68
68
|
PaymentLinkDtoMapper: ResponseDtoMapperConstructor<
|
|
69
69
|
SchemaValidator,
|
|
70
70
|
Dto['PaymentLinkDtoMapper'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentLink.service.d.ts","sourceRoot":"","sources":["../../services/paymentLink.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAkB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"paymentLink.service.d.ts","sourceRoot":"","sources":["../../services/paymentLink.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,21 @@ export class BasePaymentLinkService {
|
|
|
4
4
|
cache;
|
|
5
5
|
openTelemetryCollector;
|
|
6
6
|
schemaValidator;
|
|
7
|
-
|
|
8
|
-
#
|
|
9
|
-
constructor(cache, openTelemetryCollector, schemaValidator,
|
|
7
|
+
mappers;
|
|
8
|
+
#mappers;
|
|
9
|
+
constructor(cache, openTelemetryCollector, schemaValidator, mappers) {
|
|
10
10
|
this.cache = cache;
|
|
11
11
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
12
12
|
this.schemaValidator = schemaValidator;
|
|
13
|
-
this.
|
|
14
|
-
this.#
|
|
13
|
+
this.mappers = mappers;
|
|
14
|
+
this.#mappers = transformIntoInternalDtoMapper(mappers, schemaValidator);
|
|
15
15
|
}
|
|
16
16
|
cacheKeyPrefix = 'payment_link';
|
|
17
17
|
createCacheKey = createCacheKey(this.cacheKeyPrefix);
|
|
18
18
|
async createPaymentLink(paymentLinkDto) {
|
|
19
19
|
// TODO: Perform permission checks here
|
|
20
20
|
const paymentLink =
|
|
21
|
-
this.#
|
|
21
|
+
await this.#mappers.CreatePaymentLinkDtoMapper.deserializeDtoToEntity(
|
|
22
22
|
paymentLinkDto
|
|
23
23
|
);
|
|
24
24
|
await this.cache.putRecord({
|
|
@@ -26,9 +26,7 @@ export class BasePaymentLinkService {
|
|
|
26
26
|
value: paymentLink,
|
|
27
27
|
ttlMilliseconds: this.cache.getTtlMilliseconds()
|
|
28
28
|
});
|
|
29
|
-
return this.#
|
|
30
|
-
paymentLink
|
|
31
|
-
);
|
|
29
|
+
return this.#mappers.PaymentLinkDtoMapper.serializeEntityToDto(paymentLink);
|
|
32
30
|
}
|
|
33
31
|
async updatePaymentLink(paymentLinkDto) {
|
|
34
32
|
const cacheKey = this.createCacheKey(paymentLinkDto.id);
|
|
@@ -37,7 +35,7 @@ export class BasePaymentLinkService {
|
|
|
37
35
|
throw new Error('Payment link not found');
|
|
38
36
|
}
|
|
39
37
|
const paymentLink =
|
|
40
|
-
this.#
|
|
38
|
+
await this.#mappers.UpdatePaymentLinkDtoMapper.deserializeDtoToEntity(
|
|
41
39
|
paymentLinkDto
|
|
42
40
|
);
|
|
43
41
|
const updatedLink = { ...existingLink, ...paymentLink };
|
|
@@ -46,9 +44,7 @@ export class BasePaymentLinkService {
|
|
|
46
44
|
value: updatedLink,
|
|
47
45
|
ttlMilliseconds: this.cache.getTtlMilliseconds()
|
|
48
46
|
});
|
|
49
|
-
return this.#
|
|
50
|
-
updatedLink
|
|
51
|
-
);
|
|
47
|
+
return this.#mappers.PaymentLinkDtoMapper.serializeEntityToDto(updatedLink);
|
|
52
48
|
}
|
|
53
49
|
async getPaymentLink({ id }) {
|
|
54
50
|
const cacheKey = this.createCacheKey(id);
|
|
@@ -56,7 +52,7 @@ export class BasePaymentLinkService {
|
|
|
56
52
|
if (!paymentLink) {
|
|
57
53
|
throw new Error('Payment link not found');
|
|
58
54
|
}
|
|
59
|
-
return this.#
|
|
55
|
+
return this.#mappers.PaymentLinkDtoMapper.serializeEntityToDto(
|
|
60
56
|
paymentLink.value
|
|
61
57
|
);
|
|
62
58
|
}
|
|
@@ -76,11 +72,11 @@ export class BasePaymentLinkService {
|
|
|
76
72
|
const keys =
|
|
77
73
|
idsDto?.ids.map((id) => this.createCacheKey(id)) ??
|
|
78
74
|
(await this.cache.listKeys(this.cacheKeyPrefix));
|
|
79
|
-
return
|
|
75
|
+
return Promise.all(
|
|
80
76
|
keys.map(async (key) => {
|
|
81
77
|
const paymentLink = await this.cache.readRecord(key);
|
|
82
78
|
const paymentLinkDto =
|
|
83
|
-
this.#
|
|
79
|
+
this.#mappers.PaymentLinkDtoMapper.serializeEntityToDto(
|
|
84
80
|
paymentLink.value
|
|
85
81
|
);
|
|
86
82
|
return paymentLinkDto;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IdDto, IdsDto } from '@forklaunch/common';
|
|
2
|
-
import {
|
|
3
|
-
RequestDtoMapperConstructor,
|
|
4
|
-
ResponseDtoMapperConstructor
|
|
5
|
-
} from '@forklaunch/core/mappers';
|
|
6
2
|
import {
|
|
7
3
|
MetricsDefinition,
|
|
8
4
|
OpenTelemetryCollector
|
|
9
5
|
} from '@forklaunch/core/http';
|
|
6
|
+
import {
|
|
7
|
+
RequestDtoMapperConstructor,
|
|
8
|
+
ResponseDtoMapperConstructor
|
|
9
|
+
} from '@forklaunch/core/mappers';
|
|
10
10
|
import { PlanService } from '@forklaunch/interfaces-billing/interfaces';
|
|
11
11
|
import {
|
|
12
12
|
CreatePlanDto,
|
|
@@ -44,12 +44,12 @@ export declare class BasePlanService<
|
|
|
44
44
|
private em;
|
|
45
45
|
private readonly openTelemetryCollector;
|
|
46
46
|
private readonly schemaValidator;
|
|
47
|
-
private readonly
|
|
47
|
+
private readonly mappers;
|
|
48
48
|
constructor(
|
|
49
49
|
em: EntityManager,
|
|
50
50
|
openTelemetryCollector: OpenTelemetryCollector<Metrics>,
|
|
51
51
|
schemaValidator: SchemaValidator,
|
|
52
|
-
|
|
52
|
+
mappers: {
|
|
53
53
|
PlanDtoMapper: ResponseDtoMapperConstructor<
|
|
54
54
|
SchemaValidator,
|
|
55
55
|
Dto['PlanDtoMapper'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.service.d.ts","sourceRoot":"","sources":["../../services/plan.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"plan.service.d.ts","sourceRoot":"","sources":["../../services/plan.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,43 +3,45 @@ export class BasePlanService {
|
|
|
3
3
|
em;
|
|
4
4
|
openTelemetryCollector;
|
|
5
5
|
schemaValidator;
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
constructor(em, openTelemetryCollector, schemaValidator,
|
|
6
|
+
mappers;
|
|
7
|
+
#mappers;
|
|
8
|
+
constructor(em, openTelemetryCollector, schemaValidator, mappers) {
|
|
9
9
|
this.em = em;
|
|
10
10
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
11
11
|
this.schemaValidator = schemaValidator;
|
|
12
|
-
this.
|
|
13
|
-
this.#
|
|
12
|
+
this.mappers = mappers;
|
|
13
|
+
this.#mappers = transformIntoInternalDtoMapper(mappers, schemaValidator);
|
|
14
14
|
}
|
|
15
15
|
async listPlans(idsDto, em) {
|
|
16
|
-
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
return Promise.all(
|
|
17
|
+
(
|
|
18
|
+
await (em ?? this.em).findAll('Plan', {
|
|
19
|
+
filters: idsDto?.ids ? { id: { $in: idsDto.ids } } : undefined
|
|
20
|
+
})
|
|
21
|
+
).map((plan) => this.#mappers.PlanDtoMapper.serializeEntityToDto(plan))
|
|
22
|
+
);
|
|
21
23
|
}
|
|
22
24
|
async createPlan(planDto, em) {
|
|
23
25
|
const plan =
|
|
24
|
-
this.#
|
|
26
|
+
await this.#mappers.CreatePlanDtoMapper.deserializeDtoToEntity(planDto);
|
|
25
27
|
await (em ?? this.em).transactional(async (innerEm) => {
|
|
26
28
|
await innerEm.persist(plan);
|
|
27
29
|
});
|
|
28
|
-
return this.#
|
|
30
|
+
return this.#mappers.PlanDtoMapper.serializeEntityToDto(plan);
|
|
29
31
|
}
|
|
30
32
|
async getPlan(idDto, em) {
|
|
31
33
|
const plan = await (em ?? this.em).findOneOrFail('Plan', idDto);
|
|
32
|
-
return this.#
|
|
34
|
+
return this.#mappers.PlanDtoMapper.serializeEntityToDto(plan);
|
|
33
35
|
}
|
|
34
36
|
async updatePlan(planDto, em) {
|
|
35
37
|
const plan =
|
|
36
|
-
this.#
|
|
38
|
+
await this.#mappers.UpdatePlanDtoMapper.deserializeDtoToEntity(planDto);
|
|
37
39
|
const updatedPlan = await (em ?? this.em).upsert(plan);
|
|
38
40
|
await (em ?? this.em).transactional(async (innerEm) => {
|
|
39
41
|
await innerEm.persist(plan);
|
|
40
42
|
});
|
|
41
43
|
const updatedPlanDto =
|
|
42
|
-
this.#
|
|
44
|
+
await this.#mappers.PlanDtoMapper.serializeEntityToDto(updatedPlan);
|
|
43
45
|
return updatedPlanDto;
|
|
44
46
|
}
|
|
45
47
|
async deletePlan(idDto, em) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IdDto } from '@forklaunch/common';
|
|
2
|
-
import {
|
|
3
|
-
RequestDtoMapperConstructor,
|
|
4
|
-
ResponseDtoMapperConstructor
|
|
5
|
-
} from '@forklaunch/core/mappers';
|
|
6
2
|
import {
|
|
7
3
|
MetricsDefinition,
|
|
8
4
|
OpenTelemetryCollector
|
|
9
5
|
} from '@forklaunch/core/http';
|
|
6
|
+
import {
|
|
7
|
+
RequestDtoMapperConstructor,
|
|
8
|
+
ResponseDtoMapperConstructor
|
|
9
|
+
} from '@forklaunch/core/mappers';
|
|
10
10
|
import { SubscriptionService } from '@forklaunch/interfaces-billing/interfaces';
|
|
11
11
|
import {
|
|
12
12
|
CreateSubscriptionDto,
|
|
@@ -68,7 +68,7 @@ export declare class BaseSubscriptionService<
|
|
|
68
68
|
protected em: EntityManager;
|
|
69
69
|
protected readonly openTelemetryCollector: OpenTelemetryCollector<Metrics>;
|
|
70
70
|
protected readonly schemaValidator: SchemaValidator;
|
|
71
|
-
protected readonly
|
|
71
|
+
protected readonly mappers: {
|
|
72
72
|
SubscriptionDtoMapper: ResponseDtoMapperConstructor<
|
|
73
73
|
SchemaValidator,
|
|
74
74
|
Dto['SubscriptionDtoMapper'],
|
|
@@ -89,7 +89,7 @@ export declare class BaseSubscriptionService<
|
|
|
89
89
|
em: EntityManager,
|
|
90
90
|
openTelemetryCollector: OpenTelemetryCollector<Metrics>,
|
|
91
91
|
schemaValidator: SchemaValidator,
|
|
92
|
-
|
|
92
|
+
mappers: {
|
|
93
93
|
SubscriptionDtoMapper: ResponseDtoMapperConstructor<
|
|
94
94
|
SchemaValidator,
|
|
95
95
|
Dto['SubscriptionDtoMapper'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.service.d.ts","sourceRoot":"","sources":["../../services/subscription.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAsB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"subscription.service.d.ts","sourceRoot":"","sources":["../../services/subscription.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,28 +3,30 @@ export class BaseSubscriptionService {
|
|
|
3
3
|
em;
|
|
4
4
|
openTelemetryCollector;
|
|
5
5
|
schemaValidator;
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
constructor(em, openTelemetryCollector, schemaValidator,
|
|
6
|
+
mappers;
|
|
7
|
+
#mappers;
|
|
8
|
+
constructor(em, openTelemetryCollector, schemaValidator, mappers) {
|
|
9
9
|
this.em = em;
|
|
10
10
|
this.openTelemetryCollector = openTelemetryCollector;
|
|
11
11
|
this.schemaValidator = schemaValidator;
|
|
12
|
-
this.
|
|
13
|
-
this.#
|
|
14
|
-
|
|
12
|
+
this.mappers = mappers;
|
|
13
|
+
this.#mappers = transformIntoInternalDtoMapper(
|
|
14
|
+
mappers,
|
|
15
15
|
this.schemaValidator
|
|
16
16
|
);
|
|
17
17
|
}
|
|
18
18
|
async createSubscription(subscriptionDto, em) {
|
|
19
19
|
const subscription =
|
|
20
|
-
this.#
|
|
20
|
+
await this.#mappers.CreateSubscriptionDtoMapper.deserializeDtoToEntity(
|
|
21
21
|
subscriptionDto
|
|
22
22
|
);
|
|
23
23
|
await (em ?? this.em).transactional(async (innerEm) => {
|
|
24
24
|
await innerEm.persist(subscription);
|
|
25
25
|
});
|
|
26
26
|
const createdSubscriptionDto =
|
|
27
|
-
this.#
|
|
27
|
+
await this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
28
|
+
subscription
|
|
29
|
+
);
|
|
28
30
|
return createdSubscriptionDto;
|
|
29
31
|
}
|
|
30
32
|
async getSubscription(idDto, em) {
|
|
@@ -32,7 +34,7 @@ export class BaseSubscriptionService {
|
|
|
32
34
|
'Subscription',
|
|
33
35
|
idDto
|
|
34
36
|
);
|
|
35
|
-
return this.#
|
|
37
|
+
return this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
36
38
|
subscription
|
|
37
39
|
);
|
|
38
40
|
}
|
|
@@ -42,7 +44,7 @@ export class BaseSubscriptionService {
|
|
|
42
44
|
partyType: 'USER',
|
|
43
45
|
active: true
|
|
44
46
|
});
|
|
45
|
-
return this.#
|
|
47
|
+
return this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
46
48
|
subscription
|
|
47
49
|
);
|
|
48
50
|
}
|
|
@@ -52,13 +54,13 @@ export class BaseSubscriptionService {
|
|
|
52
54
|
partyType: 'ORGANIZATION',
|
|
53
55
|
active: true
|
|
54
56
|
});
|
|
55
|
-
return this.#
|
|
57
|
+
return this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
56
58
|
subscription
|
|
57
59
|
);
|
|
58
60
|
}
|
|
59
61
|
async updateSubscription(subscriptionDto, em) {
|
|
60
62
|
const subscription =
|
|
61
|
-
this.#
|
|
63
|
+
this.#mappers.UpdateSubscriptionDtoMapper.deserializeDtoToEntity(
|
|
62
64
|
subscriptionDto
|
|
63
65
|
);
|
|
64
66
|
const updatedSubscription = await (em ?? this.em).upsert(subscription);
|
|
@@ -66,7 +68,7 @@ export class BaseSubscriptionService {
|
|
|
66
68
|
await innerEm.persist(updatedSubscription);
|
|
67
69
|
});
|
|
68
70
|
const updatedSubscriptionDto =
|
|
69
|
-
this.#
|
|
71
|
+
await this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
70
72
|
updatedSubscription
|
|
71
73
|
);
|
|
72
74
|
return updatedSubscriptionDto;
|
|
@@ -88,11 +90,15 @@ export class BaseSubscriptionService {
|
|
|
88
90
|
}
|
|
89
91
|
: undefined
|
|
90
92
|
});
|
|
91
|
-
return
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
return Promise.all(
|
|
94
|
+
subscriptions.map((subscription) => {
|
|
95
|
+
const subscriptionDto =
|
|
96
|
+
this.#mappers.SubscriptionDtoMapper.serializeEntityToDto(
|
|
97
|
+
subscription
|
|
98
|
+
);
|
|
99
|
+
return subscriptionDto;
|
|
100
|
+
})
|
|
101
|
+
);
|
|
96
102
|
}
|
|
97
103
|
async cancelSubscription(idDto, em) {
|
|
98
104
|
const subscription = await (em ?? this.em).findOne('Subscription', idDto);
|