@forklaunch/implementation-billing-base 0.2.3 → 0.3.1

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 (81) hide show
  1. package/lib/schemas/index.d.mts +402 -0
  2. package/lib/schemas/index.d.ts +402 -6
  3. package/lib/schemas/index.js +498 -5
  4. package/lib/schemas/index.mjs +547 -0
  5. package/lib/services/index.d.mts +255 -0
  6. package/lib/services/index.d.ts +255 -6
  7. package/lib/services/index.js +610 -5
  8. package/lib/services/index.mjs +599 -0
  9. package/package.json +6 -5
  10. package/lib/__test__/schemaEquality.test.d.ts +0 -2
  11. package/lib/__test__/schemaEquality.test.d.ts.map +0 -1
  12. package/lib/__test__/schemaEquality.test.js +0 -430
  13. package/lib/jest.config.d.ts +0 -4
  14. package/lib/jest.config.d.ts.map +0 -1
  15. package/lib/jest.config.js +0 -19
  16. package/lib/schemas/billingPortal.schema.d.ts +0 -119
  17. package/lib/schemas/billingPortal.schema.d.ts.map +0 -1
  18. package/lib/schemas/billingPortal.schema.js +0 -7
  19. package/lib/schemas/checkoutSession.schema.d.ts +0 -265
  20. package/lib/schemas/checkoutSession.schema.d.ts.map +0 -1
  21. package/lib/schemas/checkoutSession.schema.js +0 -7
  22. package/lib/schemas/index.d.ts.map +0 -1
  23. package/lib/schemas/paymentLink.schema.d.ts +0 -319
  24. package/lib/schemas/paymentLink.schema.d.ts.map +0 -1
  25. package/lib/schemas/paymentLink.schema.js +0 -7
  26. package/lib/schemas/plan.schema.d.ts +0 -338
  27. package/lib/schemas/plan.schema.d.ts.map +0 -1
  28. package/lib/schemas/plan.schema.js +0 -7
  29. package/lib/schemas/subscription.schema.d.ts +0 -366
  30. package/lib/schemas/subscription.schema.d.ts.map +0 -1
  31. package/lib/schemas/subscription.schema.js +0 -7
  32. package/lib/schemas/typebox/billingPortal.schema.d.ts +0 -161
  33. package/lib/schemas/typebox/billingPortal.schema.d.ts.map +0 -1
  34. package/lib/schemas/typebox/billingPortal.schema.js +0 -31
  35. package/lib/schemas/typebox/checkoutSession.schema.d.ts +0 -316
  36. package/lib/schemas/typebox/checkoutSession.schema.d.ts.map +0 -1
  37. package/lib/schemas/typebox/checkoutSession.schema.js +0 -50
  38. package/lib/schemas/typebox/paymentLink.schema.d.ts +0 -406
  39. package/lib/schemas/typebox/paymentLink.schema.d.ts.map +0 -1
  40. package/lib/schemas/typebox/paymentLink.schema.js +0 -55
  41. package/lib/schemas/typebox/plan.schema.d.ts +0 -408
  42. package/lib/schemas/typebox/plan.schema.d.ts.map +0 -1
  43. package/lib/schemas/typebox/plan.schema.js +0 -57
  44. package/lib/schemas/typebox/subscription.schema.d.ts +0 -456
  45. package/lib/schemas/typebox/subscription.schema.d.ts.map +0 -1
  46. package/lib/schemas/typebox/subscription.schema.js +0 -61
  47. package/lib/schemas/zod/billingPortal.schema.d.ts +0 -63
  48. package/lib/schemas/zod/billingPortal.schema.d.ts.map +0 -1
  49. package/lib/schemas/zod/billingPortal.schema.js +0 -31
  50. package/lib/schemas/zod/checkoutSession.schema.d.ts +0 -176
  51. package/lib/schemas/zod/checkoutSession.schema.d.ts.map +0 -1
  52. package/lib/schemas/zod/checkoutSession.schema.js +0 -50
  53. package/lib/schemas/zod/paymentLink.schema.d.ts +0 -172
  54. package/lib/schemas/zod/paymentLink.schema.d.ts.map +0 -1
  55. package/lib/schemas/zod/paymentLink.schema.js +0 -55
  56. package/lib/schemas/zod/plan.schema.d.ts +0 -196
  57. package/lib/schemas/zod/plan.schema.d.ts.map +0 -1
  58. package/lib/schemas/zod/plan.schema.js +0 -57
  59. package/lib/schemas/zod/subscription.schema.d.ts +0 -204
  60. package/lib/schemas/zod/subscription.schema.d.ts.map +0 -1
  61. package/lib/schemas/zod/subscription.schema.js +0 -61
  62. package/lib/services/billingPortal.service.d.ts +0 -112
  63. package/lib/services/billingPortal.service.d.ts.map +0 -1
  64. package/lib/services/billingPortal.service.js +0 -128
  65. package/lib/services/checkoutSession.service.d.ts +0 -137
  66. package/lib/services/checkoutSession.service.d.ts.map +0 -1
  67. package/lib/services/checkoutSession.service.js +0 -111
  68. package/lib/services/index.d.ts.map +0 -1
  69. package/lib/services/paymentLink.service.d.ts +0 -118
  70. package/lib/services/paymentLink.service.d.ts.map +0 -1
  71. package/lib/services/paymentLink.service.js +0 -154
  72. package/lib/services/plan.service.d.ts +0 -102
  73. package/lib/services/plan.service.d.ts.map +0 -1
  74. package/lib/services/plan.service.js +0 -80
  75. package/lib/services/subscription.service.d.ts +0 -159
  76. package/lib/services/subscription.service.d.ts.map +0 -1
  77. package/lib/services/subscription.service.js +0 -169
  78. package/lib/tsconfig.tsbuildinfo +0 -1
  79. package/lib/vitest.config.d.ts +0 -3
  80. package/lib/vitest.config.d.ts.map +0 -1
  81. package/lib/vitest.config.js +0 -7
