@forklaunch/implementation-billing-base 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/lib/__test__/schemaEquality.test.d.ts +2 -0
  2. package/lib/__test__/schemaEquality.test.d.ts.map +1 -0
  3. package/lib/__test__/schemaEquality.test.js +226 -0
  4. package/{schemas/typebox → lib/eject/schemas/zod}/billingPortal.schema.ts +1 -1
  5. package/{schemas/typebox → lib/eject/schemas/zod}/checkoutSession.schema.ts +1 -2
  6. package/{schemas/typebox → lib/eject/schemas/zod}/paymentLink.schema.ts +1 -1
  7. package/{schemas/typebox → lib/eject/schemas/zod}/plan.schema.ts +1 -1
  8. package/{schemas/typebox → lib/eject/schemas/zod}/subscription.schema.ts +1 -1
  9. package/lib/eject/services/services/billingPortal.service.ts +148 -0
  10. package/lib/eject/services/services/checkoutSession.service.ts +135 -0
  11. package/lib/eject/services/services/paymentLink.service.ts +173 -0
  12. package/lib/eject/services/services/plan.service.ts +135 -0
  13. package/lib/eject/services/subscription.service.ts +239 -0
  14. package/lib/index.d.ts +11 -0
  15. package/lib/index.d.ts.map +1 -0
  16. package/lib/jest.config.d.ts +4 -0
  17. package/lib/jest.config.d.ts.map +1 -0
  18. package/lib/jest.config.js +19 -0
  19. package/lib/schemas/billingPortal.schema.d.ts +42 -0
  20. package/lib/schemas/billingPortal.schema.d.ts.map +1 -0
  21. package/lib/schemas/billingPortal.schema.js +14 -0
  22. package/lib/schemas/checkoutSession.schema.d.ts +55 -0
  23. package/lib/schemas/checkoutSession.schema.d.ts.map +1 -0
  24. package/lib/schemas/checkoutSession.schema.js +14 -0
  25. package/lib/schemas/paymentLink.schema.d.ts +66 -0
  26. package/lib/schemas/paymentLink.schema.d.ts.map +1 -0
  27. package/lib/schemas/paymentLink.schema.js +14 -0
  28. package/lib/schemas/plan.schema.d.ts +78 -0
  29. package/lib/schemas/plan.schema.d.ts.map +1 -0
  30. package/lib/schemas/plan.schema.js +14 -0
  31. package/lib/schemas/subscription.schema.d.ts +90 -0
  32. package/lib/schemas/subscription.schema.d.ts.map +1 -0
  33. package/lib/schemas/subscription.schema.js +14 -0
  34. package/lib/schemas/typebox/billingPortal.schema.d.ts +20 -0
  35. package/lib/schemas/typebox/billingPortal.schema.d.ts.map +1 -0
  36. package/lib/schemas/typebox/billingPortal.schema.js +20 -0
  37. package/lib/schemas/typebox/checkoutSession.schema.d.ts +28 -0
  38. package/lib/schemas/typebox/checkoutSession.schema.d.ts.map +1 -0
  39. package/lib/schemas/typebox/checkoutSession.schema.js +27 -0
  40. package/lib/schemas/typebox/paymentLink.schema.d.ts +33 -0
  41. package/lib/schemas/typebox/paymentLink.schema.d.ts.map +1 -0
  42. package/lib/schemas/typebox/paymentLink.schema.js +32 -0
  43. package/lib/schemas/typebox/plan.schema.d.ts +39 -0
  44. package/lib/schemas/typebox/plan.schema.d.ts.map +1 -0
  45. package/lib/schemas/typebox/plan.schema.js +38 -0
  46. package/lib/schemas/typebox/subscription.schema.d.ts +45 -0
  47. package/lib/schemas/typebox/subscription.schema.d.ts.map +1 -0
  48. package/lib/schemas/typebox/subscription.schema.js +44 -0
  49. package/lib/schemas/zod/billingPortal.schema.d.ts +20 -0
  50. package/lib/schemas/zod/billingPortal.schema.d.ts.map +1 -0
  51. package/lib/schemas/zod/billingPortal.schema.js +20 -0
  52. package/lib/schemas/zod/checkoutSession.schema.d.ts +27 -0
  53. package/lib/schemas/zod/checkoutSession.schema.d.ts.map +1 -0
  54. package/lib/schemas/zod/checkoutSession.schema.js +26 -0
  55. package/lib/schemas/zod/paymentLink.schema.d.ts +33 -0
  56. package/lib/schemas/zod/paymentLink.schema.d.ts.map +1 -0
  57. package/lib/schemas/zod/paymentLink.schema.js +32 -0
  58. package/lib/schemas/zod/plan.schema.d.ts +39 -0
  59. package/lib/schemas/zod/plan.schema.d.ts.map +1 -0
  60. package/lib/schemas/zod/plan.schema.js +38 -0
  61. package/lib/schemas/zod/subscription.schema.d.ts +45 -0
  62. package/lib/schemas/zod/subscription.schema.d.ts.map +1 -0
  63. package/lib/schemas/zod/subscription.schema.js +44 -0
  64. package/lib/services/billingPortal.service.d.ts +44 -0
  65. package/lib/services/billingPortal.service.d.ts.map +1 -0
  66. package/lib/services/billingPortal.service.js +51 -0
  67. package/lib/services/checkoutSession.service.d.ts +45 -0
  68. package/lib/services/checkoutSession.service.d.ts.map +1 -0
  69. package/lib/services/checkoutSession.service.js +49 -0
  70. package/lib/services/paymentLink.service.d.ts +48 -0
  71. package/lib/services/paymentLink.service.d.ts.map +1 -0
  72. package/lib/services/paymentLink.service.js +72 -0
  73. package/lib/services/plan.service.d.ts +42 -0
  74. package/lib/services/plan.service.d.ts.map +1 -0
  75. package/lib/services/plan.service.js +43 -0
  76. package/lib/services/subscription.service.d.ts +52 -0
  77. package/lib/services/subscription.service.d.ts.map +1 -0
  78. package/lib/services/subscription.service.js +94 -0
  79. package/lib/tsconfig.tsbuildinfo +1 -0
  80. package/lib/vitest.config.d.ts +3 -0
  81. package/lib/vitest.config.d.ts.map +1 -0
  82. package/lib/vitest.config.js +7 -0
  83. package/package.json +6 -11
  84. package/__test__/schemaEquality.test.ts +0 -411
  85. package/schemas/billingPortal.schema.ts +0 -28
  86. package/schemas/checkoutSession.schema.ts +0 -28
  87. package/schemas/paymentLink.schema.ts +0 -28
  88. package/schemas/plan.schema.ts +0 -28
  89. package/schemas/subscription.schema.ts +0 -28
  90. package/tsconfig.json +0 -7
  91. /package/{schemas/zod → lib/eject/schemas}/billingPortal.schema.ts +0 -0
  92. /package/{schemas/zod → lib/eject/schemas}/checkoutSession.schema.ts +0 -0
  93. /package/{schemas/zod → lib/eject/schemas}/paymentLink.schema.ts +0 -0
  94. /package/{schemas/zod → lib/eject/schemas}/plan.schema.ts +0 -0
  95. /package/{schemas/zod → lib/eject/schemas}/subscription.schema.ts +0 -0
  96. /package/{services → lib/eject/services}/billingPortal.service.ts +0 -0
  97. /package/{services → lib/eject/services}/checkoutSession.service.ts +0 -0
  98. /package/{services → lib/eject/services}/paymentLink.service.ts +0 -0
  99. /package/{services → lib/eject/services}/plan.service.ts +0 -0
  100. /package/{services → lib/eject/services/services}/subscription.service.ts +0 -0
  101. /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"}