@makeco/stripe-kit 0.1.5 → 0.3.0

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 (258) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +47 -35
  3. package/dist/cli-prompts.d.ts +19 -0
  4. package/dist/cli-prompts.d.ts.map +1 -0
  5. package/dist/cli-prompts.js +154 -0
  6. package/dist/cli-prompts.js.map +1 -0
  7. package/dist/cli.js +13 -14
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/archive.d.ts +3 -0
  10. package/dist/commands/archive.d.ts.map +1 -0
  11. package/dist/commands/archive.js +119 -0
  12. package/dist/commands/archive.js.map +1 -0
  13. package/dist/commands/config.d.ts +3 -0
  14. package/dist/commands/config.d.ts.map +1 -0
  15. package/dist/commands/config.js +33 -0
  16. package/dist/commands/config.js.map +1 -0
  17. package/dist/commands/create.d.ts +3 -0
  18. package/dist/commands/create.d.ts.map +1 -0
  19. package/dist/commands/create.js +113 -0
  20. package/dist/commands/create.js.map +1 -0
  21. package/dist/commands/db.d.ts +3 -0
  22. package/dist/commands/db.d.ts.map +1 -0
  23. package/dist/commands/db.js +143 -0
  24. package/dist/commands/db.js.map +1 -0
  25. package/dist/commands/index.d.ts +7 -7
  26. package/dist/commands/index.js +7 -7
  27. package/dist/commands/list.d.ts +3 -0
  28. package/dist/commands/list.d.ts.map +1 -0
  29. package/dist/commands/list.js +147 -0
  30. package/dist/commands/list.js.map +1 -0
  31. package/dist/commands/update.d.ts +3 -0
  32. package/dist/commands/update.d.ts.map +1 -0
  33. package/dist/commands/update.js +141 -0
  34. package/dist/commands/update.js.map +1 -0
  35. package/dist/commands/urls.d.ts +3 -0
  36. package/dist/commands/urls.d.ts.map +1 -0
  37. package/dist/commands/urls.js +79 -0
  38. package/dist/commands/urls.js.map +1 -0
  39. package/dist/definitions/action.constants.js +16 -16
  40. package/dist/definitions/config.schemas.d.ts +19 -256
  41. package/dist/definitions/config.schemas.d.ts.map +1 -1
  42. package/dist/definitions/config.schemas.js +11 -17
  43. package/dist/definitions/config.schemas.js.map +1 -1
  44. package/dist/definitions/context.types.d.ts +3 -4
  45. package/dist/definitions/context.types.d.ts.map +1 -1
  46. package/dist/definitions/database-adapter.schemas.d.ts +2 -2
  47. package/dist/definitions/database-adapter.schemas.js +1 -1
  48. package/dist/definitions/env.constants.js +4 -4
  49. package/dist/definitions/index.d.ts +6 -8
  50. package/dist/definitions/index.d.ts.map +1 -1
  51. package/dist/definitions/index.js +6 -8
  52. package/dist/definitions/index.js.map +1 -1
  53. package/dist/index.d.ts +2 -2
  54. package/dist/index.js +2 -2
  55. package/dist/utils/create-context.d.ts +1 -1
  56. package/dist/utils/create-context.d.ts.map +1 -1
  57. package/dist/utils/create-context.js +2 -5
  58. package/dist/utils/create-context.js.map +1 -1
  59. package/dist/utils/create-logger.d.ts +1 -1
  60. package/dist/utils/create-logger.js +13 -13
  61. package/dist/utils/define-config.d.ts +1 -1
  62. package/dist/utils/define-config.js +1 -1
  63. package/dist/utils/find-env-directories.js +14 -14
  64. package/dist/utils/index.d.ts +10 -11
  65. package/dist/utils/index.d.ts.map +1 -1
  66. package/dist/utils/index.js +10 -11
  67. package/dist/utils/index.js.map +1 -1
  68. package/dist/utils/load-config.d.ts +1 -1
  69. package/dist/utils/load-config.js +49 -49
  70. package/dist/utils/load-env.d.ts +1 -1
  71. package/dist/utils/load-env.js +18 -18
  72. package/dist/utils/stripe-client.d.ts +1 -1
  73. package/dist/utils/stripe-client.js +3 -3
  74. package/dist/utils/stripe-repository.d.ts +2 -2
  75. package/dist/utils/stripe-repository.js +2 -2
  76. package/dist/utils/user-preferences.d.ts +1 -1
  77. package/dist/utils/user-preferences.js +7 -7
  78. package/package.json +9 -4
  79. package/dist/cli-prompts/action.d.ts +0 -5
  80. package/dist/cli-prompts/action.d.ts.map +0 -1
  81. package/dist/cli-prompts/action.js +0 -36
  82. package/dist/cli-prompts/action.js.map +0 -1
  83. package/dist/cli-prompts/adapter.d.ts +0 -9
  84. package/dist/cli-prompts/adapter.d.ts.map +0 -1
  85. package/dist/cli-prompts/adapter.js +0 -53
  86. package/dist/cli-prompts/adapter.js.map +0 -1
  87. package/dist/cli-prompts/confirmation.d.ts +0 -6
  88. package/dist/cli-prompts/confirmation.d.ts.map +0 -1
  89. package/dist/cli-prompts/confirmation.js +0 -27
  90. package/dist/cli-prompts/confirmation.js.map +0 -1
  91. package/dist/cli-prompts/environment.d.ts +0 -5
  92. package/dist/cli-prompts/environment.d.ts.map +0 -1
  93. package/dist/cli-prompts/environment.js +0 -43
  94. package/dist/cli-prompts/environment.js.map +0 -1
  95. package/dist/cli-prompts/index.d.ts +0 -5
  96. package/dist/cli-prompts/index.d.ts.map +0 -1
  97. package/dist/cli-prompts/index.js +0 -5
  98. package/dist/cli-prompts/index.js.map +0 -1
  99. package/dist/commands/archive/archive.action.d.ts +0 -5
  100. package/dist/commands/archive/archive.action.d.ts.map +0 -1
  101. package/dist/commands/archive/archive.action.js +0 -73
  102. package/dist/commands/archive/archive.action.js.map +0 -1
  103. package/dist/commands/archive/archive.command.d.ts +0 -3
  104. package/dist/commands/archive/archive.command.d.ts.map +0 -1
  105. package/dist/commands/archive/archive.command.js +0 -24
  106. package/dist/commands/archive/archive.command.js.map +0 -1
  107. package/dist/commands/archive/archive.preflight.d.ts +0 -13
  108. package/dist/commands/archive/archive.preflight.d.ts.map +0 -1
  109. package/dist/commands/archive/archive.preflight.js +0 -27
  110. package/dist/commands/archive/archive.preflight.js.map +0 -1
  111. package/dist/commands/archive/index.d.ts +0 -2
  112. package/dist/commands/archive/index.d.ts.map +0 -1
  113. package/dist/commands/archive/index.js +0 -2
  114. package/dist/commands/archive/index.js.map +0 -1
  115. package/dist/commands/config/config.command.d.ts +0 -3
  116. package/dist/commands/config/config.command.d.ts.map +0 -1
  117. package/dist/commands/config/config.command.js +0 -33
  118. package/dist/commands/config/config.command.js.map +0 -1
  119. package/dist/commands/config/index.d.ts +0 -2
  120. package/dist/commands/config/index.d.ts.map +0 -1
  121. package/dist/commands/config/index.js +0 -2
  122. package/dist/commands/config/index.js.map +0 -1
  123. package/dist/commands/create/create.action.d.ts +0 -5
  124. package/dist/commands/create/create.action.d.ts.map +0 -1
  125. package/dist/commands/create/create.action.js +0 -53
  126. package/dist/commands/create/create.action.js.map +0 -1
  127. package/dist/commands/create/create.command.d.ts +0 -3
  128. package/dist/commands/create/create.command.d.ts.map +0 -1
  129. package/dist/commands/create/create.command.js +0 -22
  130. package/dist/commands/create/create.command.js.map +0 -1
  131. package/dist/commands/create/create.preflight.d.ts +0 -13
  132. package/dist/commands/create/create.preflight.d.ts.map +0 -1
  133. package/dist/commands/create/create.preflight.js +0 -24
  134. package/dist/commands/create/create.preflight.js.map +0 -1
  135. package/dist/commands/create/index.d.ts +0 -2
  136. package/dist/commands/create/index.d.ts.map +0 -1
  137. package/dist/commands/create/index.js +0 -2
  138. package/dist/commands/create/index.js.map +0 -1
  139. package/dist/commands/db/db.command.d.ts +0 -3
  140. package/dist/commands/db/db.command.d.ts.map +0 -1
  141. package/dist/commands/db/db.command.js +0 -13
  142. package/dist/commands/db/db.command.js.map +0 -1
  143. package/dist/commands/db/index.d.ts +0 -4
  144. package/dist/commands/db/index.d.ts.map +0 -1
  145. package/dist/commands/db/index.js +0 -4
  146. package/dist/commands/db/index.js.map +0 -1
  147. package/dist/commands/db/purge/index.d.ts +0 -2
  148. package/dist/commands/db/purge/index.d.ts.map +0 -1
  149. package/dist/commands/db/purge/index.js +0 -2
  150. package/dist/commands/db/purge/index.js.map +0 -1
  151. package/dist/commands/db/purge/purge.action.d.ts +0 -3
  152. package/dist/commands/db/purge/purge.action.d.ts.map +0 -1
  153. package/dist/commands/db/purge/purge.action.js +0 -17
  154. package/dist/commands/db/purge/purge.action.js.map +0 -1
  155. package/dist/commands/db/purge/purge.command.d.ts +0 -3
  156. package/dist/commands/db/purge/purge.command.d.ts.map +0 -1
  157. package/dist/commands/db/purge/purge.command.js +0 -23
  158. package/dist/commands/db/purge/purge.command.js.map +0 -1
  159. package/dist/commands/db/purge/purge.preflight.d.ts +0 -12
  160. package/dist/commands/db/purge/purge.preflight.d.ts.map +0 -1
  161. package/dist/commands/db/purge/purge.preflight.js +0 -27
  162. package/dist/commands/db/purge/purge.preflight.js.map +0 -1
  163. package/dist/commands/db/sync/index.d.ts +0 -2
  164. package/dist/commands/db/sync/index.d.ts.map +0 -1
  165. package/dist/commands/db/sync/index.js +0 -2
  166. package/dist/commands/db/sync/index.js.map +0 -1
  167. package/dist/commands/db/sync/sync.action.d.ts +0 -3
  168. package/dist/commands/db/sync/sync.action.d.ts.map +0 -1
  169. package/dist/commands/db/sync/sync.action.js +0 -24
  170. package/dist/commands/db/sync/sync.action.js.map +0 -1
  171. package/dist/commands/db/sync/sync.command.d.ts +0 -3
  172. package/dist/commands/db/sync/sync.command.d.ts.map +0 -1
  173. package/dist/commands/db/sync/sync.command.js +0 -23
  174. package/dist/commands/db/sync/sync.command.js.map +0 -1
  175. package/dist/commands/db/sync/sync.preflight.d.ts +0 -12
  176. package/dist/commands/db/sync/sync.preflight.d.ts.map +0 -1
  177. package/dist/commands/db/sync/sync.preflight.js +0 -33
  178. package/dist/commands/db/sync/sync.preflight.js.map +0 -1
  179. package/dist/commands/list/index.d.ts +0 -4
  180. package/dist/commands/list/index.d.ts.map +0 -1
  181. package/dist/commands/list/index.js +0 -4
  182. package/dist/commands/list/index.js.map +0 -1
  183. package/dist/commands/list/list.command.d.ts +0 -3
  184. package/dist/commands/list/list.command.d.ts.map +0 -1
  185. package/dist/commands/list/list.command.js +0 -13
  186. package/dist/commands/list/list.command.js.map +0 -1
  187. package/dist/commands/list/prices/index.d.ts +0 -2
  188. package/dist/commands/list/prices/index.d.ts.map +0 -1
  189. package/dist/commands/list/prices/index.js +0 -2
  190. package/dist/commands/list/prices/index.js.map +0 -1
  191. package/dist/commands/list/prices/prices.action.d.ts +0 -5
  192. package/dist/commands/list/prices/prices.action.d.ts.map +0 -1
  193. package/dist/commands/list/prices/prices.action.js +0 -40
  194. package/dist/commands/list/prices/prices.action.js.map +0 -1
  195. package/dist/commands/list/prices/prices.command.d.ts +0 -3
  196. package/dist/commands/list/prices/prices.command.d.ts.map +0 -1
  197. package/dist/commands/list/prices/prices.command.js +0 -22
  198. package/dist/commands/list/prices/prices.command.js.map +0 -1
  199. package/dist/commands/list/prices/prices.preflight.d.ts +0 -13
  200. package/dist/commands/list/prices/prices.preflight.d.ts.map +0 -1
  201. package/dist/commands/list/prices/prices.preflight.js +0 -19
  202. package/dist/commands/list/prices/prices.preflight.js.map +0 -1
  203. package/dist/commands/list/products/index.d.ts +0 -2
  204. package/dist/commands/list/products/index.d.ts.map +0 -1
  205. package/dist/commands/list/products/index.js +0 -2
  206. package/dist/commands/list/products/index.js.map +0 -1
  207. package/dist/commands/list/products/products.action.d.ts +0 -5
  208. package/dist/commands/list/products/products.action.d.ts.map +0 -1
  209. package/dist/commands/list/products/products.action.js +0 -32
  210. package/dist/commands/list/products/products.action.js.map +0 -1
  211. package/dist/commands/list/products/products.command.d.ts +0 -3
  212. package/dist/commands/list/products/products.command.d.ts.map +0 -1
  213. package/dist/commands/list/products/products.command.js +0 -22
  214. package/dist/commands/list/products/products.command.js.map +0 -1
  215. package/dist/commands/list/products/products.preflight.d.ts +0 -13
  216. package/dist/commands/list/products/products.preflight.d.ts.map +0 -1
  217. package/dist/commands/list/products/products.preflight.js +0 -19
  218. package/dist/commands/list/products/products.preflight.js.map +0 -1
  219. package/dist/commands/update/index.d.ts +0 -2
  220. package/dist/commands/update/index.d.ts.map +0 -1
  221. package/dist/commands/update/index.js +0 -2
  222. package/dist/commands/update/index.js.map +0 -1
  223. package/dist/commands/update/update.action.d.ts +0 -3
  224. package/dist/commands/update/update.action.d.ts.map +0 -1
  225. package/dist/commands/update/update.action.js +0 -84
  226. package/dist/commands/update/update.action.js.map +0 -1
  227. package/dist/commands/update/update.command.d.ts +0 -3
  228. package/dist/commands/update/update.command.d.ts.map +0 -1
  229. package/dist/commands/update/update.command.js +0 -22
  230. package/dist/commands/update/update.command.js.map +0 -1
  231. package/dist/commands/update/update.preflight.d.ts +0 -12
  232. package/dist/commands/update/update.preflight.d.ts.map +0 -1
  233. package/dist/commands/update/update.preflight.js +0 -36
  234. package/dist/commands/update/update.preflight.js.map +0 -1
  235. package/dist/commands/urls/index.d.ts +0 -2
  236. package/dist/commands/urls/index.d.ts.map +0 -1
  237. package/dist/commands/urls/index.js +0 -2
  238. package/dist/commands/urls/index.js.map +0 -1
  239. package/dist/commands/urls/urls.action.d.ts +0 -4
  240. package/dist/commands/urls/urls.action.d.ts.map +0 -1
  241. package/dist/commands/urls/urls.action.js +0 -65
  242. package/dist/commands/urls/urls.action.js.map +0 -1
  243. package/dist/commands/urls/urls.command.d.ts +0 -6
  244. package/dist/commands/urls/urls.command.d.ts.map +0 -1
  245. package/dist/commands/urls/urls.command.js +0 -19
  246. package/dist/commands/urls/urls.command.js.map +0 -1
  247. package/dist/definitions/stripe-price.schemas.d.ts +0 -132
  248. package/dist/definitions/stripe-price.schemas.d.ts.map +0 -1
  249. package/dist/definitions/stripe-price.schemas.js +0 -50
  250. package/dist/definitions/stripe-price.schemas.js.map +0 -1
  251. package/dist/definitions/stripe-product.schemas.d.ts +0 -87
  252. package/dist/definitions/stripe-product.schemas.d.ts.map +0 -1
  253. package/dist/definitions/stripe-product.schemas.js +0 -42
  254. package/dist/definitions/stripe-product.schemas.js.map +0 -1
  255. package/dist/utils/create-mappers.d.ts +0 -3
  256. package/dist/utils/create-mappers.d.ts.map +0 -1
  257. package/dist/utils/create-mappers.js +0 -98
  258. package/dist/utils/create-mappers.js.map +0 -1
