@forklaunch/implementation-billing-base 0.1.10 → 0.1.12

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/package.json +5 -5
  2. package/lib/__test__/schemaEquality.test.d.ts +0 -2
  3. package/lib/__test__/schemaEquality.test.d.ts.map +0 -1
  4. package/lib/__test__/schemaEquality.test.js +0 -409
  5. package/lib/eject/domain/schemas/billingPortal.schema.ts +0 -31
  6. package/lib/eject/domain/schemas/checkoutSession.schema.ts +0 -55
  7. package/lib/eject/domain/schemas/index.ts +0 -5
  8. package/lib/eject/domain/schemas/paymentLink.schema.ts +0 -60
  9. package/lib/eject/domain/schemas/plan.schema.ts +0 -80
  10. package/lib/eject/domain/schemas/subscription.schema.ts +0 -86
  11. package/lib/eject/services/billingPortal.service.ts +0 -145
  12. package/lib/eject/services/checkoutSession.service.ts +0 -132
  13. package/lib/eject/services/index.ts +0 -5
  14. package/lib/eject/services/paymentLink.service.ts +0 -170
  15. package/lib/eject/services/plan.service.ts +0 -132
  16. package/lib/eject/services/subscription.service.ts +0 -239
  17. package/lib/jest.config.d.ts +0 -4
  18. package/lib/jest.config.d.ts.map +0 -1
  19. package/lib/jest.config.js +0 -19
  20. package/lib/schemas/billingPortal.schema.d.ts +0 -123
  21. package/lib/schemas/billingPortal.schema.d.ts.map +0 -1
  22. package/lib/schemas/billingPortal.schema.js +0 -7
  23. package/lib/schemas/checkoutSession.schema.d.ts +0 -179
  24. package/lib/schemas/checkoutSession.schema.d.ts.map +0 -1
  25. package/lib/schemas/checkoutSession.schema.js +0 -7
  26. package/lib/schemas/index.d.ts +0 -6
  27. package/lib/schemas/index.d.ts.map +0 -1
  28. package/lib/schemas/index.js +0 -5
  29. package/lib/schemas/paymentLink.schema.d.ts +0 -220
  30. package/lib/schemas/paymentLink.schema.d.ts.map +0 -1
  31. package/lib/schemas/paymentLink.schema.js +0 -7
  32. package/lib/schemas/plan.schema.d.ts +0 -336
  33. package/lib/schemas/plan.schema.d.ts.map +0 -1
  34. package/lib/schemas/plan.schema.js +0 -7
  35. package/lib/schemas/subscription.schema.d.ts +0 -374
  36. package/lib/schemas/subscription.schema.d.ts.map +0 -1
  37. package/lib/schemas/subscription.schema.js +0 -7
  38. package/lib/schemas/typebox/billingPortal.schema.d.ts +0 -181
  39. package/lib/schemas/typebox/billingPortal.schema.d.ts.map +0 -1
  40. package/lib/schemas/typebox/billingPortal.schema.js +0 -31
  41. package/lib/schemas/typebox/checkoutSession.schema.d.ts +0 -204
  42. package/lib/schemas/typebox/checkoutSession.schema.d.ts.map +0 -1
  43. package/lib/schemas/typebox/checkoutSession.schema.js +0 -44
  44. package/lib/schemas/typebox/paymentLink.schema.d.ts +0 -282
  45. package/lib/schemas/typebox/paymentLink.schema.d.ts.map +0 -1
  46. package/lib/schemas/typebox/paymentLink.schema.js +0 -49
  47. package/lib/schemas/typebox/plan.schema.d.ts +0 -416
  48. package/lib/schemas/typebox/plan.schema.d.ts.map +0 -1
  49. package/lib/schemas/typebox/plan.schema.js +0 -57
  50. package/lib/schemas/typebox/subscription.schema.d.ts +0 -488
  51. package/lib/schemas/typebox/subscription.schema.d.ts.map +0 -1
  52. package/lib/schemas/typebox/subscription.schema.js +0 -61
  53. package/lib/schemas/zod/billingPortal.schema.d.ts +0 -51
  54. package/lib/schemas/zod/billingPortal.schema.d.ts.map +0 -1
  55. package/lib/schemas/zod/billingPortal.schema.js +0 -31
  56. package/lib/schemas/zod/checkoutSession.schema.d.ts +0 -114
  57. package/lib/schemas/zod/checkoutSession.schema.d.ts.map +0 -1
  58. package/lib/schemas/zod/checkoutSession.schema.js +0 -44
  59. package/lib/schemas/zod/paymentLink.schema.d.ts +0 -106
  60. package/lib/schemas/zod/paymentLink.schema.d.ts.map +0 -1
  61. package/lib/schemas/zod/paymentLink.schema.js +0 -49
  62. package/lib/schemas/zod/plan.schema.d.ts +0 -184
  63. package/lib/schemas/zod/plan.schema.d.ts.map +0 -1
  64. package/lib/schemas/zod/plan.schema.js +0 -57
  65. package/lib/schemas/zod/subscription.schema.d.ts +0 -188
  66. package/lib/schemas/zod/subscription.schema.d.ts.map +0 -1
  67. package/lib/schemas/zod/subscription.schema.js +0 -61
  68. package/lib/services/billingPortal.service.d.ts +0 -94
  69. package/lib/services/billingPortal.service.d.ts.map +0 -1
  70. package/lib/services/billingPortal.service.js +0 -70
  71. package/lib/services/checkoutSession.service.d.ts +0 -94
  72. package/lib/services/checkoutSession.service.d.ts.map +0 -1
  73. package/lib/services/checkoutSession.service.js +0 -60
  74. package/lib/services/index.d.ts +0 -6
  75. package/lib/services/index.d.ts.map +0 -1
  76. package/lib/services/index.js +0 -5
  77. package/lib/services/paymentLink.service.d.ts +0 -99
  78. package/lib/services/paymentLink.service.d.ts.map +0 -1
  79. package/lib/services/paymentLink.service.js +0 -90
  80. package/lib/services/plan.service.d.ts +0 -90
  81. package/lib/services/plan.service.d.ts.map +0 -1
  82. package/lib/services/plan.service.js +0 -48
  83. package/lib/services/subscription.service.d.ts +0 -145
  84. package/lib/services/subscription.service.d.ts.map +0 -1
  85. package/lib/services/subscription.service.js +0 -117
  86. package/lib/tsconfig.tsbuildinfo +0 -1
  87. package/lib/vitest.config.d.ts +0 -3
  88. package/lib/vitest.config.d.ts.map +0 -1
  89. package/lib/vitest.config.js +0 -7
