@forklaunch/implementation-billing-base 0.1.12 → 0.1.14

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 (89) 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 +409 -0
  4. package/lib/eject/domain/schemas/billingPortal.schema.ts +31 -0
  5. package/lib/eject/domain/schemas/checkoutSession.schema.ts +55 -0
  6. package/lib/eject/domain/schemas/index.ts +5 -0
  7. package/lib/eject/domain/schemas/paymentLink.schema.ts +60 -0
  8. package/lib/eject/domain/schemas/plan.schema.ts +80 -0
  9. package/lib/eject/domain/schemas/subscription.schema.ts +86 -0
  10. package/lib/eject/services/billingPortal.service.ts +145 -0
  11. package/lib/eject/services/checkoutSession.service.ts +132 -0
  12. package/lib/eject/services/index.ts +5 -0
  13. package/lib/eject/services/paymentLink.service.ts +170 -0
  14. package/lib/eject/services/plan.service.ts +132 -0
  15. package/lib/eject/services/subscription.service.ts +239 -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 +123 -0
  20. package/lib/schemas/billingPortal.schema.d.ts.map +1 -0
  21. package/lib/schemas/billingPortal.schema.js +7 -0
  22. package/lib/schemas/checkoutSession.schema.d.ts +179 -0
  23. package/lib/schemas/checkoutSession.schema.d.ts.map +1 -0
  24. package/lib/schemas/checkoutSession.schema.js +7 -0
  25. package/lib/schemas/index.d.ts +6 -0
  26. package/lib/schemas/index.d.ts.map +1 -0
  27. package/lib/schemas/index.js +5 -0
  28. package/lib/schemas/paymentLink.schema.d.ts +220 -0
  29. package/lib/schemas/paymentLink.schema.d.ts.map +1 -0
  30. package/lib/schemas/paymentLink.schema.js +7 -0
  31. package/lib/schemas/plan.schema.d.ts +336 -0
  32. package/lib/schemas/plan.schema.d.ts.map +1 -0
  33. package/lib/schemas/plan.schema.js +7 -0
  34. package/lib/schemas/subscription.schema.d.ts +374 -0
  35. package/lib/schemas/subscription.schema.d.ts.map +1 -0
  36. package/lib/schemas/subscription.schema.js +7 -0
  37. package/lib/schemas/typebox/billingPortal.schema.d.ts +181 -0
  38. package/lib/schemas/typebox/billingPortal.schema.d.ts.map +1 -0
  39. package/lib/schemas/typebox/billingPortal.schema.js +31 -0
  40. package/lib/schemas/typebox/checkoutSession.schema.d.ts +204 -0
  41. package/lib/schemas/typebox/checkoutSession.schema.d.ts.map +1 -0
  42. package/lib/schemas/typebox/checkoutSession.schema.js +44 -0
  43. package/lib/schemas/typebox/paymentLink.schema.d.ts +282 -0
  44. package/lib/schemas/typebox/paymentLink.schema.d.ts.map +1 -0
  45. package/lib/schemas/typebox/paymentLink.schema.js +49 -0
  46. package/lib/schemas/typebox/plan.schema.d.ts +416 -0
  47. package/lib/schemas/typebox/plan.schema.d.ts.map +1 -0
  48. package/lib/schemas/typebox/plan.schema.js +57 -0
  49. package/lib/schemas/typebox/subscription.schema.d.ts +488 -0
  50. package/lib/schemas/typebox/subscription.schema.d.ts.map +1 -0
  51. package/lib/schemas/typebox/subscription.schema.js +61 -0
  52. package/lib/schemas/zod/billingPortal.schema.d.ts +51 -0
  53. package/lib/schemas/zod/billingPortal.schema.d.ts.map +1 -0
  54. package/lib/schemas/zod/billingPortal.schema.js +31 -0
  55. package/lib/schemas/zod/checkoutSession.schema.d.ts +114 -0
  56. package/lib/schemas/zod/checkoutSession.schema.d.ts.map +1 -0
  57. package/lib/schemas/zod/checkoutSession.schema.js +44 -0
  58. package/lib/schemas/zod/paymentLink.schema.d.ts +106 -0
  59. package/lib/schemas/zod/paymentLink.schema.d.ts.map +1 -0
  60. package/lib/schemas/zod/paymentLink.schema.js +49 -0
  61. package/lib/schemas/zod/plan.schema.d.ts +184 -0
  62. package/lib/schemas/zod/plan.schema.d.ts.map +1 -0
  63. package/lib/schemas/zod/plan.schema.js +57 -0
  64. package/lib/schemas/zod/subscription.schema.d.ts +188 -0
  65. package/lib/schemas/zod/subscription.schema.d.ts.map +1 -0
  66. package/lib/schemas/zod/subscription.schema.js +61 -0
  67. package/lib/services/billingPortal.service.d.ts +94 -0
  68. package/lib/services/billingPortal.service.d.ts.map +1 -0
  69. package/lib/services/billingPortal.service.js +70 -0
  70. package/lib/services/checkoutSession.service.d.ts +94 -0
  71. package/lib/services/checkoutSession.service.d.ts.map +1 -0
  72. package/lib/services/checkoutSession.service.js +60 -0
  73. package/lib/services/index.d.ts +6 -0
  74. package/lib/services/index.d.ts.map +1 -0
  75. package/lib/services/index.js +5 -0
  76. package/lib/services/paymentLink.service.d.ts +99 -0
  77. package/lib/services/paymentLink.service.d.ts.map +1 -0
  78. package/lib/services/paymentLink.service.js +90 -0
  79. package/lib/services/plan.service.d.ts +90 -0
  80. package/lib/services/plan.service.d.ts.map +1 -0
  81. package/lib/services/plan.service.js +48 -0
  82. package/lib/services/subscription.service.d.ts +145 -0
  83. package/lib/services/subscription.service.d.ts.map +1 -0
  84. package/lib/services/subscription.service.js +117 -0
  85. package/lib/tsconfig.tsbuildinfo +1 -0
  86. package/lib/vitest.config.d.ts +3 -0
  87. package/lib/vitest.config.d.ts.map +1 -0
  88. package/lib/vitest.config.js +7 -0
  89. package/package.json +8 -8