@@ -1,408 +0,0 @@
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('@sinclair/typebox').TString;
10
- description: import('@sinclair/typebox').TOptional<
11
- import('@sinclair/typebox').TString
12
- >;
13
- price: import('@sinclair/typebox').TTransform<
14
- import('@sinclair/typebox').TUnion<
15
- [
16
- import('@sinclair/typebox').TNumber,
17
- import('@sinclair/typebox').TString,
18
- import('@sinclair/typebox').TBoolean,
19
- import('@sinclair/typebox').TNull,
20
- import('@sinclair/typebox').TBigInt,
21
- import('@sinclair/typebox').TDate
22
- ]
23
- >,
24
- number
25
- >;
26
- cadence: import('@sinclair/typebox').TUnion<
27
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
28
- >;
29
- features: import('@sinclair/typebox').TArray<
30
- import('@sinclair/typebox').TString
31
- >;
32
- extraFields: import('@sinclair/typebox').TOptional<
33
- import('@sinclair/typebox').TUnknown
34
- >;
35
- externalId: import('@sinclair/typebox').TString;
36
- billingProvider: import('@sinclair/typebox').TOptional<
37
- import('@sinclair/typebox').TUnion<
38
- [
39
- {
40
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
41
- }[keyof U]
42
- ]
43
- >
44
- >;
45
- active: import('@sinclair/typebox').TTransform<
46
- import('@sinclair/typebox').TUnion<
47
- [
48
- import('@sinclair/typebox').TBoolean,
49
- import('@sinclair/typebox').TString
50
- ]
51
- >,
52
- boolean
53
- >;
54
- };
55
- export declare const UpdatePlanSchema: ({
56
- uuidId
57
- }: {
58
- uuidId: boolean;
59
- }) => <
60
- T extends Record<string, LiteralSchema>,
61
- U extends Record<string, LiteralSchema>
62
- >(
63
- PlanCadenceEnum: T,
64
- BillingProviderEnum: U
65
- ) => {
66
- id: import('@sinclair/typebox').TString;
67
- name: import('@sinclair/typebox').TOptional<
68
- import('@sinclair/typebox').TString
69
- >;
70
- description: import('@sinclair/typebox').TOptional<
71
- import('@sinclair/typebox').TString
72
- >;
73
- price: import('@sinclair/typebox').TOptional<
74
- import('@sinclair/typebox').TTransform<
75
- import('@sinclair/typebox').TUnion<
76
- [
77
- import('@sinclair/typebox').TNumber,
78
- import('@sinclair/typebox').TString,
79
- import('@sinclair/typebox').TBoolean,
80
- import('@sinclair/typebox').TNull,
81
- import('@sinclair/typebox').TBigInt,
82
- import('@sinclair/typebox').TDate
83
- ]
84
- >,
85
- number
86
- >
87
- >;
88
- cadence: import('@sinclair/typebox').TOptional<
89
- import('@sinclair/typebox').TUnion<
90
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
91
- >
92
- >;
93
- features: import('@sinclair/typebox').TOptional<
94
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
95
- >;
96
- extraFields: import('@sinclair/typebox').TOptional<
97
- import('@sinclair/typebox').TUnknown
98
- >;
99
- externalId: import('@sinclair/typebox').TOptional<
100
- import('@sinclair/typebox').TString
101
- >;
102
- billingProvider: import('@sinclair/typebox').TOptional<
103
- import('@sinclair/typebox').TUnion<
104
- [
105
- {
106
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
107
- }[keyof U]
108
- ]
109
- >
110
- >;
111
- active: import('@sinclair/typebox').TOptional<
112
- import('@sinclair/typebox').TTransform<
113
- import('@sinclair/typebox').TUnion<
114
- [
115
- import('@sinclair/typebox').TBoolean,
116
- import('@sinclair/typebox').TString
117
- ]
118
- >,
119
- boolean
120
- >
121
- >;
122
- };
123
- export declare const PlanSchema: ({
124
- uuidId
125
- }: {
126
- uuidId: boolean;
127
- }) => <
128
- T extends Record<string, LiteralSchema>,
129
- U extends Record<string, LiteralSchema>
130
- >(
131
- PlanCadenceEnum: T,
132
- BillingProviderEnum: U
133
- ) => {
134
- id: import('@sinclair/typebox').TString;
135
- name: import('@sinclair/typebox').TString;
136
- description: import('@sinclair/typebox').TOptional<
137
- import('@sinclair/typebox').TString
138
- >;
139
- price: import('@sinclair/typebox').TTransform<
140
- import('@sinclair/typebox').TUnion<
141
- [
142
- import('@sinclair/typebox').TNumber,
143
- import('@sinclair/typebox').TString,
144
- import('@sinclair/typebox').TBoolean,
145
- import('@sinclair/typebox').TNull,
146
- import('@sinclair/typebox').TBigInt,
147
- import('@sinclair/typebox').TDate
148
- ]
149
- >,
150
- number
151
- >;
152
- cadence: import('@sinclair/typebox').TUnion<
153
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
154
- >;
155
- features: import('@sinclair/typebox').TOptional<
156
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
157
- >;
158
- extraFields: import('@sinclair/typebox').TOptional<
159
- import('@sinclair/typebox').TUnknown
160
- >;
161
- externalId: import('@sinclair/typebox').TString;
162
- billingProvider: import('@sinclair/typebox').TOptional<
163
- import('@sinclair/typebox').TUnion<
164
- [
165
- {
166
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
167
- }[keyof U]
168
- ]
169
- >
170
- >;
171
- active: import('@sinclair/typebox').TTransform<
172
- import('@sinclair/typebox').TUnion<
173
- [
174
- import('@sinclair/typebox').TBoolean,
175
- import('@sinclair/typebox').TString
176
- ]
177
- >,
178
- boolean
179
- >;
180
- createdAt: import('@sinclair/typebox').TOptional<
181
- import('@sinclair/typebox').TTransform<
182
- import('@sinclair/typebox').TUnion<
183
- [
184
- import('@sinclair/typebox').TString,
185
- import('@sinclair/typebox').TNumber,
186
- import('@sinclair/typebox').TDate
187
- ]
188
- >,
189
- Date
190
- >
191
- >;
192
- updatedAt: import('@sinclair/typebox').TOptional<
193
- import('@sinclair/typebox').TTransform<
194
- import('@sinclair/typebox').TUnion<
195
- [
196
- import('@sinclair/typebox').TString,
197
- import('@sinclair/typebox').TNumber,
198
- import('@sinclair/typebox').TDate
199
- ]
200
- >,
201
- Date
202
- >
203
- >;
204
- };
205
- export declare const BasePlanServiceSchemas: (options: {
206
- uuidId: boolean;
207
- }) => {
208
- CreatePlanSchema: <
209
- T extends Record<string, LiteralSchema>,
210
- U extends Record<string, LiteralSchema>
211
- >(
212
- PlanCadenceEnum: T,
213
- BillingProviderEnum: U
214
- ) => {
215
- name: import('@sinclair/typebox').TString;
216
- description: import('@sinclair/typebox').TOptional<
217
- import('@sinclair/typebox').TString
218
- >;
219
- price: import('@sinclair/typebox').TTransform<
220
- import('@sinclair/typebox').TUnion<
221
- [
222
- import('@sinclair/typebox').TNumber,
223
- import('@sinclair/typebox').TString,
224
- import('@sinclair/typebox').TBoolean,
225
- import('@sinclair/typebox').TNull,
226
- import('@sinclair/typebox').TBigInt,
227
- import('@sinclair/typebox').TDate
228
- ]
229
- >,
230
- number
231
- >;
232
- cadence: import('@sinclair/typebox').TUnion<
233
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
234
- >;
235
- features: import('@sinclair/typebox').TArray<
236
- import('@sinclair/typebox').TString
237
- >;
238
- extraFields: import('@sinclair/typebox').TOptional<
239
- import('@sinclair/typebox').TUnknown
240
- >;
241
- externalId: import('@sinclair/typebox').TString;
242
- billingProvider: import('@sinclair/typebox').TOptional<
243
- import('@sinclair/typebox').TUnion<
244
- [
245
- {
246
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
247
- }[keyof U]
248
- ]
249
- >
250
- >;
251
- active: import('@sinclair/typebox').TTransform<
252
- import('@sinclair/typebox').TUnion<
253
- [
254
- import('@sinclair/typebox').TBoolean,
255
- import('@sinclair/typebox').TString
256
- ]
257
- >,
258
- boolean
259
- >;
260
- };
261
- UpdatePlanSchema: <
262
- T extends Record<string, LiteralSchema>,
263
- U extends Record<string, LiteralSchema>
264
- >(
265
- PlanCadenceEnum: T,
266
- BillingProviderEnum: U
267
- ) => {
268
- id: import('@sinclair/typebox').TString;
269
- name: import('@sinclair/typebox').TOptional<
270
- import('@sinclair/typebox').TString
271
- >;
272
- description: import('@sinclair/typebox').TOptional<
273
- import('@sinclair/typebox').TString
274
- >;
275
- price: import('@sinclair/typebox').TOptional<
276
- import('@sinclair/typebox').TTransform<
277
- import('@sinclair/typebox').TUnion<
278
- [
279
- import('@sinclair/typebox').TNumber,
280
- import('@sinclair/typebox').TString,
281
- import('@sinclair/typebox').TBoolean,
282
- import('@sinclair/typebox').TNull,
283
- import('@sinclair/typebox').TBigInt,
284
- import('@sinclair/typebox').TDate
285
- ]
286
- >,
287
- number
288
- >
289
- >;
290
- cadence: import('@sinclair/typebox').TOptional<
291
- import('@sinclair/typebox').TUnion<
292
- [
293
- {
294
- [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]>;
295
- }[keyof T]
296
- ]
297
- >
298
- >;
299
- features: import('@sinclair/typebox').TOptional<
300
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
301
- >;
302
- extraFields: import('@sinclair/typebox').TOptional<
303
- import('@sinclair/typebox').TUnknown
304
- >;
305
- externalId: import('@sinclair/typebox').TOptional<
306
- import('@sinclair/typebox').TString
307
- >;
308
- billingProvider: import('@sinclair/typebox').TOptional<
309
- import('@sinclair/typebox').TUnion<
310
- [
311
- {
312
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
313
- }[keyof U]
314
- ]
315
- >
316
- >;
317
- active: import('@sinclair/typebox').TOptional<
318
- import('@sinclair/typebox').TTransform<
319
- import('@sinclair/typebox').TUnion<
320
- [
321
- import('@sinclair/typebox').TBoolean,
322
- import('@sinclair/typebox').TString
323
- ]
324
- >,
325
- boolean
326
- >
327
- >;
328
- };
329
- PlanSchema: <
330
- T extends Record<string, LiteralSchema>,
331
- U extends Record<string, LiteralSchema>
332
- >(
333
- PlanCadenceEnum: T,
334
- BillingProviderEnum: U
335
- ) => {
336
- id: import('@sinclair/typebox').TString;
337
- name: import('@sinclair/typebox').TString;
338
- description: import('@sinclair/typebox').TOptional<
339
- import('@sinclair/typebox').TString
340
- >;
341
- price: import('@sinclair/typebox').TTransform<
342
- import('@sinclair/typebox').TUnion<
343
- [
344
- import('@sinclair/typebox').TNumber,
345
- import('@sinclair/typebox').TString,
346
- import('@sinclair/typebox').TBoolean,
347
- import('@sinclair/typebox').TNull,
348
- import('@sinclair/typebox').TBigInt,
349
- import('@sinclair/typebox').TDate
350
- ]
351
- >,
352
- number
353
- >;
354
- cadence: import('@sinclair/typebox').TUnion<
355
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
356
- >;
357
- features: import('@sinclair/typebox').TOptional<
358
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
359
- >;
360
- extraFields: import('@sinclair/typebox').TOptional<
361
- import('@sinclair/typebox').TUnknown
362
- >;
363
- externalId: import('@sinclair/typebox').TString;
364
- billingProvider: import('@sinclair/typebox').TOptional<
365
- import('@sinclair/typebox').TUnion<
366
- [
367
- {
368
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
369
- }[keyof U]
370
- ]
371
- >
372
- >;
373
- active: import('@sinclair/typebox').TTransform<
374
- import('@sinclair/typebox').TUnion<
375
- [
376
- import('@sinclair/typebox').TBoolean,
377
- import('@sinclair/typebox').TString
378
- ]
379
- >,
380
- boolean
381
- >;
382
- createdAt: import('@sinclair/typebox').TOptional<
383
- import('@sinclair/typebox').TTransform<
384
- import('@sinclair/typebox').TUnion<
385
- [
386
- import('@sinclair/typebox').TString,
387
- import('@sinclair/typebox').TNumber,
388
- import('@sinclair/typebox').TDate
389
- ]
390
- >,
391
- Date
392
- >
393
- >;
394
- updatedAt: import('@sinclair/typebox').TOptional<
395
- import('@sinclair/typebox').TTransform<
396
- import('@sinclair/typebox').TUnion<
397
- [
398
- import('@sinclair/typebox').TString,
399
- import('@sinclair/typebox').TNumber,
400
- import('@sinclair/typebox').TDate
401
- ]
402
- >,
403
- Date
404
- >
405
- >;
406
- };
407
- };
408
- //# sourceMappingURL=plan.schema.d.ts.map
@@ -1 +0,0 @@
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,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"}
@@ -1,57 +0,0 @@
1
- import {
2
- array,
3
- boolean,
4
- date,
5
- enum_,
6
- number,
7
- optional,
8
- string,
9
- unknown,
10
- uuid
11
- } from '@forklaunch/validator/typebox';
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
- });