@@ -1,19 +0,0 @@
1
- import { determineEnvironment } from '../../../cli-prompts/index.js';
2
- import { createContext, loadConfig, loadEnvironment } from '../../../utils/index.js';
3
- export async function runListProductsPreflight(options, command) {
4
- const globalOptions = command.parent?.opts() || {};
5
- const configPath = globalOptions.config;
6
- const chosenEnv = await determineEnvironment({ envInput: options.env });
7
- loadEnvironment(chosenEnv);
8
- const config = await loadConfig({ configPath });
9
- const ctx = createContext({
10
- adapter: Object.values(config.adapters)[0],
11
- config,
12
- });
13
- return {
14
- ctx,
15
- showAll: !!options.all,
16
- chosenEnv,
17
- };
18
- }
19
- //# sourceMappingURL=products.preflight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"products.preflight.js","sourceRoot":"","sources":["../../../../src/commands/list/products/products.preflight.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAarE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA4B,EAC5B,OAAgB;IAGhB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAGxC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAGxE,eAAe,CAAC,SAAS,CAAC,CAAC;IAG3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAGhD,MAAM,GAAG,GAAG,aAAa,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAoB;QAC7D,MAAM;KACP,CAAC,CAAC;IAEH,OAAO;QACL,GAAG;QACH,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;QACtB,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { update } from './update.command.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { update } from './update.command.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Context } from '../../definitions/index.js';
2
- export declare function updateStripeSubscriptionPlansAction(ctx: Context): Promise<void>;
3
- //# sourceMappingURL=update.action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.action.d.ts","sourceRoot":"","sources":["../../../src/commands/update/update.action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,eAAe,CAAC;AA8H/D,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -1,84 +0,0 @@
1
- import { listStripePrices, listStripeProducts } from '../../utils/index.js';
2
- async function updateStripeProduct(ctx, plan, allStripeProducts) {
3
- try {
4
- const stripeProductParams = ctx.mappers.mapSubscriptionPlanToStripeProduct(plan);
5
- const stripeProduct = allStripeProducts.find((product) => product.metadata?.[ctx.config.metadata.productIdField] ===
6
- plan.product.id &&
7
- product.metadata?.[ctx.config.metadata.managedByField] ===
8
- ctx.config.metadata.managedByValue);
9
- if (!stripeProduct) {
10
- ctx.logger.warn(`Stripe product not found for ${plan.product.id}. Skipping update.`);
11
- return;
12
- }
13
- await ctx.stripeClient.products.update(stripeProduct.id, {
14
- name: stripeProductParams.name,
15
- description: stripeProductParams.description,
16
- active: stripeProductParams.active,
17
- metadata: stripeProductParams.metadata,
18
- });
19
- ctx.logger.info(`Updated Stripe product: ${stripeProduct.id}`);
20
- }
21
- catch (error) {
22
- ctx.logger.error({
23
- message: 'Error updating Stripe product',
24
- error,
25
- productId: plan.product.id,
26
- });
27
- throw new Error(`Failed to update Stripe product: ${error}`);
28
- }
29
- }
30
- async function updateStripePrices(ctx, plan, allStripePrices) {
31
- try {
32
- for (const planPrice of plan.prices) {
33
- const stripePrice = allStripePrices.find((price) => price.metadata?.[ctx.config.metadata.priceIdField] === planPrice.id &&
34
- price.metadata?.[ctx.config.metadata.managedByField] ===
35
- ctx.config.metadata.managedByValue);
36
- if (!stripePrice) {
37
- ctx.logger.warn(`Stripe price not found for ${planPrice.id}. Skipping update.`);
38
- continue;
39
- }
40
- const stripeProductId = typeof stripePrice.product === 'string'
41
- ? stripePrice.product
42
- : stripePrice.product.id;
43
- const stripePriceParams = ctx.mappers.mapSubscriptionPlanToStripePrice(planPrice, {
44
- planName: plan.product.name,
45
- tier: plan.product.id,
46
- internalProductId: plan.product.id,
47
- stripeProductId,
48
- });
49
- await ctx.stripeClient.prices.update(stripePrice.id, {
50
- active: stripePriceParams.active,
51
- metadata: stripePriceParams.metadata,
52
- });
53
- ctx.logger.info(`Updated Stripe price: ${stripePrice.id}`);
54
- }
55
- }
56
- catch (error) {
57
- ctx.logger.error({
58
- message: 'Error updating Stripe prices',
59
- error,
60
- planId: plan.product.id,
61
- });
62
- throw new Error(`Failed to update Stripe prices: ${error}`);
63
- }
64
- }
65
- export async function updateStripeSubscriptionPlansAction(ctx) {
66
- const plans = ctx.config.plans;
67
- ctx.logger.info(`Updating ${plans.length} subscription plans in Stripe...`);
68
- try {
69
- const allStripeProducts = await listStripeProducts(ctx, { showAll: false });
70
- const allStripePrices = await listStripePrices(ctx, { showAll: false });
71
- ctx.logger.info(`Found ${allStripeProducts.length} managed products and ${allStripePrices.length} managed prices in Stripe`);
72
- for (const plan of plans) {
73
- ctx.logger.info(`Updating plan: ${plan.product.name} (Internal ID: ${plan.product.id})...`);
74
- await updateStripeProduct(ctx, plan, allStripeProducts);
75
- await updateStripePrices(ctx, plan, allStripePrices);
76
- }
77
- ctx.logger.info('Finished updating subscription plans in Stripe');
78
- }
79
- catch (error) {
80
- ctx.logger.error('Error updating Stripe subscription plans:', error);
81
- throw error;
82
- }
83
- }
84
- //# sourceMappingURL=update.action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.action.js","sourceRoot":"","sources":["../../../src/commands/update/update.action.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const update: Command;
3
- //# sourceMappingURL=update.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.command.d.ts","sourceRoot":"","sources":["../../../src/commands/update/update.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAM5C,eAAO,MAAM,MAAM,SAsBf,CAAC"}
@@ -1,22 +0,0 @@
1
- import chalk from 'chalk';
2
- import { Command, Option } from 'commander';
3
- import { ENV_CHOICES } from '../../definitions/index.js';
4
- import { updateStripeSubscriptionPlansAction } from './update.action.js';
5
- import { runUpdatePreflight } from './update.preflight.js';
6
- export const update = new Command()
7
- .name('update')
8
- .description('Update Stripe subscription plans')
9
- .addOption(new Option('-e, --env <environment>', 'Target environment').choices(ENV_CHOICES))
10
- .option('-a, --adapter <name>', 'Database adapter name')
11
- .action(async (options, command) => {
12
- try {
13
- const { ctx } = await runUpdatePreflight(options, command);
14
- await updateStripeSubscriptionPlansAction(ctx);
15
- console.log(chalk.green('\nOperation completed successfully.'));
16
- }
17
- catch (error) {
18
- console.error(chalk.red(`\nOperation failed: ${error}`));
19
- process.exit(1);
20
- }
21
- });
22
- //# sourceMappingURL=update.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.command.js","sourceRoot":"","sources":["../../../src/commands/update/update.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAsB,MAAM,oBAAoB,CAAC;AAE5E,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,OAAO,EAAE;KAChC,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,kCAAkC,CAAC;KAC/C,SAAS,CACR,IAAI,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAC,OAAO,CACjE,WAAW,CACZ,CACF;KACA,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,OAAsB,EAAE,OAAO,EAAE,EAAE;IAChD,IAAI,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAG3D,MAAM,mCAAmC,CAAC,GAAG,CAAC,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { Command } from 'commander';
2
- import type { Context, EnvironmentKey } from '../../definitions/index.js';
3
- export interface UpdateOptions {
4
- env?: EnvironmentKey;
5
- adapter?: string;
6
- }
7
- export interface UpdatePreflightResult {
8
- ctx: Context;
9
- chosenEnv: EnvironmentKey;
10
- }
11
- export declare function runUpdatePreflight(options: UpdateOptions, command: Command): Promise<UpdatePreflightResult>;
12
- //# sourceMappingURL=update.preflight.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.preflight.d.ts","sourceRoot":"","sources":["../../../src/commands/update/update.preflight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG7D,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;CAC3B;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,qBAAqB,CAAC,CA8DhC"}
@@ -1,36 +0,0 @@
1
- import { determineAdapter, determineEnvironment, requireProductionConfirmation, } from '../../cli-prompts/index.js';
2
- import { createContext, loadConfig, loadEnvironment } from '../../utils/index.js';
3
- export async function runUpdatePreflight(options, command) {
4
- const globalOptions = command.parent?.opts() || {};
5
- const configPath = globalOptions.config;
6
- const chosenEnv = await determineEnvironment({ envInput: options.env });
7
- loadEnvironment(chosenEnv);
8
- const config = await loadConfig({ configPath });
9
- const adapterResult = await determineAdapter({
10
- adapterInput: options.adapter,
11
- availableAdapters: config.adapters,
12
- });
13
- const ctx = createContext({ adapter: adapterResult.adapter, config });
14
- if (!ctx.stripeClient) {
15
- throw new Error('Stripe client not available. Check STRIPE_SECRET_KEY environment variable.');
16
- }
17
- if (!ctx.config.env.stripeSecretKey) {
18
- throw new Error('STRIPE_SECRET_KEY is not configured in environment');
19
- }
20
- if (!ctx.config.plans || ctx.config.plans.length === 0) {
21
- throw new Error('No subscription plans configured. Check your config file.');
22
- }
23
- if (!(typeof ctx.mappers.mapSubscriptionPlanToStripeProduct === 'function' &&
24
- typeof ctx.mappers.mapSubscriptionPlanToStripePrice === 'function')) {
25
- throw new Error('Stripe mappers not available. Check your configuration.');
26
- }
27
- await requireProductionConfirmation({
28
- action: 'update Stripe plans',
29
- env: chosenEnv,
30
- });
31
- return {
32
- ctx,
33
- chosenEnv,
34
- };
35
- }
36
- //# sourceMappingURL=update.preflight.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.preflight.js","sourceRoot":"","sources":["../../../src/commands/update/update.preflight.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAYrE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAsB,EACtB,OAAgB;IAGhB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IAGxC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAGxE,eAAe,CAAC,SAAS,CAAC,CAAC;IAG3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IAGhD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC;QAC3C,YAAY,EAAE,OAAO,CAAC,OAAO;QAC7B,iBAAiB,EAAE,MAAM,CAAC,QAAQ;KACnC,CAAC,CAAC;IAGH,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAGtE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAGD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAGD,IACE,CAAC,CACC,OAAO,GAAG,CAAC,OAAO,CAAC,kCAAkC,KAAK,UAAU;QACpE,OAAO,GAAG,CAAC,OAAO,CAAC,gCAAgC,KAAK,UAAU,CACnE,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAGD,MAAM,6BAA6B,CAAC;QAClC,MAAM,EAAE,qBAAqB;QAC7B,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IAEH,OAAO;QACL,GAAG;QACH,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export { urls } from './urls.command.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { urls } from './urls.command.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/urls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function showStripeUrlsAction(options: {
2
- showAll: boolean;
3
- }): Promise<void>;
4
- //# sourceMappingURL=urls.action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.action.d.ts","sourceRoot":"","sources":["../../../src/commands/urls/urls.action.ts"],"names":[],"mappings":"AAkFA,wBAAsB,oBAAoB,CAAC,OAAO,EAAE;IAClD,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhB"}
@@ -1,65 +0,0 @@
1
- import chalk from 'chalk';
2
- import prompts from 'prompts';
3
- const STRIPE_URLS = [
4
- {
5
- name: 'API Keys',
6
- icon: '🔑',
7
- live: 'https://dashboard.stripe.com/apikeys',
8
- test: 'https://dashboard.stripe.com/test/apikeys',
9
- },
10
- {
11
- name: 'Products',
12
- icon: '📦',
13
- live: 'https://dashboard.stripe.com/products',
14
- test: 'https://dashboard.stripe.com/test/products',
15
- },
16
- {
17
- name: 'Webhooks',
18
- icon: '🔗',
19
- live: 'https://dashboard.stripe.com/webhooks',
20
- test: 'https://dashboard.stripe.com/test/webhooks',
21
- },
22
- ];
23
- function showAllUrls() {
24
- console.log(chalk.blue.bold('\n🔗 Stripe Dashboard URLs:\n'));
25
- for (const urlItem of STRIPE_URLS) {
26
- console.log(chalk.cyan(`${urlItem.icon} ${chalk.bold(urlItem.name)}:`));
27
- console.log(chalk.green(` Live: ${urlItem.live}`));
28
- console.log(chalk.yellow(` Test: ${urlItem.test}`));
29
- console.log();
30
- }
31
- }
32
- async function showUrlSelection() {
33
- try {
34
- const response = await prompts({
35
- type: 'select',
36
- name: 'value',
37
- message: chalk.blue('Select Stripe dashboard page:'),
38
- choices: STRIPE_URLS.map((urlItem) => ({
39
- title: `${urlItem.icon} ${urlItem.name}`,
40
- value: urlItem,
41
- })),
42
- initial: 0,
43
- });
44
- if (!response.value) {
45
- process.exit(0);
46
- }
47
- console.log(chalk.cyan(`\n${response.value.icon} ${response.value.name}:`));
48
- console.log(chalk.green(` Live: ${response.value.live}`));
49
- console.log(chalk.yellow(` Test: ${response.value.test}`));
50
- }
51
- catch (error) {
52
- console.error(chalk.red('Error during URL selection:'), error);
53
- process.exit(1);
54
- }
55
- }
56
- export async function showStripeUrlsAction(options) {
57
- const { showAll } = options;
58
- if (showAll) {
59
- showAllUrls();
60
- }
61
- else {
62
- await showUrlSelection();
63
- }
64
- }
65
- //# sourceMappingURL=urls.action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.action.js","sourceRoot":"","sources":["../../../src/commands/urls/urls.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAa9B,MAAM,WAAW,GAAgB;IAC/B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,sCAAsC;QAC5C,IAAI,EAAE,2CAA2C;KAClD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,4CAA4C;KACnD;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,uCAAuC;QAC7C,IAAI,EAAE,4CAA4C;KACnD;CACF,CAAC;AAQF,SAAS,WAAW;IAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAE9D,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAID,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;YAC7B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;YACpD,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;gBACxC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAE1C;IACC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5B,IAAI,OAAO,EAAE,CAAC;QACZ,WAAW,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Command } from 'commander';
2
- export interface UrlsOptions {
3
- all?: boolean;
4
- }
5
- export declare const urls: Command;
6
- //# sourceMappingURL=urls.command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.command.d.ts","sourceRoot":"","sources":["../../../src/commands/urls/urls.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,eAAO,MAAM,IAAI,SAcb,CAAC"}
@@ -1,19 +0,0 @@
1
- import chalk from 'chalk';
2
- import { Command } from 'commander';
3
- import { showStripeUrlsAction } from './urls.action.js';
4
- export const urls = new Command()
5
- .name('urls')
6
- .description('Show Stripe dashboard URLs')
7
- .option('-a, --all', 'Show all URLs with labels')
8
- .action(async (options) => {
9
- try {
10
- await showStripeUrlsAction({
11
- showAll: !!options.all,
12
- });
13
- }
14
- catch (error) {
15
- console.error(chalk.red(`\nOperation failed: ${error}`));
16
- process.exit(1);
17
- }
18
- });
19
- //# sourceMappingURL=urls.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.command.js","sourceRoot":"","sources":["../../../src/commands/urls/urls.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAMrD,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE;KAC9B,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;IACrC,IAAI,CAAC;QAEH,MAAM,oBAAoB,CAAC;YACzB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;SACvB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,132 +0,0 @@
1
- import type Stripe from 'stripe';
2
- import { z } from 'zod';
3
- export declare const recurringSchema: z.ZodObject<{
4
- interval: z.ZodEnum<{
5
- day: "day";
6
- month: "month";
7
- week: "week";
8
- year: "year";
9
- }>;
10
- intervalCount: z.ZodDefault<z.ZodNumber>;
11
- trialPeriodDays: z.ZodOptional<z.ZodNumber>;
12
- usageType: z.ZodDefault<z.ZodEnum<{
13
- licensed: "licensed";
14
- metered: "metered";
15
- }>>;
16
- meter: z.ZodOptional<z.ZodString>;
17
- }, z.core.$strip>;
18
- export type Recurring = z.infer<typeof recurringSchema>;
19
- export declare const currencyOptionsSchema: z.ZodObject<{
20
- unitAmount: z.ZodOptional<z.ZodNumber>;
21
- unitAmountDecimal: z.ZodOptional<z.ZodString>;
22
- taxBehavior: z.ZodOptional<z.ZodEnum<{
23
- inclusive: "inclusive";
24
- exclusive: "exclusive";
25
- unspecified: "unspecified";
26
- }>>;
27
- }, z.core.$strip>;
28
- export type CurrencyOptions = z.infer<typeof currencyOptionsSchema>;
29
- export declare const customUnitAmountSchema: z.ZodObject<{
30
- enabled: z.ZodBoolean;
31
- maximum: z.ZodOptional<z.ZodNumber>;
32
- minimum: z.ZodOptional<z.ZodNumber>;
33
- preset: z.ZodOptional<z.ZodNumber>;
34
- }, z.core.$strip>;
35
- export type CustomUnitAmount = z.infer<typeof customUnitAmountSchema>;
36
- export declare const tierSchema: z.ZodObject<{
37
- flatAmount: z.ZodOptional<z.ZodNumber>;
38
- flatAmountDecimal: z.ZodOptional<z.ZodString>;
39
- unitAmount: z.ZodOptional<z.ZodNumber>;
40
- unitAmountDecimal: z.ZodOptional<z.ZodString>;
41
- upTo: z.ZodUnion<readonly [z.ZodLiteral<"inf">, z.ZodNumber]>;
42
- }, z.core.$strip>;
43
- export type Tier = z.infer<typeof tierSchema>;
44
- export declare const transformQuantitySchema: z.ZodObject<{
45
- divideBy: z.ZodNumber;
46
- round: z.ZodEnum<{
47
- down: "down";
48
- up: "up";
49
- }>;
50
- }, z.core.$strip>;
51
- export type TransformQuantity = z.infer<typeof transformQuantitySchema>;
52
- export declare const stripePriceSchema: z.ZodObject<{
53
- id: z.ZodString;
54
- currency: z.ZodString;
55
- unitAmount: z.ZodOptional<z.ZodNumber>;
56
- unitAmountDecimal: z.ZodOptional<z.ZodString>;
57
- type: z.ZodDefault<z.ZodEnum<{
58
- one_time: "one_time";
59
- recurring: "recurring";
60
- }>>;
61
- billingScheme: z.ZodDefault<z.ZodEnum<{
62
- per_unit: "per_unit";
63
- tiered: "tiered";
64
- }>>;
65
- recurring: z.ZodOptional<z.ZodObject<{
66
- interval: z.ZodEnum<{
67
- day: "day";
68
- month: "month";
69
- week: "week";
70
- year: "year";
71
- }>;
72
- intervalCount: z.ZodDefault<z.ZodNumber>;
73
- trialPeriodDays: z.ZodOptional<z.ZodNumber>;
74
- usageType: z.ZodDefault<z.ZodEnum<{
75
- licensed: "licensed";
76
- metered: "metered";
77
- }>>;
78
- meter: z.ZodOptional<z.ZodString>;
79
- }, z.core.$strip>>;
80
- tiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
81
- flatAmount: z.ZodOptional<z.ZodNumber>;
82
- flatAmountDecimal: z.ZodOptional<z.ZodString>;
83
- unitAmount: z.ZodOptional<z.ZodNumber>;
84
- unitAmountDecimal: z.ZodOptional<z.ZodString>;
85
- upTo: z.ZodUnion<readonly [z.ZodLiteral<"inf">, z.ZodNumber]>;
86
- }, z.core.$strip>>>;
87
- tiersMode: z.ZodOptional<z.ZodEnum<{
88
- graduated: "graduated";
89
- volume: "volume";
90
- }>>;
91
- transformQuantity: z.ZodOptional<z.ZodObject<{
92
- divideBy: z.ZodNumber;
93
- round: z.ZodEnum<{
94
- down: "down";
95
- up: "up";
96
- }>;
97
- }, z.core.$strip>>;
98
- currencyOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
99
- unitAmount: z.ZodOptional<z.ZodNumber>;
100
- unitAmountDecimal: z.ZodOptional<z.ZodString>;
101
- taxBehavior: z.ZodOptional<z.ZodEnum<{
102
- inclusive: "inclusive";
103
- exclusive: "exclusive";
104
- unspecified: "unspecified";
105
- }>>;
106
- }, z.core.$strip>>>;
107
- customUnitAmount: z.ZodOptional<z.ZodObject<{
108
- enabled: z.ZodBoolean;
109
- maximum: z.ZodOptional<z.ZodNumber>;
110
- minimum: z.ZodOptional<z.ZodNumber>;
111
- preset: z.ZodOptional<z.ZodNumber>;
112
- }, z.core.$strip>>;
113
- taxBehavior: z.ZodOptional<z.ZodEnum<{
114
- inclusive: "inclusive";
115
- exclusive: "exclusive";
116
- unspecified: "unspecified";
117
- }>>;
118
- nickname: z.ZodOptional<z.ZodString>;
119
- lookupKey: z.ZodOptional<z.ZodString>;
120
- active: z.ZodDefault<z.ZodBoolean>;
121
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
122
- }, z.core.$strip>;
123
- export type StripePrice = z.infer<typeof stripePriceSchema>;
124
- export interface StripePriceMapperContext {
125
- stripeProductId: string;
126
- internalProductId: string;
127
- internalPriceId: string;
128
- planName: string;
129
- tier: string;
130
- }
131
- export type StripePriceMapper = (price: StripePrice, context: StripePriceMapperContext) => Stripe.PriceCreateParams;
132
- //# sourceMappingURL=stripe-price.schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripe-price.schemas.d.ts","sourceRoot":"","sources":["../../src/definitions/stripe-price.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;iBAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,qBAAqB;;;;;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,sBAAsB;;;;;iBAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,eAAO,MAAM,UAAU;;;;;;iBAMrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAG9C,eAAO,MAAM,uBAAuB;;;;;;iBAGlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmC5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAM5D,MAAM,WAAW,wBAAwB;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,wBAAwB,KAC9B,MAAM,CAAC,iBAAiB,CAAC"}
@@ -1,50 +0,0 @@
1
- import { z } from 'zod';
2
- export const recurringSchema = z.object({
3
- interval: z.enum(['day', 'month', 'week', 'year']),
4
- intervalCount: z.number().min(1).default(1),
5
- trialPeriodDays: z.number().min(0).optional(),
6
- usageType: z.enum(['licensed', 'metered']).default('licensed'),
7
- meter: z.string().optional(),
8
- });
9
- export const currencyOptionsSchema = z.object({
10
- unitAmount: z.number().optional(),
11
- unitAmountDecimal: z.string().optional(),
12
- taxBehavior: z.enum(['exclusive', 'inclusive', 'unspecified']).optional(),
13
- });
14
- export const customUnitAmountSchema = z.object({
15
- enabled: z.boolean(),
16
- maximum: z.number().optional(),
17
- minimum: z.number().optional(),
18
- preset: z.number().optional(),
19
- });
20
- export const tierSchema = z.object({
21
- flatAmount: z.number().optional(),
22
- flatAmountDecimal: z.string().optional(),
23
- unitAmount: z.number().optional(),
24
- unitAmountDecimal: z.string().optional(),
25
- upTo: z.union([z.literal('inf'), z.number()]),
26
- });
27
- export const transformQuantitySchema = z.object({
28
- divideBy: z.number(),
29
- round: z.enum(['down', 'up']),
30
- });
31
- export const stripePriceSchema = z.object({
32
- id: z.string(),
33
- currency: z.string().length(3),
34
- unitAmount: z.number().min(0).optional(),
35
- unitAmountDecimal: z.string().optional(),
36
- type: z.enum(['one_time', 'recurring']).default('recurring'),
37
- billingScheme: z.enum(['per_unit', 'tiered']).default('per_unit'),
38
- recurring: recurringSchema.optional(),
39
- tiers: z.array(tierSchema).optional(),
40
- tiersMode: z.enum(['graduated', 'volume']).optional(),
41
- transformQuantity: transformQuantitySchema.optional(),
42
- currencyOptions: z.record(z.string(), currencyOptionsSchema).optional(),
43
- customUnitAmount: customUnitAmountSchema.optional(),
44
- taxBehavior: z.enum(['exclusive', 'inclusive', 'unspecified']).optional(),
45
- nickname: z.string().optional(),
46
- lookupKey: z.string().max(200).optional(),
47
- active: z.boolean().default(true),
48
- metadata: z.record(z.string(), z.string()).optional(),
49
- });
50
- //# sourceMappingURL=stripe-price.schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stripe-price.schemas.js","sourceRoot":"","sources":["../../src/definitions/stripe-price.schemas.ts"],"names":[],"mappings":"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"}