@forklaunch/implementation-billing-base 0.1.2 → 0.1.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.
- package/lib/__test__/schemaEquality.test.d.ts +2 -0
- package/lib/__test__/schemaEquality.test.d.ts.map +1 -0
- package/lib/__test__/schemaEquality.test.js +226 -0
- package/{schemas/typebox → lib/eject/schemas/zod}/billingPortal.schema.ts +1 -1
- package/{schemas/typebox → lib/eject/schemas/zod}/checkoutSession.schema.ts +1 -2
- package/{schemas/typebox → lib/eject/schemas/zod}/paymentLink.schema.ts +1 -1
- package/{schemas/typebox → lib/eject/schemas/zod}/plan.schema.ts +1 -1
- package/{schemas/typebox → lib/eject/schemas/zod}/subscription.schema.ts +1 -1
- package/lib/eject/services/services/billingPortal.service.ts +148 -0
- package/lib/eject/services/services/checkoutSession.service.ts +135 -0
- package/lib/eject/services/services/paymentLink.service.ts +173 -0
- package/lib/eject/services/services/plan.service.ts +135 -0
- package/lib/eject/services/subscription.service.ts +239 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/jest.config.d.ts +4 -0
- package/lib/jest.config.d.ts.map +1 -0
- package/lib/jest.config.js +19 -0
- package/lib/schemas/billingPortal.schema.d.ts +42 -0
- package/lib/schemas/billingPortal.schema.d.ts.map +1 -0
- package/lib/schemas/billingPortal.schema.js +14 -0
- package/lib/schemas/checkoutSession.schema.d.ts +55 -0
- package/lib/schemas/checkoutSession.schema.d.ts.map +1 -0
- package/lib/schemas/checkoutSession.schema.js +14 -0
- package/lib/schemas/paymentLink.schema.d.ts +66 -0
- package/lib/schemas/paymentLink.schema.d.ts.map +1 -0
- package/lib/schemas/paymentLink.schema.js +14 -0
- package/lib/schemas/plan.schema.d.ts +78 -0
- package/lib/schemas/plan.schema.d.ts.map +1 -0
- package/lib/schemas/plan.schema.js +14 -0
- package/lib/schemas/subscription.schema.d.ts +90 -0
- package/lib/schemas/subscription.schema.d.ts.map +1 -0
- package/lib/schemas/subscription.schema.js +14 -0
- package/lib/schemas/typebox/billingPortal.schema.d.ts +20 -0
- package/lib/schemas/typebox/billingPortal.schema.d.ts.map +1 -0
- package/lib/schemas/typebox/billingPortal.schema.js +20 -0
- package/lib/schemas/typebox/checkoutSession.schema.d.ts +28 -0
- package/lib/schemas/typebox/checkoutSession.schema.d.ts.map +1 -0
- package/lib/schemas/typebox/checkoutSession.schema.js +27 -0
- package/lib/schemas/typebox/paymentLink.schema.d.ts +33 -0
- package/lib/schemas/typebox/paymentLink.schema.d.ts.map +1 -0
- package/lib/schemas/typebox/paymentLink.schema.js +32 -0
- package/lib/schemas/typebox/plan.schema.d.ts +39 -0
- package/lib/schemas/typebox/plan.schema.d.ts.map +1 -0
- package/lib/schemas/typebox/plan.schema.js +38 -0
- package/lib/schemas/typebox/subscription.schema.d.ts +45 -0
- package/lib/schemas/typebox/subscription.schema.d.ts.map +1 -0
- package/lib/schemas/typebox/subscription.schema.js +44 -0
- package/lib/schemas/zod/billingPortal.schema.d.ts +20 -0
- package/lib/schemas/zod/billingPortal.schema.d.ts.map +1 -0
- package/lib/schemas/zod/billingPortal.schema.js +20 -0
- package/lib/schemas/zod/checkoutSession.schema.d.ts +27 -0
- package/lib/schemas/zod/checkoutSession.schema.d.ts.map +1 -0
- package/lib/schemas/zod/checkoutSession.schema.js +26 -0
- package/lib/schemas/zod/paymentLink.schema.d.ts +33 -0
- package/lib/schemas/zod/paymentLink.schema.d.ts.map +1 -0
- package/lib/schemas/zod/paymentLink.schema.js +32 -0
- package/lib/schemas/zod/plan.schema.d.ts +39 -0
- package/lib/schemas/zod/plan.schema.d.ts.map +1 -0
- package/lib/schemas/zod/plan.schema.js +38 -0
- package/lib/schemas/zod/subscription.schema.d.ts +45 -0
- package/lib/schemas/zod/subscription.schema.d.ts.map +1 -0
- package/lib/schemas/zod/subscription.schema.js +44 -0
- package/lib/services/billingPortal.service.d.ts +44 -0
- package/lib/services/billingPortal.service.d.ts.map +1 -0
- package/lib/services/billingPortal.service.js +51 -0
- package/lib/services/checkoutSession.service.d.ts +45 -0
- package/lib/services/checkoutSession.service.d.ts.map +1 -0
- package/lib/services/checkoutSession.service.js +49 -0
- package/lib/services/paymentLink.service.d.ts +48 -0
- package/lib/services/paymentLink.service.d.ts.map +1 -0
- package/lib/services/paymentLink.service.js +72 -0
- package/lib/services/plan.service.d.ts +42 -0
- package/lib/services/plan.service.d.ts.map +1 -0
- package/lib/services/plan.service.js +43 -0
- package/lib/services/subscription.service.d.ts +52 -0
- package/lib/services/subscription.service.d.ts.map +1 -0
- package/lib/services/subscription.service.js +94 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/vitest.config.d.ts +3 -0
- package/lib/vitest.config.d.ts.map +1 -0
- package/lib/vitest.config.js +7 -0
- package/package.json +6 -4
- package/__test__/schemaEquality.test.ts +0 -411
- package/schemas/billingPortal.schema.ts +0 -28
- package/schemas/checkoutSession.schema.ts +0 -28
- package/schemas/paymentLink.schema.ts +0 -28
- package/schemas/plan.schema.ts +0 -28
- package/schemas/subscription.schema.ts +0 -28
- package/tsconfig.json +0 -7
- /package/{schemas/zod → lib/eject/schemas}/billingPortal.schema.ts +0 -0
- /package/{schemas/zod → lib/eject/schemas}/checkoutSession.schema.ts +0 -0
- /package/{schemas/zod → lib/eject/schemas}/paymentLink.schema.ts +0 -0
- /package/{schemas/zod → lib/eject/schemas}/plan.schema.ts +0 -0
- /package/{schemas/zod → lib/eject/schemas}/subscription.schema.ts +0 -0
- /package/{services → lib/eject/services}/billingPortal.service.ts +0 -0
- /package/{services → lib/eject/services}/checkoutSession.service.ts +0 -0
- /package/{services → lib/eject/services}/paymentLink.service.ts +0 -0
- /package/{services → lib/eject/services}/plan.service.ts +0 -0
- /package/{services → lib/eject/services/services}/subscription.service.ts +0 -0
- /package/{index.ts → lib/index.js} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreatePlanSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
3
|
+
name: import("@sinclair/typebox").TString;
|
|
4
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
5
|
+
price: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TDate, import("@sinclair/typebox").TBigInt]>, number>;
|
|
6
|
+
cadence: import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>;
|
|
7
|
+
features: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
8
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
9
|
+
externalId: import("@sinclair/typebox").TString;
|
|
10
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
11
|
+
active: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>;
|
|
12
|
+
};
|
|
13
|
+
export declare const UpdatePlanSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
14
|
+
id: import("@sinclair/typebox").TString;
|
|
15
|
+
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
16
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
17
|
+
price: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TDate, import("@sinclair/typebox").TBigInt]>, number>>;
|
|
18
|
+
cadence: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>>;
|
|
19
|
+
features: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
20
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
21
|
+
externalId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
22
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
23
|
+
active: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>>;
|
|
24
|
+
};
|
|
25
|
+
export declare const PlanSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
26
|
+
id: import("@sinclair/typebox").TString;
|
|
27
|
+
name: import("@sinclair/typebox").TString;
|
|
28
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
29
|
+
price: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull, import("@sinclair/typebox").TDate, import("@sinclair/typebox").TBigInt]>, number>;
|
|
30
|
+
cadence: import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>;
|
|
31
|
+
features: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
32
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
33
|
+
externalId: import("@sinclair/typebox").TString;
|
|
34
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
35
|
+
active: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>;
|
|
36
|
+
createdAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
37
|
+
updatedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=plan.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.schema.d.ts","sourceRoot":"","sources":["../../../schemas/typebox/plan.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAatD,eAAO,MAAM,gBAAgB,GAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;CAWtB,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAC1B,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;;CAYtB,CAAC;AAEL,eAAO,MAAM,UAAU,GACpB,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;;;;CActB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { array, boolean, date, enum_, number, optional, string, unknown, uuid } from '@forklaunch/validator/typebox';
|
|
2
|
+
export const CreatePlanSchema = (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
3
|
+
name: string,
|
|
4
|
+
description: optional(string),
|
|
5
|
+
price: number,
|
|
6
|
+
cadence: enum_(PlanCadenceEnum),
|
|
7
|
+
features: array(string),
|
|
8
|
+
extraFields: optional(unknown),
|
|
9
|
+
externalId: string,
|
|
10
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
11
|
+
active: boolean
|
|
12
|
+
});
|
|
13
|
+
export const UpdatePlanSchema = (uuidId) => (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
14
|
+
id: uuidId ? uuid : string,
|
|
15
|
+
name: optional(string),
|
|
16
|
+
description: optional(string),
|
|
17
|
+
price: optional(number),
|
|
18
|
+
cadence: optional(enum_(PlanCadenceEnum)),
|
|
19
|
+
features: optional(array(string)),
|
|
20
|
+
extraFields: optional(unknown),
|
|
21
|
+
externalId: optional(string),
|
|
22
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
23
|
+
active: optional(boolean)
|
|
24
|
+
});
|
|
25
|
+
export const PlanSchema = (uuidId) => (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
26
|
+
id: uuidId ? uuid : string,
|
|
27
|
+
name: string,
|
|
28
|
+
description: optional(string),
|
|
29
|
+
price: number,
|
|
30
|
+
cadence: enum_(PlanCadenceEnum),
|
|
31
|
+
features: optional(array(string)),
|
|
32
|
+
extraFields: optional(unknown),
|
|
33
|
+
externalId: string,
|
|
34
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
35
|
+
active: boolean,
|
|
36
|
+
createdAt: optional(date),
|
|
37
|
+
updatedAt: optional(date)
|
|
38
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreateSubscriptionSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
3
|
+
partyId: import("@sinclair/typebox").TString;
|
|
4
|
+
partyType: import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>;
|
|
5
|
+
productId: import("@sinclair/typebox").TString;
|
|
6
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
7
|
+
active: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>;
|
|
8
|
+
externalId: import("@sinclair/typebox").TString;
|
|
9
|
+
startDate: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>;
|
|
10
|
+
endDate: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>;
|
|
11
|
+
status: import("@sinclair/typebox").TString;
|
|
12
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
13
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
14
|
+
};
|
|
15
|
+
export declare const UpdateSubscriptionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
16
|
+
id: import("@sinclair/typebox").TString;
|
|
17
|
+
partyId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
18
|
+
partyType: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>>;
|
|
19
|
+
productId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
20
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
21
|
+
active: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>>;
|
|
22
|
+
externalId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
23
|
+
startDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
24
|
+
endDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
25
|
+
status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
26
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
27
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
28
|
+
};
|
|
29
|
+
export declare const SubscriptionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
30
|
+
id: import("@sinclair/typebox").TString;
|
|
31
|
+
partyId: import("@sinclair/typebox").TString;
|
|
32
|
+
partyType: import("@sinclair/typebox").TUnion<[{ [K in keyof T]: import("@sinclair/typebox").TLiteral<T[K]>; }[keyof T]]>;
|
|
33
|
+
productId: import("@sinclair/typebox").TString;
|
|
34
|
+
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
35
|
+
active: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TString]>, boolean>;
|
|
36
|
+
externalId: import("@sinclair/typebox").TString;
|
|
37
|
+
startDate: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>;
|
|
38
|
+
endDate: import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>;
|
|
39
|
+
status: import("@sinclair/typebox").TString;
|
|
40
|
+
billingProvider: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[{ [K_1 in keyof U]: import("@sinclair/typebox").TLiteral<U[K_1]>; }[keyof U]]>>;
|
|
41
|
+
extraFields: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
42
|
+
createdAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
43
|
+
updatedAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TTransform<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TDate, import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TString, import("@sinclair/typebox").TBoolean, import("@sinclair/typebox").TNull]>, Date>>;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=subscription.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.schema.d.ts","sourceRoot":"","sources":["../../../schemas/typebox/subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,eAAO,MAAM,wBAAwB,GACnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;CAatB,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAClC,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;;CActB,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC5B,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;;;;CAgBtB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { boolean, date, enum_, optional, string, unknown, uuid } from '@forklaunch/validator/typebox';
|
|
2
|
+
export const CreateSubscriptionSchema = (PartyEnum, BillingProviderEnum) => ({
|
|
3
|
+
partyId: string,
|
|
4
|
+
partyType: enum_(PartyEnum),
|
|
5
|
+
productId: string,
|
|
6
|
+
description: optional(string),
|
|
7
|
+
active: boolean,
|
|
8
|
+
externalId: string,
|
|
9
|
+
startDate: date,
|
|
10
|
+
endDate: date,
|
|
11
|
+
status: string,
|
|
12
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
13
|
+
extraFields: optional(unknown)
|
|
14
|
+
});
|
|
15
|
+
export const UpdateSubscriptionSchema = (uuidId) => (PartyEnum, BillingProviderEnum) => ({
|
|
16
|
+
id: uuidId ? uuid : string,
|
|
17
|
+
partyId: optional(string),
|
|
18
|
+
partyType: optional(enum_(PartyEnum)),
|
|
19
|
+
productId: optional(string),
|
|
20
|
+
description: optional(string),
|
|
21
|
+
active: optional(boolean),
|
|
22
|
+
externalId: optional(string),
|
|
23
|
+
startDate: optional(date),
|
|
24
|
+
endDate: optional(date),
|
|
25
|
+
status: optional(string),
|
|
26
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
27
|
+
extraFields: optional(unknown)
|
|
28
|
+
});
|
|
29
|
+
export const SubscriptionSchema = (uuidId) => (PartyEnum, BillingProviderEnum) => ({
|
|
30
|
+
id: uuidId ? uuid : string,
|
|
31
|
+
partyId: string,
|
|
32
|
+
partyType: enum_(PartyEnum),
|
|
33
|
+
productId: string,
|
|
34
|
+
description: optional(string),
|
|
35
|
+
active: boolean,
|
|
36
|
+
externalId: string,
|
|
37
|
+
startDate: date,
|
|
38
|
+
endDate: date,
|
|
39
|
+
status: string,
|
|
40
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
41
|
+
extraFields: optional(unknown),
|
|
42
|
+
createdAt: optional(date),
|
|
43
|
+
updatedAt: optional(date)
|
|
44
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const CreateBillingPortalSchema: {
|
|
2
|
+
customerId: import("zod").ZodString;
|
|
3
|
+
uri: import("zod").ZodString;
|
|
4
|
+
expiresAt: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
5
|
+
};
|
|
6
|
+
export declare const UpdateBillingPortalSchema: (uuidId: boolean) => {
|
|
7
|
+
id: import("zod").ZodString;
|
|
8
|
+
uri: import("zod").ZodOptional<import("zod").ZodString>;
|
|
9
|
+
expiresAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
10
|
+
};
|
|
11
|
+
export declare const BillingPortalSchema: (uuidId: boolean) => {
|
|
12
|
+
id: import("zod").ZodString;
|
|
13
|
+
customerId: import("zod").ZodString;
|
|
14
|
+
uri: import("zod").ZodString;
|
|
15
|
+
expiresAt: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
16
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
17
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
18
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=billingPortal.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billingPortal.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/billingPortal.schema.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,yBAAyB;;;;CAIrC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,QAAQ,OAAO;;;;CAIvD,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,OAAO;;;;;;;;CAQjD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { date, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
|
|
2
|
+
export const CreateBillingPortalSchema = {
|
|
3
|
+
customerId: string,
|
|
4
|
+
uri: string,
|
|
5
|
+
expiresAt: date
|
|
6
|
+
};
|
|
7
|
+
export const UpdateBillingPortalSchema = (uuidId) => ({
|
|
8
|
+
id: uuidId ? uuid : string,
|
|
9
|
+
uri: optional(string),
|
|
10
|
+
expiresAt: optional(date)
|
|
11
|
+
});
|
|
12
|
+
export const BillingPortalSchema = (uuidId) => ({
|
|
13
|
+
id: uuidId ? uuid : string,
|
|
14
|
+
customerId: string,
|
|
15
|
+
uri: string,
|
|
16
|
+
expiresAt: date,
|
|
17
|
+
extraFields: optional(unknown),
|
|
18
|
+
createdAt: optional(date),
|
|
19
|
+
updatedAt: optional(date)
|
|
20
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreateCheckoutSessionSchema: <T extends Record<string, LiteralSchema>>(PaymentMethodEnum: T) => {
|
|
3
|
+
customerId: import("zod").ZodString;
|
|
4
|
+
paymentMethods: import("zod").ZodArray<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>, "many">;
|
|
5
|
+
successRedirectUri: import("zod").ZodString;
|
|
6
|
+
cancelRedirectUri: import("zod").ZodString;
|
|
7
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
8
|
+
};
|
|
9
|
+
export declare const UpdateCheckoutSessionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>>(PaymentMethodEnum: T) => {
|
|
10
|
+
id: import("zod").ZodString;
|
|
11
|
+
customerId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
12
|
+
paymentMethods: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>, "many">>;
|
|
13
|
+
successRedirectUri: import("zod").ZodOptional<import("zod").ZodString>;
|
|
14
|
+
cancelRedirectUri: import("zod").ZodOptional<import("zod").ZodString>;
|
|
15
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
16
|
+
};
|
|
17
|
+
export declare const CheckoutSessionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>>(PaymentMethodEnum: T) => {
|
|
18
|
+
id: import("zod").ZodString;
|
|
19
|
+
customerId: import("zod").ZodString;
|
|
20
|
+
paymentMethods: import("zod").ZodArray<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>, "many">;
|
|
21
|
+
successRedirectUri: import("zod").ZodString;
|
|
22
|
+
cancelRedirectUri: import("zod").ZodString;
|
|
23
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
24
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
25
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=checkoutSession.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkoutSession.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/checkoutSession.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,eAAO,MAAM,2BAA2B,GACtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,mBAAmB,CAAC;;;;;;CAOpB,CAAC;AAEH,eAAO,MAAM,2BAA2B,GACrC,QAAQ,OAAO,MACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;;;;;;;CAO5D,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAC/B,QAAQ,OAAO,MACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;;;;;;;;;CAS5D,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { array, date, enum_, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
|
|
2
|
+
export const CreateCheckoutSessionSchema = (PaymentMethodEnum) => ({
|
|
3
|
+
customerId: string,
|
|
4
|
+
paymentMethods: array(enum_(PaymentMethodEnum)),
|
|
5
|
+
successRedirectUri: string,
|
|
6
|
+
cancelRedirectUri: string,
|
|
7
|
+
extraFields: optional(unknown)
|
|
8
|
+
});
|
|
9
|
+
export const UpdateCheckoutSessionSchema = (uuidId) => (PaymentMethodEnum) => ({
|
|
10
|
+
id: uuidId ? uuid : string,
|
|
11
|
+
customerId: optional(string),
|
|
12
|
+
paymentMethods: optional(array(enum_(PaymentMethodEnum))),
|
|
13
|
+
successRedirectUri: optional(string),
|
|
14
|
+
cancelRedirectUri: optional(string),
|
|
15
|
+
extraFields: optional(unknown)
|
|
16
|
+
});
|
|
17
|
+
export const CheckoutSessionSchema = (uuidId) => (PaymentMethodEnum) => ({
|
|
18
|
+
id: uuidId ? uuid : string,
|
|
19
|
+
customerId: string,
|
|
20
|
+
paymentMethods: array(enum_(PaymentMethodEnum)),
|
|
21
|
+
successRedirectUri: string,
|
|
22
|
+
cancelRedirectUri: string,
|
|
23
|
+
extraFields: optional(unknown),
|
|
24
|
+
createdAt: optional(date),
|
|
25
|
+
updatedAt: optional(date)
|
|
26
|
+
});
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreatePaymentLinkSchema: <T extends Record<string, LiteralSchema>>(CurrencyEnum: T) => {
|
|
3
|
+
amount: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>;
|
|
4
|
+
currency: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
5
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
6
|
+
metadata: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
7
|
+
successRedirectUri: import("zod").ZodString;
|
|
8
|
+
cancelRedirectUri: import("zod").ZodString;
|
|
9
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
10
|
+
};
|
|
11
|
+
export declare const UpdatePaymentLinkSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>>(CurrencyEnum: T) => {
|
|
12
|
+
id: import("zod").ZodString;
|
|
13
|
+
amount: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>>;
|
|
14
|
+
currency: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>>;
|
|
15
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
16
|
+
metadata: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
17
|
+
successRedirectUri: import("zod").ZodOptional<import("zod").ZodString>;
|
|
18
|
+
cancelRedirectUri: import("zod").ZodOptional<import("zod").ZodString>;
|
|
19
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
20
|
+
};
|
|
21
|
+
export declare const PaymentLinkSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>>(CurrencyEnum: T) => {
|
|
22
|
+
id: import("zod").ZodString;
|
|
23
|
+
amount: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>;
|
|
24
|
+
currency: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
25
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
26
|
+
metadata: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
27
|
+
successRedirectUri: import("zod").ZodString;
|
|
28
|
+
cancelRedirectUri: import("zod").ZodString;
|
|
29
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
30
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
31
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=paymentLink.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paymentLink.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/paymentLink.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,eAAO,MAAM,uBAAuB,GAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,cAAc,CAAC;;;;;;;;CASf,CAAC;AAEH,eAAO,MAAM,uBAAuB,GACjC,QAAQ,OAAO,MACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC;;;;;;;;;CASvD,CAAC;AAEL,eAAO,MAAM,iBAAiB,GAC3B,QAAQ,OAAO,MACf,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC;;;;;;;;;;;CAWvD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { date, enum_, number, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
|
|
2
|
+
export const CreatePaymentLinkSchema = (CurrencyEnum) => ({
|
|
3
|
+
amount: number,
|
|
4
|
+
currency: enum_(CurrencyEnum),
|
|
5
|
+
description: optional(string),
|
|
6
|
+
metadata: optional(unknown),
|
|
7
|
+
successRedirectUri: string,
|
|
8
|
+
cancelRedirectUri: string,
|
|
9
|
+
extraFields: optional(unknown)
|
|
10
|
+
});
|
|
11
|
+
export const UpdatePaymentLinkSchema = (uuidId) => (CurrencyEnum) => ({
|
|
12
|
+
id: uuidId ? uuid : string,
|
|
13
|
+
amount: optional(number),
|
|
14
|
+
currency: optional(enum_(CurrencyEnum)),
|
|
15
|
+
description: optional(string),
|
|
16
|
+
metadata: optional(unknown),
|
|
17
|
+
successRedirectUri: optional(string),
|
|
18
|
+
cancelRedirectUri: optional(string),
|
|
19
|
+
extraFields: optional(unknown)
|
|
20
|
+
});
|
|
21
|
+
export const PaymentLinkSchema = (uuidId) => (CurrencyEnum) => ({
|
|
22
|
+
id: uuidId ? uuid : string,
|
|
23
|
+
amount: number,
|
|
24
|
+
currency: enum_(CurrencyEnum),
|
|
25
|
+
description: optional(string),
|
|
26
|
+
metadata: optional(unknown),
|
|
27
|
+
successRedirectUri: string,
|
|
28
|
+
cancelRedirectUri: string,
|
|
29
|
+
extraFields: optional(unknown),
|
|
30
|
+
createdAt: optional(date),
|
|
31
|
+
updatedAt: optional(date)
|
|
32
|
+
});
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreatePlanSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
3
|
+
name: import("zod").ZodString;
|
|
4
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
5
|
+
price: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>;
|
|
6
|
+
cadence: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
7
|
+
features: import("zod").ZodArray<import("zod").ZodString, "many">;
|
|
8
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
9
|
+
externalId: import("zod").ZodString;
|
|
10
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
11
|
+
active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
|
|
12
|
+
};
|
|
13
|
+
export declare const UpdatePlanSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
14
|
+
id: import("zod").ZodString;
|
|
15
|
+
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
16
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
17
|
+
price: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>>;
|
|
18
|
+
cadence: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>>;
|
|
19
|
+
features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
20
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
21
|
+
externalId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
22
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
23
|
+
active: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>>;
|
|
24
|
+
};
|
|
25
|
+
export declare const PlanSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
|
|
26
|
+
id: import("zod").ZodString;
|
|
27
|
+
name: import("zod").ZodString;
|
|
28
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
29
|
+
price: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodNumber>;
|
|
30
|
+
cadence: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
31
|
+
features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
32
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
33
|
+
externalId: import("zod").ZodString;
|
|
34
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
35
|
+
active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
|
|
36
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
37
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=plan.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/plan.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAatD,eAAO,MAAM,gBAAgB,GAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;CAWtB,CAAC;AAEH,eAAO,MAAM,gBAAgB,GAC1B,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;;CAYtB,CAAC;AAEL,eAAO,MAAM,UAAU,GACpB,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,iBAAiB,CAAC,EAClB,qBAAqB,CAAC;;;;;;;;;;;;;CActB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { array, boolean, date, enum_, number, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
|
|
2
|
+
export const CreatePlanSchema = (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
3
|
+
name: string,
|
|
4
|
+
description: optional(string),
|
|
5
|
+
price: number,
|
|
6
|
+
cadence: enum_(PlanCadenceEnum),
|
|
7
|
+
features: array(string),
|
|
8
|
+
extraFields: optional(unknown),
|
|
9
|
+
externalId: string,
|
|
10
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
11
|
+
active: boolean
|
|
12
|
+
});
|
|
13
|
+
export const UpdatePlanSchema = (uuidId) => (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
14
|
+
id: uuidId ? uuid : string,
|
|
15
|
+
name: optional(string),
|
|
16
|
+
description: optional(string),
|
|
17
|
+
price: optional(number),
|
|
18
|
+
cadence: optional(enum_(PlanCadenceEnum)),
|
|
19
|
+
features: optional(array(string)),
|
|
20
|
+
extraFields: optional(unknown),
|
|
21
|
+
externalId: optional(string),
|
|
22
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
23
|
+
active: optional(boolean)
|
|
24
|
+
});
|
|
25
|
+
export const PlanSchema = (uuidId) => (PlanCadenceEnum, BillingProviderEnum) => ({
|
|
26
|
+
id: uuidId ? uuid : string,
|
|
27
|
+
name: string,
|
|
28
|
+
description: optional(string),
|
|
29
|
+
price: number,
|
|
30
|
+
cadence: enum_(PlanCadenceEnum),
|
|
31
|
+
features: optional(array(string)),
|
|
32
|
+
extraFields: optional(unknown),
|
|
33
|
+
externalId: string,
|
|
34
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
35
|
+
active: boolean,
|
|
36
|
+
createdAt: optional(date),
|
|
37
|
+
updatedAt: optional(date)
|
|
38
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LiteralSchema } from '@forklaunch/validator';
|
|
2
|
+
export declare const CreateSubscriptionSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
3
|
+
partyId: import("zod").ZodString;
|
|
4
|
+
partyType: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
5
|
+
productId: import("zod").ZodString;
|
|
6
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
7
|
+
active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
|
|
8
|
+
externalId: import("zod").ZodString;
|
|
9
|
+
startDate: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
10
|
+
endDate: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
11
|
+
status: import("zod").ZodString;
|
|
12
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
13
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
14
|
+
};
|
|
15
|
+
export declare const UpdateSubscriptionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
16
|
+
id: import("zod").ZodString;
|
|
17
|
+
partyId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
18
|
+
partyType: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>>;
|
|
19
|
+
productId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
20
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
21
|
+
active: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>>;
|
|
22
|
+
externalId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
23
|
+
startDate: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
24
|
+
endDate: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
25
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
26
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
27
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
28
|
+
};
|
|
29
|
+
export declare const SubscriptionSchema: (uuidId: boolean) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PartyEnum: T, BillingProviderEnum: U) => {
|
|
30
|
+
id: import("zod").ZodString;
|
|
31
|
+
partyId: import("zod").ZodString;
|
|
32
|
+
partyType: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
|
|
33
|
+
productId: import("zod").ZodString;
|
|
34
|
+
description: import("zod").ZodOptional<import("zod").ZodString>;
|
|
35
|
+
active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
|
|
36
|
+
externalId: import("zod").ZodString;
|
|
37
|
+
startDate: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
38
|
+
endDate: import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>;
|
|
39
|
+
status: import("zod").ZodString;
|
|
40
|
+
billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
|
|
41
|
+
extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
|
|
42
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
43
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodPipeline<import("zod").ZodEffects<import("zod").ZodAny, any, any>, import("zod").ZodDate>>;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=subscription.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription.schema.d.ts","sourceRoot":"","sources":["../../../schemas/zod/subscription.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,eAAO,MAAM,wBAAwB,GACnC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;CAatB,CAAC;AAEH,eAAO,MAAM,wBAAwB,GAClC,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;;CActB,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC5B,QAAQ,OAAO,MAEd,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAEvC,WAAW,CAAC,EACZ,qBAAqB,CAAC;;;;;;;;;;;;;;;CAgBtB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { boolean, date, enum_, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
|
|
2
|
+
export const CreateSubscriptionSchema = (PartyEnum, BillingProviderEnum) => ({
|
|
3
|
+
partyId: string,
|
|
4
|
+
partyType: enum_(PartyEnum),
|
|
5
|
+
productId: string,
|
|
6
|
+
description: optional(string),
|
|
7
|
+
active: boolean,
|
|
8
|
+
externalId: string,
|
|
9
|
+
startDate: date,
|
|
10
|
+
endDate: date,
|
|
11
|
+
status: string,
|
|
12
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
13
|
+
extraFields: optional(unknown)
|
|
14
|
+
});
|
|
15
|
+
export const UpdateSubscriptionSchema = (uuidId) => (PartyEnum, BillingProviderEnum) => ({
|
|
16
|
+
id: uuidId ? uuid : string,
|
|
17
|
+
partyId: optional(string),
|
|
18
|
+
partyType: optional(enum_(PartyEnum)),
|
|
19
|
+
productId: optional(string),
|
|
20
|
+
description: optional(string),
|
|
21
|
+
active: optional(boolean),
|
|
22
|
+
externalId: optional(string),
|
|
23
|
+
startDate: optional(date),
|
|
24
|
+
endDate: optional(date),
|
|
25
|
+
status: optional(string),
|
|
26
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
27
|
+
extraFields: optional(unknown)
|
|
28
|
+
});
|
|
29
|
+
export const SubscriptionSchema = (uuidId) => (PartyEnum, BillingProviderEnum) => ({
|
|
30
|
+
id: uuidId ? uuid : string,
|
|
31
|
+
partyId: string,
|
|
32
|
+
partyType: enum_(PartyEnum),
|
|
33
|
+
productId: string,
|
|
34
|
+
description: optional(string),
|
|
35
|
+
active: boolean,
|
|
36
|
+
externalId: string,
|
|
37
|
+
startDate: date,
|
|
38
|
+
endDate: date,
|
|
39
|
+
status: string,
|
|
40
|
+
billingProvider: optional(enum_(BillingProviderEnum)),
|
|
41
|
+
extraFields: optional(unknown),
|
|
42
|
+
createdAt: optional(date),
|
|
43
|
+
updatedAt: optional(date)
|
|
44
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { BillingPortalDto, BillingPortalService, CreateBillingPortalDto, UpdateBillingPortalDto } from '@forklaunch/interfaces-billing';
|
|
2
|
+
import { IdDto } from '@forklaunch/common';
|
|
3
|
+
import { TtlCache } from '@forklaunch/core/cache';
|
|
4
|
+
import { RequestDtoMapperConstructor, ResponseDtoMapperConstructor } from '@forklaunch/core/dtoMapper';
|
|
5
|
+
import { MetricsDefinition, OpenTelemetryCollector } from '@forklaunch/core/http';
|
|
6
|
+
import { AnySchemaValidator } from '@forklaunch/validator';
|
|
7
|
+
export declare class BaseBillingPortalService<SchemaValidator extends AnySchemaValidator, Metrics extends MetricsDefinition = MetricsDefinition, Dto extends {
|
|
8
|
+
BillingPortalDtoMapper: BillingPortalDto;
|
|
9
|
+
CreateBillingPortalDtoMapper: CreateBillingPortalDto;
|
|
10
|
+
UpdateBillingPortalDtoMapper: UpdateBillingPortalDto;
|
|
11
|
+
} = {
|
|
12
|
+
BillingPortalDtoMapper: BillingPortalDto;
|
|
13
|
+
CreateBillingPortalDtoMapper: CreateBillingPortalDto;
|
|
14
|
+
UpdateBillingPortalDtoMapper: UpdateBillingPortalDto;
|
|
15
|
+
}, Entities extends {
|
|
16
|
+
BillingPortalDtoMapper: BillingPortalDto;
|
|
17
|
+
CreateBillingPortalDtoMapper: BillingPortalDto;
|
|
18
|
+
UpdateBillingPortalDtoMapper: BillingPortalDto;
|
|
19
|
+
} = {
|
|
20
|
+
BillingPortalDtoMapper: BillingPortalDto;
|
|
21
|
+
CreateBillingPortalDtoMapper: BillingPortalDto;
|
|
22
|
+
UpdateBillingPortalDtoMapper: BillingPortalDto;
|
|
23
|
+
}> implements BillingPortalService {
|
|
24
|
+
#private;
|
|
25
|
+
protected cache: TtlCache;
|
|
26
|
+
protected openTelemetryCollector: OpenTelemetryCollector<Metrics>;
|
|
27
|
+
protected schemaValidator: SchemaValidator;
|
|
28
|
+
protected dtoMappers: {
|
|
29
|
+
BillingPortalDtoMapper: ResponseDtoMapperConstructor<SchemaValidator, Dto['BillingPortalDtoMapper'], Entities['BillingPortalDtoMapper']>;
|
|
30
|
+
CreateBillingPortalDtoMapper: RequestDtoMapperConstructor<SchemaValidator, Dto['CreateBillingPortalDtoMapper'], Entities['CreateBillingPortalDtoMapper']>;
|
|
31
|
+
UpdateBillingPortalDtoMapper: RequestDtoMapperConstructor<SchemaValidator, Dto['UpdateBillingPortalDtoMapper'], Entities['UpdateBillingPortalDtoMapper']>;
|
|
32
|
+
};
|
|
33
|
+
constructor(cache: TtlCache, openTelemetryCollector: OpenTelemetryCollector<Metrics>, schemaValidator: SchemaValidator, dtoMappers: {
|
|
34
|
+
BillingPortalDtoMapper: ResponseDtoMapperConstructor<SchemaValidator, Dto['BillingPortalDtoMapper'], Entities['BillingPortalDtoMapper']>;
|
|
35
|
+
CreateBillingPortalDtoMapper: RequestDtoMapperConstructor<SchemaValidator, Dto['CreateBillingPortalDtoMapper'], Entities['CreateBillingPortalDtoMapper']>;
|
|
36
|
+
UpdateBillingPortalDtoMapper: RequestDtoMapperConstructor<SchemaValidator, Dto['UpdateBillingPortalDtoMapper'], Entities['UpdateBillingPortalDtoMapper']>;
|
|
37
|
+
});
|
|
38
|
+
protected createCacheKey: (id: string) => string;
|
|
39
|
+
createBillingPortalSession(billingPortalDto: Dto['CreateBillingPortalDtoMapper']): Promise<Dto['BillingPortalDtoMapper']>;
|
|
40
|
+
getBillingPortalSession(idDto: IdDto): Promise<Dto['BillingPortalDtoMapper']>;
|
|
41
|
+
updateBillingPortalSession(billingPortalDto: UpdateBillingPortalDto): Promise<Dto['BillingPortalDtoMapper']>;
|
|
42
|
+
expireBillingPortalSession(idDto: IdDto): Promise<void>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=billingPortal.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"billingPortal.service.d.ts","sourceRoot":"","sources":["../../services/billingPortal.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAsB,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAkB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAEL,2BAA2B,EAC3B,4BAA4B,EAE7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,wBAAwB,CACnC,eAAe,SAAS,kBAAkB,EAC1C,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,EACrD,GAAG,SAAS;IACV,sBAAsB,EAAE,gBAAgB,CAAC;IACzC,4BAA4B,EAAE,sBAAsB,CAAC;IACrD,4BAA4B,EAAE,sBAAsB,CAAC;CACtD,GAAG;IACF,sBAAsB,EAAE,gBAAgB,CAAC;IACzC,4BAA4B,EAAE,sBAAsB,CAAC;IACrD,4BAA4B,EAAE,sBAAsB,CAAC;CACtD,EACD,QAAQ,SAAS;IACf,sBAAsB,EAAE,gBAAgB,CAAC;IACzC,4BAA4B,EAAE,gBAAgB,CAAC;IAC/C,4BAA4B,EAAE,gBAAgB,CAAC;CAChD,GAAG;IACF,sBAAsB,EAAE,gBAAgB,CAAC;IACzC,4BAA4B,EAAE,gBAAgB,CAAC;IAC/C,4BAA4B,EAAE,gBAAgB,CAAC;CAChD,CACD,YAAW,oBAAoB;;IAS7B,SAAS,CAAC,KAAK,EAAE,QAAQ;IACzB,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACjE,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,UAAU,EAAE;QACpB,sBAAsB,EAAE,4BAA4B,CAClD,eAAe,EACf,GAAG,CAAC,wBAAwB,CAAC,EAC7B,QAAQ,CAAC,wBAAwB,CAAC,CACnC,CAAC;QACF,4BAA4B,EAAE,2BAA2B,CACvD,eAAe,EACf,GAAG,CAAC,8BAA8B,CAAC,EACnC,QAAQ,CAAC,8BAA8B,CAAC,CACzC,CAAC;QACF,4BAA4B,EAAE,2BAA2B,CACvD,eAAe,EACf,GAAG,CAAC,8BAA8B,CAAC,EACnC,QAAQ,CAAC,8BAA8B,CAAC,CACzC,CAAC;KACH;gBAnBS,KAAK,EAAE,QAAQ,EACf,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC,EACvD,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE;QACpB,sBAAsB,EAAE,4BAA4B,CAClD,eAAe,EACf,GAAG,CAAC,wBAAwB,CAAC,EAC7B,QAAQ,CAAC,wBAAwB,CAAC,CACnC,CAAC;QACF,4BAA4B,EAAE,2BAA2B,CACvD,eAAe,EACf,GAAG,CAAC,8BAA8B,CAAC,EACnC,QAAQ,CAAC,8BAA8B,CAAC,CACzC,CAAC;QACF,4BAA4B,EAAE,2BAA2B,CACvD,eAAe,EACf,GAAG,CAAC,8BAA8B,CAAC,EACnC,QAAQ,CAAC,8BAA8B,CAAC,CACzC,CAAC;KACH;IAQH,SAAS,CAAC,cAAc,yBAA4C;IAE9D,0BAA0B,CAC9B,gBAAgB,EAAE,GAAG,CAAC,8BAA8B,CAAC,GACpD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAsBnC,uBAAuB,CAC3B,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAanC,0BAA0B,CAC9B,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAiBnC,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAU9D"}
|