@@ -1,416 +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').TDate,
21
- import('@sinclair/typebox').TBigInt
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').TDate,
82
- import('@sinclair/typebox').TBigInt
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').TDate,
147
- import('@sinclair/typebox').TBigInt
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').TDate,
185
- import('@sinclair/typebox').TNumber,
186
- import('@sinclair/typebox').TString,
187
- import('@sinclair/typebox').TBoolean,
188
- import('@sinclair/typebox').TNull
189
- ]
190
- >,
191
- Date
192
- >
193
- >;
194
- updatedAt: import('@sinclair/typebox').TOptional<
195
- import('@sinclair/typebox').TTransform<
196
- import('@sinclair/typebox').TUnion<
197
- [
198
- import('@sinclair/typebox').TDate,
199
- import('@sinclair/typebox').TNumber,
200
- import('@sinclair/typebox').TString,
201
- import('@sinclair/typebox').TBoolean,
202
- import('@sinclair/typebox').TNull
203
- ]
204
- >,
205
- Date
206
- >
207
- >;
208
- };
209
- export declare const BasePlanServiceSchemas: (options: {
210
- uuidId: boolean;
211
- }) => {
212
- CreatePlanSchema: <
213
- T extends Record<string, LiteralSchema>,
214
- U extends Record<string, LiteralSchema>
215
- >(
216
- PlanCadenceEnum: T,
217
- BillingProviderEnum: U
218
- ) => {
219
- name: import('@sinclair/typebox').TString;
220
- description: import('@sinclair/typebox').TOptional<
221
- import('@sinclair/typebox').TString
222
- >;
223
- price: import('@sinclair/typebox').TTransform<
224
- import('@sinclair/typebox').TUnion<
225
- [
226
- import('@sinclair/typebox').TNumber,
227
- import('@sinclair/typebox').TString,
228
- import('@sinclair/typebox').TBoolean,
229
- import('@sinclair/typebox').TNull,
230
- import('@sinclair/typebox').TDate,
231
- import('@sinclair/typebox').TBigInt
232
- ]
233
- >,
234
- number
235
- >;
236
- cadence: import('@sinclair/typebox').TUnion<
237
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
238
- >;
239
- features: import('@sinclair/typebox').TArray<
240
- import('@sinclair/typebox').TString
241
- >;
242
- extraFields: import('@sinclair/typebox').TOptional<
243
- import('@sinclair/typebox').TUnknown
244
- >;
245
- externalId: import('@sinclair/typebox').TString;
246
- billingProvider: import('@sinclair/typebox').TOptional<
247
- import('@sinclair/typebox').TUnion<
248
- [
249
- {
250
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
251
- }[keyof U]
252
- ]
253
- >
254
- >;
255
- active: import('@sinclair/typebox').TTransform<
256
- import('@sinclair/typebox').TUnion<
257
- [
258
- import('@sinclair/typebox').TBoolean,
259
- import('@sinclair/typebox').TString
260
- ]
261
- >,
262
- boolean
263
- >;
264
- };
265
- UpdatePlanSchema: <
266
- T extends Record<string, LiteralSchema>,
267
- U extends Record<string, LiteralSchema>
268
- >(
269
- PlanCadenceEnum: T,
270
- BillingProviderEnum: U
271
- ) => {
272
- id: import('@sinclair/typebox').TString;
273
- name: import('@sinclair/typebox').TOptional<
274
- import('@sinclair/typebox').TString
275
- >;
276
- description: import('@sinclair/typebox').TOptional<
277
- import('@sinclair/typebox').TString
278
- >;
279
- price: import('@sinclair/typebox').TOptional<
280
- import('@sinclair/typebox').TTransform<
281
- import('@sinclair/typebox').TUnion<
282
- [
283
- import('@sinclair/typebox').TNumber,
284
- import('@sinclair/typebox').TString,
285
- import('@sinclair/typebox').TBoolean,
286
- import('@sinclair/typebox').TNull,
287
- import('@sinclair/typebox').TDate,
288
- import('@sinclair/typebox').TBigInt
289
- ]
290
- >,
291
- number
292
- >
293
- >;
294
- cadence: import('@sinclair/typebox').TOptional<
295
- import('@sinclair/typebox').TUnion<
296
- [
297
- {
298
- [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]>;
299
- }[keyof T]
300
- ]
301
- >
302
- >;
303
- features: import('@sinclair/typebox').TOptional<
304
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
305
- >;
306
- extraFields: import('@sinclair/typebox').TOptional<
307
- import('@sinclair/typebox').TUnknown
308
- >;
309
- externalId: import('@sinclair/typebox').TOptional<
310
- import('@sinclair/typebox').TString
311
- >;
312
- billingProvider: import('@sinclair/typebox').TOptional<
313
- import('@sinclair/typebox').TUnion<
314
- [
315
- {
316
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
317
- }[keyof U]
318
- ]
319
- >
320
- >;
321
- active: import('@sinclair/typebox').TOptional<
322
- import('@sinclair/typebox').TTransform<
323
- import('@sinclair/typebox').TUnion<
324
- [
325
- import('@sinclair/typebox').TBoolean,
326
- import('@sinclair/typebox').TString
327
- ]
328
- >,
329
- boolean
330
- >
331
- >;
332
- };
333
- PlanSchema: <
334
- T extends Record<string, LiteralSchema>,
335
- U extends Record<string, LiteralSchema>
336
- >(
337
- PlanCadenceEnum: T,
338
- BillingProviderEnum: U
339
- ) => {
340
- id: import('@sinclair/typebox').TString;
341
- name: import('@sinclair/typebox').TString;
342
- description: import('@sinclair/typebox').TOptional<
343
- import('@sinclair/typebox').TString
344
- >;
345
- price: import('@sinclair/typebox').TTransform<
346
- import('@sinclair/typebox').TUnion<
347
- [
348
- import('@sinclair/typebox').TNumber,
349
- import('@sinclair/typebox').TString,
350
- import('@sinclair/typebox').TBoolean,
351
- import('@sinclair/typebox').TNull,
352
- import('@sinclair/typebox').TDate,
353
- import('@sinclair/typebox').TBigInt
354
- ]
355
- >,
356
- number
357
- >;
358
- cadence: import('@sinclair/typebox').TUnion<
359
- [{ [K in keyof T]: import('@sinclair/typebox').TLiteral<T[K]> }[keyof T]]
360
- >;
361
- features: import('@sinclair/typebox').TOptional<
362
- import('@sinclair/typebox').TArray<import('@sinclair/typebox').TString>
363
- >;
364
- extraFields: import('@sinclair/typebox').TOptional<
365
- import('@sinclair/typebox').TUnknown
366
- >;
367
- externalId: import('@sinclair/typebox').TString;
368
- billingProvider: import('@sinclair/typebox').TOptional<
369
- import('@sinclair/typebox').TUnion<
370
- [
371
- {
372
- [K_1 in keyof U]: import('@sinclair/typebox').TLiteral<U[K_1]>;
373
- }[keyof U]
374
- ]
375
- >
376
- >;
377
- active: import('@sinclair/typebox').TTransform<
378
- import('@sinclair/typebox').TUnion<
379
- [
380
- import('@sinclair/typebox').TBoolean,
381
- import('@sinclair/typebox').TString
382
- ]
383
- >,
384
- boolean
385
- >;
386
- createdAt: import('@sinclair/typebox').TOptional<
387
- import('@sinclair/typebox').TTransform<
388
- import('@sinclair/typebox').TUnion<
389
- [
390
- import('@sinclair/typebox').TDate,
391
- import('@sinclair/typebox').TNumber,
392
- import('@sinclair/typebox').TString,
393
- import('@sinclair/typebox').TBoolean,
394
- import('@sinclair/typebox').TNull
395
- ]
396
- >,
397
- Date
398
- >
399
- >;
400
- updatedAt: import('@sinclair/typebox').TOptional<
401
- import('@sinclair/typebox').TTransform<
402
- import('@sinclair/typebox').TUnion<
403
- [
404
- import('@sinclair/typebox').TDate,
405
- import('@sinclair/typebox').TNumber,
406
- import('@sinclair/typebox').TString,
407
- import('@sinclair/typebox').TBoolean,
408
- import('@sinclair/typebox').TNull
409
- ]
410
- >,
411
- Date
412
- >
413
- >;
414
- };
415
- };
416
- //# 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
- });