@forklaunch/implementation-billing-base 0.1.13 → 0.1.15

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 (50) hide show
  1. package/lib/__test__/schemaEquality.test.d.ts +1 -1
  2. package/lib/__test__/schemaEquality.test.js +305 -146
  3. package/lib/jest.config.d.ts +1 -1
  4. package/lib/jest.config.js +16 -16
  5. package/lib/schemas/billingPortal.schema.d.ts +103 -34
  6. package/lib/schemas/billingPortal.schema.js +4 -1
  7. package/lib/schemas/checkoutSession.schema.d.ts +169 -54
  8. package/lib/schemas/checkoutSession.schema.js +4 -1
  9. package/lib/schemas/index.d.ts +1 -1
  10. package/lib/schemas/paymentLink.schema.d.ts +220 -64
  11. package/lib/schemas/paymentLink.schema.js +4 -1
  12. package/lib/schemas/plan.schema.d.ts +328 -76
  13. package/lib/schemas/plan.schema.js +4 -1
  14. package/lib/schemas/subscription.schema.d.ts +356 -88
  15. package/lib/schemas/subscription.schema.js +4 -1
  16. package/lib/schemas/typebox/billingPortal.schema.d.ts +152 -38
  17. package/lib/schemas/typebox/billingPortal.schema.js +23 -17
  18. package/lib/schemas/typebox/checkoutSession.schema.d.ts +189 -55
  19. package/lib/schemas/typebox/checkoutSession.schema.js +25 -13
  20. package/lib/schemas/typebox/paymentLink.schema.d.ts +267 -65
  21. package/lib/schemas/typebox/paymentLink.schema.js +27 -15
  22. package/lib/schemas/typebox/plan.schema.d.ts +401 -77
  23. package/lib/schemas/typebox/plan.schema.js +31 -17
  24. package/lib/schemas/typebox/subscription.schema.d.ts +449 -89
  25. package/lib/schemas/typebox/subscription.schema.js +31 -19
  26. package/lib/schemas/zod/billingPortal.schema.d.ts +54 -38
  27. package/lib/schemas/zod/billingPortal.schema.js +23 -17
  28. package/lib/schemas/zod/checkoutSession.schema.d.ts +115 -55
  29. package/lib/schemas/zod/checkoutSession.schema.js +25 -13
  30. package/lib/schemas/zod/paymentLink.schema.d.ts +111 -65
  31. package/lib/schemas/zod/paymentLink.schema.js +27 -15
  32. package/lib/schemas/zod/plan.schema.d.ts +189 -77
  33. package/lib/schemas/zod/plan.schema.js +31 -17
  34. package/lib/schemas/zod/subscription.schema.d.ts +197 -89
  35. package/lib/schemas/zod/subscription.schema.js +31 -19
  36. package/lib/services/billingPortal.service.d.ts +77 -28
  37. package/lib/services/billingPortal.service.js +64 -45
  38. package/lib/services/checkoutSession.service.d.ts +77 -29
  39. package/lib/services/checkoutSession.service.js +54 -43
  40. package/lib/services/index.d.ts +1 -1
  41. package/lib/services/paymentLink.service.d.ts +82 -32
  42. package/lib/services/paymentLink.service.js +84 -66
  43. package/lib/services/plan.service.d.ts +73 -26
  44. package/lib/services/plan.service.js +45 -40
  45. package/lib/services/subscription.service.d.ts +136 -44
  46. package/lib/services/subscription.service.js +111 -88
  47. package/lib/tsconfig.tsbuildinfo +1 -1
  48. package/lib/vitest.config.d.ts +2 -2
  49. package/lib/vitest.config.js +4 -4
  50. package/package.json +8 -8
@@ -1,84 +1,196 @@
1
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").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>;
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').ZodEffects<import('zod').ZodNumber, number, unknown>;
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>;
12
24
  };
13
- export declare const UpdatePlanSchema: ({ uuidId }: {
14
- uuidId: boolean;
15
- }) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
16
- id: import("zod").ZodString;
17
- name: import("zod").ZodOptional<import("zod").ZodString>;
18
- description: import("zod").ZodOptional<import("zod").ZodString>;
19
- price: import("zod").ZodOptional<import("zod").ZodNumber>;
20
- cadence: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>>;
21
- features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
22
- extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
23
- externalId: import("zod").ZodOptional<import("zod").ZodString>;
24
- billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
25
- active: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>>;
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<
40
+ import('zod').ZodEffects<import('zod').ZodNumber, number, unknown>
41
+ >;
42
+ cadence: import('zod').ZodOptional<
43
+ import('zod').ZodUnion<
44
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
45
+ >
46
+ >;
47
+ features: import('zod').ZodOptional<
48
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
49
+ >;
50
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
51
+ externalId: import('zod').ZodOptional<import('zod').ZodString>;
52
+ billingProvider: import('zod').ZodOptional<
53
+ import('zod').ZodUnion<
54
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
55
+ >
56
+ >;
57
+ active: import('zod').ZodOptional<
58
+ import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>
59
+ >;
26
60
  };