@@ -0,0 +1,114 @@
1
+ import { LiteralSchema } from '@forklaunch/validator';
2
+ export declare const CreateCheckoutSessionSchema: <
3
+ T extends Record<string, LiteralSchema>
4
+ >(
5
+ PaymentMethodEnum: T
6
+ ) => {
7
+ customerId: import('zod').ZodString;
8
+ paymentMethods: import('zod').ZodArray<
9
+ import('zod').ZodUnion<
10
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
11
+ >,
12
+ 'many'
13
+ >;
14
+ successRedirectUri: import('zod').ZodString;
15
+ cancelRedirectUri: import('zod').ZodString;
16
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
17
+ };
18
+ export declare const UpdateCheckoutSessionSchema: ({
19
+ uuidId
20
+ }: {
21
+ uuidId: boolean;
22
+ }) => <T extends Record<string, LiteralSchema>>(
23
+ PaymentMethodEnum: T
24
+ ) => {
25
+ id: import('zod').ZodString;
26
+ customerId: import('zod').ZodOptional<import('zod').ZodString>;
27
+ paymentMethods: import('zod').ZodOptional<
28
+ import('zod').ZodArray<
29
+ import('zod').ZodUnion<
30
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
31
+ >,
32
+ 'many'
33
+ >
34
+ >;
35
+ successRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
36
+ cancelRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
37
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
38
+ };
39
+ export declare const CheckoutSessionSchema: ({
40
+ uuidId
41
+ }: {
42
+ uuidId: boolean;
43
+ }) => <T extends Record<string, LiteralSchema>>(
44
+ PaymentMethodEnum: T
45
+ ) => {
46
+ id: import('zod').ZodString;
47
+ customerId: import('zod').ZodString;
48
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
49
+ paymentMethods: import('zod').ZodArray<
50
+ import('zod').ZodUnion<
51
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
52
+ >,
53
+ 'many'
54
+ >;
55
+ successRedirectUri: import('zod').ZodString;
56
+ cancelRedirectUri: import('zod').ZodString;
57
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
58
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
59
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
60
+ };
61
+ export declare const BaseCheckoutSessionServiceSchemas: (options: {
62
+ uuidId: boolean;
63
+ }) => {
64
+ CreateCheckoutSessionSchema: <T extends Record<string, LiteralSchema>>(
65
+ PaymentMethodEnum: T
66
+ ) => {
67
+ customerId: import('zod').ZodString;
68
+ paymentMethods: import('zod').ZodArray<
69
+ import('zod').ZodUnion<
70
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
71
+ >,
72
+ 'many'
73
+ >;
74
+ successRedirectUri: import('zod').ZodString;
75
+ cancelRedirectUri: import('zod').ZodString;
76
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
77
+ };
78
+ UpdateCheckoutSessionSchema: <T extends Record<string, LiteralSchema>>(
79
+ PaymentMethodEnum: T
80
+ ) => {
81
+ id: import('zod').ZodString;
82
+ customerId: import('zod').ZodOptional<import('zod').ZodString>;
83
+ paymentMethods: import('zod').ZodOptional<
84
+ import('zod').ZodArray<
85
+ import('zod').ZodUnion<
86
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
87
+ >,
88
+ 'many'
89
+ >
90
+ >;
91
+ successRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
92
+ cancelRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
93
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
94
+ };
95
+ CheckoutSessionSchema: <T extends Record<string, LiteralSchema>>(
96
+ PaymentMethodEnum: T
97
+ ) => {
98
+ id: import('zod').ZodString;
99
+ customerId: import('zod').ZodString;
100
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
101
+ paymentMethods: import('zod').ZodArray<
102
+ import('zod').ZodUnion<
103
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
104
+ >,
105
+ 'many'
106
+ >;
107
+ successRedirectUri: import('zod').ZodString;
108
+ cancelRedirectUri: import('zod').ZodString;
109
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
110
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
111
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
112
+ };
113
+ };
114
+ //# 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,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;;;;;;;CAO5D,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAC/B,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB,CAAC;;;;;;;;;;CAU5D,CAAC;AAEL,eAAO,MAAM,iCAAiC,GAAI,SAAS;IACzD,MAAM,EAAE,OAAO,CAAC;CACjB;kCAtCC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,qBAEpB,CAAC;;;;;;;kCAWnB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC;;;;;;;;4BAW7D,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC;;;;;;;;;;;CAkB9D,CAAC"}
@@ -0,0 +1,44 @@
1
+ import {
2
+ array,
3
+ date,
4
+ enum_,
5
+ optional,
6
+ string,
7
+ unknown,
8
+ uuid
9
+ } from '@forklaunch/validator/zod';
10
+ export const CreateCheckoutSessionSchema = (PaymentMethodEnum) => ({
11
+ customerId: string,
12
+ paymentMethods: array(enum_(PaymentMethodEnum)),
13
+ successRedirectUri: string,
14
+ cancelRedirectUri: string,
15
+ extraFields: optional(unknown)
16
+ });
17
+ export const UpdateCheckoutSessionSchema =
18
+ ({ uuidId }) =>
19
+ (PaymentMethodEnum) => ({
20
+ id: uuidId ? uuid : string,
21
+ customerId: optional(string),
22
+ paymentMethods: optional(array(enum_(PaymentMethodEnum))),
23
+ successRedirectUri: optional(string),
24
+ cancelRedirectUri: optional(string),
25
+ extraFields: optional(unknown)
26
+ });
27
+ export const CheckoutSessionSchema =
28
+ ({ uuidId }) =>
29
+ (PaymentMethodEnum) => ({
30
+ id: uuidId ? uuid : string,
31
+ customerId: string,
32
+ metadata: optional(unknown),
33
+ paymentMethods: array(enum_(PaymentMethodEnum)),
34
+ successRedirectUri: string,
35
+ cancelRedirectUri: string,
36
+ extraFields: optional(unknown),
37
+ createdAt: optional(date),
38
+ updatedAt: optional(date)
39
+ });
40
+ export const BaseCheckoutSessionServiceSchemas = (options) => ({
41
+ CreateCheckoutSessionSchema,
42
+ UpdateCheckoutSessionSchema: UpdateCheckoutSessionSchema(options),
43
+ CheckoutSessionSchema: CheckoutSessionSchema(options)
44
+ });
@@ -0,0 +1,106 @@
1
+ import { LiteralSchema } from '@forklaunch/validator';
2
+ export declare const CreatePaymentLinkSchema: <
3
+ T extends Record<string, LiteralSchema>
4
+ >(
5
+ CurrencyEnum: T
6
+ ) => {
7
+ amount: import('zod').ZodNumber;
8
+ currency: import('zod').ZodUnion<
9
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
10
+ >;
11
+ description: import('zod').ZodOptional<import('zod').ZodString>;
12
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
13
+ successRedirectUri: import('zod').ZodString;
14
+ cancelRedirectUri: import('zod').ZodString;
15
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
16
+ };
17
+ export declare const UpdatePaymentLinkSchema: ({
18
+ uuidId
19
+ }: {
20
+ uuidId: boolean;
21
+ }) => <T extends Record<string, LiteralSchema>>(
22
+ CurrencyEnum: T
23
+ ) => {
24
+ id: import('zod').ZodString;
25
+ amount: import('zod').ZodOptional<import('zod').ZodNumber>;
26
+ currency: import('zod').ZodOptional<
27
+ import('zod').ZodUnion<
28
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
29
+ >
30
+ >;
31
+ description: import('zod').ZodOptional<import('zod').ZodString>;
32
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
33
+ successRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
34
+ cancelRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
35
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
36
+ };
37
+ export declare const PaymentLinkSchema: ({
38
+ uuidId
39
+ }: {
40
+ uuidId: boolean;
41
+ }) => <T extends Record<string, LiteralSchema>>(
42
+ CurrencyEnum: T
43
+ ) => {
44
+ id: import('zod').ZodString;
45
+ amount: import('zod').ZodNumber;
46
+ currency: import('zod').ZodUnion<
47
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
48
+ >;
49
+ description: import('zod').ZodOptional<import('zod').ZodString>;
50
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
51
+ successRedirectUri: import('zod').ZodString;
52
+ cancelRedirectUri: import('zod').ZodString;
53
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
54
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
55
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
56
+ };
57
+ export declare const BasePaymentLinkServiceSchemas: (options: {
58
+ uuidId: boolean;
59
+ }) => {
60
+ CreatePaymentLinkSchema: <T extends Record<string, LiteralSchema>>(
61
+ CurrencyEnum: T
62
+ ) => {
63
+ amount: import('zod').ZodNumber;
64
+ currency: import('zod').ZodUnion<
65
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
66
+ >;
67
+ description: import('zod').ZodOptional<import('zod').ZodString>;
68
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
69
+ successRedirectUri: import('zod').ZodString;
70
+ cancelRedirectUri: import('zod').ZodString;
71
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
72
+ };
73
+ UpdatePaymentLinkSchema: <T extends Record<string, LiteralSchema>>(
74
+ CurrencyEnum: T
75
+ ) => {
76
+ id: import('zod').ZodString;
77
+ amount: import('zod').ZodOptional<import('zod').ZodNumber>;
78
+ currency: import('zod').ZodOptional<
79
+ import('zod').ZodUnion<
80
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
81
+ >
82
+ >;
83
+ description: import('zod').ZodOptional<import('zod').ZodString>;
84
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
85
+ successRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
86
+ cancelRedirectUri: import('zod').ZodOptional<import('zod').ZodString>;
87
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
88
+ };
89
+ PaymentLinkSchema: <T extends Record<string, LiteralSchema>>(
90
+ CurrencyEnum: T
91
+ ) => {
92
+ id: import('zod').ZodString;
93
+ amount: import('zod').ZodNumber;
94
+ currency: import('zod').ZodUnion<
95
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
96
+ >;
97
+ description: import('zod').ZodOptional<import('zod').ZodString>;
98
+ metadata: import('zod').ZodOptional<import('zod').ZodUnknown>;
99
+ successRedirectUri: import('zod').ZodString;
100
+ cancelRedirectUri: import('zod').ZodString;
101
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
102
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
103
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
104
+ };
105
+ };
106
+ //# 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,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC;;;;;;;;;CASvD,CAAC;AAEL,eAAO,MAAM,iBAAiB,GAC3B,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAC/B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,cAAc,CAAC;;;;;;;;;;;CAWvD,CAAC;AAEL,eAAO,MAAM,6BAA6B,GAAI,SAAS;IACrD,MAAM,EAAE,OAAO,CAAC;CACjB;8BA3CC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,gBAEzB,CAAC;;;;;;;;;8BAad,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC;;;;;;;;;;wBAaxD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC;;;;;;;;;;;;CAmBzD,CAAC"}
@@ -0,0 +1,49 @@
1
+ import {
2
+ date,
3
+ enum_,
4
+ number,
5
+ optional,
6
+ string,
7
+ unknown,
8
+ uuid
9
+ } from '@forklaunch/validator/zod';
10
+ export const CreatePaymentLinkSchema = (CurrencyEnum) => ({
11
+ amount: number,
12
+ currency: enum_(CurrencyEnum),
13
+ description: optional(string),
14
+ metadata: optional(unknown),
15
+ successRedirectUri: string,
16
+ cancelRedirectUri: string,
17
+ extraFields: optional(unknown)
18
+ });
19
+ export const UpdatePaymentLinkSchema =
20
+ ({ uuidId }) =>
21
+ (CurrencyEnum) => ({
22
+ id: uuidId ? uuid : string,
23
+ amount: optional(number),
24
+ currency: optional(enum_(CurrencyEnum)),
25
+ description: optional(string),
26
+ metadata: optional(unknown),
27
+ successRedirectUri: optional(string),
28
+ cancelRedirectUri: optional(string),
29
+ extraFields: optional(unknown)
30
+ });
31
+ export const PaymentLinkSchema =
32
+ ({ uuidId }) =>
33
+ (CurrencyEnum) => ({
34
+ id: uuidId ? uuid : string,
35
+ amount: number,
36
+ currency: enum_(CurrencyEnum),
37
+ description: optional(string),
38
+ metadata: optional(unknown),
39
+ successRedirectUri: string,
40
+ cancelRedirectUri: string,
41
+ extraFields: optional(unknown),
42
+ createdAt: optional(date),
43
+ updatedAt: optional(date)
44
+ });
45
+ export const BasePaymentLinkServiceSchemas = (options) => ({
46
+ CreatePaymentLinkSchema,
47
+ UpdatePaymentLinkSchema: UpdatePaymentLinkSchema(options),
48
+ PaymentLinkSchema: PaymentLinkSchema(options)
49
+ });
@@ -0,0 +1,184 @@
1
+ import { LiteralSchema } from '@forklaunch/validator';
2
+ export declare const CreatePlanSchema: <
3
+ T extends Record<string, LiteralSchema>,
4
+ U extends Record<string, LiteralSchema>
5
+ >(
6
+ PlanCadenceEnum: T,
7
+ BillingProviderEnum: U
8
+ ) => {
9
+ name: import('zod').ZodString;
10
+ description: import('zod').ZodOptional<import('zod').ZodString>;
11
+ price: import('zod').ZodNumber;
12
+ cadence: import('zod').ZodUnion<
13
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
14
+ >;
15
+ features: import('zod').ZodArray<import('zod').ZodString, 'many'>;
16
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
17
+ externalId: import('zod').ZodString;
18
+ billingProvider: import('zod').ZodOptional<
19
+ import('zod').ZodUnion<
20
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
21
+ >
22
+ >;
23
+ active: import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>;
24
+ };
25
+ export declare const UpdatePlanSchema: ({
26
+ uuidId
27
+ }: {
28
+ uuidId: boolean;
29
+ }) => <
30
+ T extends Record<string, LiteralSchema>,
31
+ U extends Record<string, LiteralSchema>
32
+ >(
33
+ PlanCadenceEnum: T,
34
+ BillingProviderEnum: U
35
+ ) => {
36
+ id: import('zod').ZodString;
37
+ name: import('zod').ZodOptional<import('zod').ZodString>;
38
+ description: import('zod').ZodOptional<import('zod').ZodString>;
39
+ price: import('zod').ZodOptional<import('zod').ZodNumber>;
40
+ cadence: import('zod').ZodOptional<
41
+ import('zod').ZodUnion<
42
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
43
+ >
44
+ >;
45
+ features: import('zod').ZodOptional<
46
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
47
+ >;
48
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
49
+ externalId: import('zod').ZodOptional<import('zod').ZodString>;
50
+ billingProvider: import('zod').ZodOptional<
51
+ import('zod').ZodUnion<
52
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
53
+ >
54
+ >;
55
+ active: import('zod').ZodOptional<
56
+ import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>
57
+ >;
58
+ };
59
+ export declare const PlanSchema: ({
60
+ uuidId
61
+ }: {
62
+ uuidId: boolean;
63
+ }) => <
64
+ T extends Record<string, LiteralSchema>,
65
+ U extends Record<string, LiteralSchema>
66
+ >(
67
+ PlanCadenceEnum: T,
68
+ BillingProviderEnum: U
69
+ ) => {
70
+ id: import('zod').ZodString;
71
+ name: import('zod').ZodString;
72
+ description: import('zod').ZodOptional<import('zod').ZodString>;
73
+ price: import('zod').ZodNumber;
74
+ cadence: import('zod').ZodUnion<
75
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
76
+ >;
77
+ features: import('zod').ZodOptional<
78
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
79
+ >;
80
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
81
+ externalId: import('zod').ZodString;
82
+ billingProvider: import('zod').ZodOptional<
83
+ import('zod').ZodUnion<
84
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
85
+ >
86
+ >;
87
+ active: import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>;
88
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
89
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
90
+ };
91
+ export declare const BasePlanServiceSchemas: (options: {
92
+ uuidId: boolean;
93
+ }) => {
94
+ CreatePlanSchema: <
95
+ T extends Record<string, LiteralSchema>,
96
+ U extends Record<string, LiteralSchema>
97
+ >(
98
+ PlanCadenceEnum: T,
99
+ BillingProviderEnum: U
100
+ ) => {
101
+ name: import('zod').ZodString;
102
+ description: import('zod').ZodOptional<import('zod').ZodString>;
103
+ price: import('zod').ZodNumber;
104
+ cadence: import('zod').ZodUnion<
105
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
106
+ >;
107
+ features: import('zod').ZodArray<import('zod').ZodString, 'many'>;
108
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
109
+ externalId: import('zod').ZodString;
110
+ billingProvider: import('zod').ZodOptional<
111
+ import('zod').ZodUnion<
112
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
113
+ >
114
+ >;
115
+ active: import('zod').ZodEffects<
116
+ import('zod').ZodBoolean,
117
+ boolean,
118
+ unknown
119
+ >;
120
+ };
121
+ UpdatePlanSchema: <
122
+ T extends Record<string, LiteralSchema>,
123
+ U extends Record<string, LiteralSchema>
124
+ >(
125
+ PlanCadenceEnum: T,
126
+ BillingProviderEnum: U
127
+ ) => {
128
+ id: import('zod').ZodString;
129
+ name: import('zod').ZodOptional<import('zod').ZodString>;
130
+ description: import('zod').ZodOptional<import('zod').ZodString>;
131
+ price: import('zod').ZodOptional<import('zod').ZodNumber>;
132
+ cadence: import('zod').ZodOptional<
133
+ import('zod').ZodUnion<
134
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
135
+ >
136
+ >;
137
+ features: import('zod').ZodOptional<
138
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
139
+ >;
140
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
141
+ externalId: import('zod').ZodOptional<import('zod').ZodString>;
142
+ billingProvider: import('zod').ZodOptional<
143
+ import('zod').ZodUnion<
144
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
145
+ >
146
+ >;
147
+ active: import('zod').ZodOptional<
148
+ import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>
149
+ >;
150
+ };
151
+ PlanSchema: <
152
+ T extends Record<string, LiteralSchema>,
153
+ U extends Record<string, LiteralSchema>
154
+ >(
155
+ PlanCadenceEnum: T,
156
+ BillingProviderEnum: U
157
+ ) => {
158
+ id: import('zod').ZodString;
159
+ name: import('zod').ZodString;
160
+ description: import('zod').ZodOptional<import('zod').ZodString>;
161
+ price: import('zod').ZodNumber;
162
+ cadence: import('zod').ZodUnion<
163
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
164
+ >;
165
+ features: import('zod').ZodOptional<
166
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
167
+ >;
168
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
169
+ externalId: import('zod').ZodString;
170
+ billingProvider: import('zod').ZodOptional<
171
+ import('zod').ZodUnion<
172
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
173
+ >
174
+ >;
175
+ active: import('zod').ZodEffects<
176
+ import('zod').ZodBoolean,
177
+ boolean,
178
+ unknown
179
+ >;
180
+ createdAt: import('zod').ZodOptional<import('zod').ZodDate>;
181
+ updatedAt: import('zod').ZodOptional<import('zod').ZodDate>;
182
+ };
183
+ };
184
+ //# 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,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAE9B,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,YAAY;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,MAE9B,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;AAEL,eAAO,MAAM,sBAAsB,GAAI,SAAS;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE;uBA7DjE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,mBAEtB,CAAC,uBACG,CAAC;;;;;;;;;;;uBAgBpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,mBAEtB,CAAC,uBACG,CAAC;;;;;;;;;;;;iBAiBtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,mBAEtB,CAAC,uBACG,CAAC;;;;;;;;;;;;;;CAoBxB,CAAC"}
@@ -0,0 +1,57 @@
1
+ import {
2
+ array,
3
+ boolean,
4
+ date,
5
+ enum_,
6
+ number,
7
+ optional,
8
+ string,
9
+ unknown,
10
+ uuid
11
+ } from '@forklaunch/validator/zod';
12
+ export const CreatePlanSchema = (PlanCadenceEnum, BillingProviderEnum) => ({
13
+ name: string,
14
+ description: optional(string),
15
+ price: number,
16
+ cadence: enum_(PlanCadenceEnum),
17
+ features: array(string),
18
+ extraFields: optional(unknown),
19
+ externalId: string,
20
+ billingProvider: optional(enum_(BillingProviderEnum)),
21
+ active: boolean
22
+ });
23
+ export const UpdatePlanSchema =
24
+ ({ uuidId }) =>
25
+ (PlanCadenceEnum, BillingProviderEnum) => ({
26
+ id: uuidId ? uuid : string,
27
+ name: optional(string),
28
+ description: optional(string),
29
+ price: optional(number),
30
+ cadence: optional(enum_(PlanCadenceEnum)),
31
+ features: optional(array(string)),
32
+ extraFields: optional(unknown),
33
+ externalId: optional(string),
34
+ billingProvider: optional(enum_(BillingProviderEnum)),
35
+ active: optional(boolean)
36
+ });
37
+ export const PlanSchema =
38
+ ({ uuidId }) =>
39
+ (PlanCadenceEnum, BillingProviderEnum) => ({
40
+ id: uuidId ? uuid : string,
41
+ name: string,
42
+ description: optional(string),
43
+ price: number,
44
+ cadence: enum_(PlanCadenceEnum),
45
+ features: optional(array(string)),
46
+ extraFields: optional(unknown),
47
+ externalId: string,
48
+ billingProvider: optional(enum_(BillingProviderEnum)),
49
+ active: boolean,
50
+ createdAt: optional(date),
51
+ updatedAt: optional(date)
52
+ });
53
+ export const BasePlanServiceSchemas = (options) => ({
54
+ CreatePlanSchema,
55
+ UpdatePlanSchema: UpdatePlanSchema(options),
56
+ PlanSchema: PlanSchema(options)
57
+ });