27
- export declare const PlanSchema: ({ uuidId }: {
28
- uuidId: boolean;
29
- }) => <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
30
- id: import("zod").ZodString;
31
- name: import("zod").ZodString;
32
- description: import("zod").ZodOptional<import("zod").ZodString>;
33
- price: import("zod").ZodNumber;
34
- cadence: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
35
- features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
36
- extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
37
- externalId: import("zod").ZodString;
38
- billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
39
- active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
40
- createdAt: import("zod").ZodOptional<import("zod").ZodDate>;
41
- updatedAt: import("zod").ZodOptional<import("zod").ZodDate>;
61
+ export declare const PlanSchema: ({
62
+ uuidId
63
+ }: {
64
+ uuidId: boolean;
65
+ }) => <
66
+ T extends Record<string, LiteralSchema>,
67
+ U extends Record<string, LiteralSchema>
68
+ >(
69
+ PlanCadenceEnum: T,
70
+ BillingProviderEnum: U
71
+ ) => {
72
+ id: import('zod').ZodString;
73
+ name: import('zod').ZodString;
74
+ description: import('zod').ZodOptional<import('zod').ZodString>;
75
+ price: import('zod').ZodEffects<import('zod').ZodNumber, number, unknown>;
76
+ cadence: import('zod').ZodUnion<
77
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
78
+ >;
79
+ features: import('zod').ZodOptional<
80
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
81
+ >;
82
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
83
+ externalId: import('zod').ZodString;
84
+ billingProvider: import('zod').ZodOptional<
85
+ import('zod').ZodUnion<
86
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
87
+ >
88
+ >;
89
+ active: import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>;
90
+ createdAt: import('zod').ZodOptional<
91
+ import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
92
+ >;
93
+ updatedAt: import('zod').ZodOptional<
94
+ import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
95
+ >;
42
96
  };
43
97
  export declare const BasePlanServiceSchemas: (options: {
44
- uuidId: boolean;
98
+ uuidId: boolean;
45
99
  }) => {
46
- CreatePlanSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
47
- name: import("zod").ZodString;
48
- description: import("zod").ZodOptional<import("zod").ZodString>;
49
- price: import("zod").ZodNumber;
50
- cadence: import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
51
- features: import("zod").ZodArray<import("zod").ZodString, "many">;
52
- extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
53
- externalId: import("zod").ZodString;
54
- billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
55
- active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
56
- };
57
- UpdatePlanSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
58
- id: import("zod").ZodString;
59
- name: import("zod").ZodOptional<import("zod").ZodString>;
60
- description: import("zod").ZodOptional<import("zod").ZodString>;
61
- price: import("zod").ZodOptional<import("zod").ZodNumber>;
62
- cadence: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>>;
63
- features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
64
- extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
65
- externalId: import("zod").ZodOptional<import("zod").ZodString>;
66
- billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
67
- active: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>>;
68
- };
69
- PlanSchema: <T extends Record<string, LiteralSchema>, U extends Record<string, LiteralSchema>>(PlanCadenceEnum: T, BillingProviderEnum: U) => {
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<[{ [K in keyof T]: import("zod").ZodLiteral<T[K]>; }[keyof T]]>;
75
- features: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
76
- extraFields: import("zod").ZodOptional<import("zod").ZodUnknown>;
77
- externalId: import("zod").ZodString;
78
- billingProvider: import("zod").ZodOptional<import("zod").ZodUnion<[{ [K_1 in keyof U]: import("zod").ZodLiteral<U[K_1]>; }[keyof U]]>>;
79
- active: import("zod").ZodEffects<import("zod").ZodBoolean, boolean, unknown>;
80
- createdAt: import("zod").ZodOptional<import("zod").ZodDate>;
81
- updatedAt: import("zod").ZodOptional<import("zod").ZodDate>;
82
- };
100
+ CreatePlanSchema: <
101
+ T extends Record<string, LiteralSchema>,
102
+ U extends Record<string, LiteralSchema>
103
+ >(
104
+ PlanCadenceEnum: T,
105
+ BillingProviderEnum: U
106
+ ) => {
107
+ name: import('zod').ZodString;
108
+ description: import('zod').ZodOptional<import('zod').ZodString>;
109
+ price: import('zod').ZodEffects<import('zod').ZodNumber, number, unknown>;
110
+ cadence: import('zod').ZodUnion<
111
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
112
+ >;
113
+ features: import('zod').ZodArray<import('zod').ZodString, 'many'>;
114
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
115
+ externalId: import('zod').ZodString;
116
+ billingProvider: import('zod').ZodOptional<
117
+ import('zod').ZodUnion<
118
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
119
+ >
120
+ >;
121
+ active: import('zod').ZodEffects<
122
+ import('zod').ZodBoolean,
123
+ boolean,
124
+ unknown
125
+ >;
126
+ };
127
+ UpdatePlanSchema: <
128
+ T extends Record<string, LiteralSchema>,
129
+ U extends Record<string, LiteralSchema>
130
+ >(
131
+ PlanCadenceEnum: T,
132
+ BillingProviderEnum: U
133
+ ) => {
134
+ id: import('zod').ZodString;
135
+ name: import('zod').ZodOptional<import('zod').ZodString>;
136
+ description: import('zod').ZodOptional<import('zod').ZodString>;
137
+ price: import('zod').ZodOptional<
138
+ import('zod').ZodEffects<import('zod').ZodNumber, number, unknown>
139
+ >;
140
+ cadence: import('zod').ZodOptional<
141
+ import('zod').ZodUnion<
142
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
143
+ >
144
+ >;
145
+ features: import('zod').ZodOptional<
146
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
147
+ >;
148
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
149
+ externalId: import('zod').ZodOptional<import('zod').ZodString>;
150
+ billingProvider: import('zod').ZodOptional<
151
+ import('zod').ZodUnion<
152
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
153
+ >
154
+ >;
155
+ active: import('zod').ZodOptional<
156
+ import('zod').ZodEffects<import('zod').ZodBoolean, boolean, unknown>
157
+ >;
158
+ };
159
+ PlanSchema: <
160
+ T extends Record<string, LiteralSchema>,
161
+ U extends Record<string, LiteralSchema>
162
+ >(
163
+ PlanCadenceEnum: T,
164
+ BillingProviderEnum: U
165
+ ) => {
166
+ id: import('zod').ZodString;
167
+ name: import('zod').ZodString;
168
+ description: import('zod').ZodOptional<import('zod').ZodString>;
169
+ price: import('zod').ZodEffects<import('zod').ZodNumber, number, unknown>;
170
+ cadence: import('zod').ZodUnion<
171
+ [{ [K in keyof T]: import('zod').ZodLiteral<T[K]> }[keyof T]]
172
+ >;
173
+ features: import('zod').ZodOptional<
174
+ import('zod').ZodArray<import('zod').ZodString, 'many'>
175
+ >;
176
+ extraFields: import('zod').ZodOptional<import('zod').ZodUnknown>;
177
+ externalId: import('zod').ZodString;
178
+ billingProvider: import('zod').ZodOptional<
179
+ import('zod').ZodUnion<
180
+ [{ [K_1 in keyof U]: import('zod').ZodLiteral<U[K_1]> }[keyof U]]
181
+ >
182
+ >;
183
+ active: import('zod').ZodEffects<
184
+ import('zod').ZodBoolean,
185
+ boolean,
186
+ unknown
187
+ >;
188
+ createdAt: import('zod').ZodOptional<
189
+ import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
190
+ >;
191
+ updatedAt: import('zod').ZodOptional<
192
+ import('zod').ZodEffects<import('zod').ZodDate, Date, unknown>
193
+ >;
194
+ };
83
195
  };
84
- //# sourceMappingURL=plan.schema.d.ts.map
196
+ //# sourceMappingURL=plan.schema.d.ts.map
@@ -1,16 +1,28 @@
1
- import { array, boolean, date, enum_, number, optional, string, unknown, uuid } from '@forklaunch/validator/zod';
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';
2
12
  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
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
12
22
  });
13
- export const UpdatePlanSchema = ({ uuidId }) => (PlanCadenceEnum, BillingProviderEnum) => ({
23
+ export const UpdatePlanSchema =
24
+ ({ uuidId }) =>
25
+ (PlanCadenceEnum, BillingProviderEnum) => ({
14
26
  id: uuidId ? uuid : string,
15
27
  name: optional(string),
16
28
  description: optional(string),
@@ -21,8 +33,10 @@ export const UpdatePlanSchema = ({ uuidId }) => (PlanCadenceEnum, BillingProvide
21
33
  externalId: optional(string),
22
34
  billingProvider: optional(enum_(BillingProviderEnum)),
23
35
  active: optional(boolean)
24
- });
25
- export const PlanSchema = ({ uuidId }) => (PlanCadenceEnum, BillingProviderEnum) => ({
36
+ });
37
+ export const PlanSchema =
38
+ ({ uuidId }) =>
39
+ (PlanCadenceEnum, BillingProviderEnum) => ({
26
40
  id: uuidId ? uuid : string,
27
41
  name: string,
28
42
  description: optional(string),
@@ -35,9 +49,9 @@ export const PlanSchema = ({ uuidId }) => (PlanCadenceEnum, BillingProviderEnum)
35
49
  active: boolean,
36
50
  createdAt: optional(date),
37
51
  updatedAt: optional(date)
38
- });
52
+ });
39
53
  export const BasePlanServiceSchemas = (options) => ({
40
- CreatePlanSchema,
41
- UpdatePlanSchema: UpdatePlanSchema(options),
42
- PlanSchema: PlanSchema(options)
54
+ CreatePlanSchema,
55
+ UpdatePlanSchema: UpdatePlanSchema(options),
56
+ PlanSchema: PlanSchema(options)
43
57
  });