@openmeter/sdk 1.0.0-alpha.3 → 1.0.0-beta-7b2d9ed372e3

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 (261) hide show
  1. package/README.md +45 -62
  2. package/dist/cjs/index.cjs +18 -0
  3. package/dist/cjs/index.d.cts +1 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/src/apps.cjs +176 -0
  6. package/dist/cjs/src/apps.d.cts +338 -0
  7. package/dist/cjs/src/apps.js.map +1 -0
  8. package/dist/cjs/src/billing.cjs +309 -0
  9. package/dist/cjs/src/billing.d.cts +645 -0
  10. package/dist/cjs/src/billing.js.map +1 -0
  11. package/dist/cjs/src/client/apps.cjs +174 -0
  12. package/dist/cjs/src/client/apps.d.cts +339 -0
  13. package/dist/cjs/src/client/apps.js.map +1 -0
  14. package/dist/cjs/src/client/billing.cjs +309 -0
  15. package/dist/cjs/src/client/billing.d.cts +646 -0
  16. package/dist/cjs/src/client/billing.js.map +1 -0
  17. package/dist/cjs/src/client/customers.cjs +185 -0
  18. package/dist/cjs/src/client/customers.d.cts +232 -0
  19. package/dist/cjs/src/client/customers.js.map +1 -0
  20. package/dist/cjs/src/client/entitlements.cjs +244 -0
  21. package/dist/cjs/src/client/entitlements.d.cts +506 -0
  22. package/dist/cjs/src/client/entitlements.js.map +1 -0
  23. package/dist/cjs/src/client/events.cjs +65 -0
  24. package/dist/cjs/src/client/events.d.cts +102 -0
  25. package/dist/cjs/src/client/events.js.map +1 -0
  26. package/dist/cjs/src/client/features.cjs +78 -0
  27. package/dist/cjs/src/client/features.d.cts +154 -0
  28. package/dist/cjs/src/client/features.js.map +1 -0
  29. package/dist/cjs/src/client/index.cjs +100 -0
  30. package/dist/cjs/src/client/index.d.cts +42 -0
  31. package/dist/cjs/src/client/index.js.map +1 -0
  32. package/dist/cjs/src/client/meters.cjs +93 -0
  33. package/dist/cjs/src/client/meters.d.cts +185 -0
  34. package/dist/cjs/src/client/meters.js.map +1 -0
  35. package/dist/cjs/src/client/notifications.cjs +249 -0
  36. package/dist/cjs/src/client/notifications.d.cts +315 -0
  37. package/dist/cjs/src/client/notifications.js.map +1 -0
  38. package/dist/cjs/src/client/plans.cjs +127 -0
  39. package/dist/cjs/src/client/plans.d.cts +193 -0
  40. package/dist/cjs/src/client/plans.js.map +1 -0
  41. package/dist/cjs/src/client/portal.cjs +55 -0
  42. package/dist/cjs/src/client/portal.d.cts +72 -0
  43. package/dist/cjs/src/client/portal.js.map +1 -0
  44. package/dist/cjs/src/client/subjects.cjs +76 -0
  45. package/dist/cjs/src/client/subjects.d.cts +102 -0
  46. package/dist/cjs/src/client/subjects.js.map +1 -0
  47. package/dist/cjs/src/client/subscriptions.cjs +116 -0
  48. package/dist/cjs/src/client/subscriptions.d.cts +198 -0
  49. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  50. package/dist/cjs/src/client/utils.cjs +93 -0
  51. package/dist/cjs/src/client/utils.d.cts +30 -0
  52. package/dist/cjs/src/client/utils.js.map +1 -0
  53. package/dist/cjs/src/customers.cjs +185 -0
  54. package/dist/cjs/src/customers.d.cts +231 -0
  55. package/dist/cjs/src/customers.js.map +1 -0
  56. package/dist/cjs/src/entitlements.cjs +244 -0
  57. package/dist/cjs/src/entitlements.d.cts +505 -0
  58. package/dist/cjs/src/entitlements.js.map +1 -0
  59. package/dist/cjs/src/events.cjs +65 -0
  60. package/dist/cjs/src/events.d.cts +101 -0
  61. package/dist/cjs/src/events.js.map +1 -0
  62. package/dist/cjs/src/features.cjs +78 -0
  63. package/dist/cjs/src/features.d.cts +153 -0
  64. package/dist/cjs/src/features.js.map +1 -0
  65. package/dist/cjs/src/meters.cjs +93 -0
  66. package/dist/cjs/src/meters.d.cts +184 -0
  67. package/dist/cjs/src/meters.js.map +1 -0
  68. package/dist/cjs/src/notifications.cjs +249 -0
  69. package/dist/cjs/src/notifications.d.cts +314 -0
  70. package/dist/cjs/src/notifications.js.map +1 -0
  71. package/dist/cjs/src/plans.cjs +127 -0
  72. package/dist/cjs/src/plans.d.cts +192 -0
  73. package/dist/cjs/src/plans.js.map +1 -0
  74. package/dist/cjs/src/portal/index.cjs +57 -0
  75. package/dist/cjs/src/portal/index.d.cts +113 -0
  76. package/dist/cjs/src/portal/index.js.map +1 -0
  77. package/dist/cjs/src/react/context.cjs +35 -0
  78. package/dist/cjs/src/react/context.d.cts +9 -0
  79. package/dist/cjs/src/react/context.js.map +1 -0
  80. package/dist/cjs/src/subjects.cjs +76 -0
  81. package/dist/cjs/src/subjects.d.cts +101 -0
  82. package/dist/cjs/src/subjects.js.map +1 -0
  83. package/dist/cjs/src/subscriptions.cjs +116 -0
  84. package/dist/cjs/src/subscriptions.d.cts +197 -0
  85. package/dist/cjs/src/subscriptions.js.map +1 -0
  86. package/dist/cjs/src/utils.cjs +93 -0
  87. package/dist/cjs/src/utils.d.cts +29 -0
  88. package/dist/cjs/src/utils.js.map +1 -0
  89. package/dist/cjs/tsconfig.01ab6c6b.tsbuildinfo +1 -0
  90. package/dist/cjs/tsconfig.1e12acbb.tsbuildinfo +1 -0
  91. package/dist/cjs/tsconfig.38849cd1.tsbuildinfo +1 -0
  92. package/dist/cjs/tsconfig.3bd7bdb7.tsbuildinfo +1 -0
  93. package/dist/cjs/tsconfig.3db00db7.tsbuildinfo +1 -0
  94. package/dist/cjs/tsconfig.5cd8af0a.tsbuildinfo +1 -0
  95. package/dist/cjs/tsconfig.64c40770.tsbuildinfo +1 -0
  96. package/dist/cjs/tsconfig.769a7751.tsbuildinfo +1 -0
  97. package/dist/cjs/tsconfig.8fd1c6cd.tsbuildinfo +1 -0
  98. package/dist/cjs/tsconfig.c9e83bdd.tsbuildinfo +1 -0
  99. package/dist/cjs/tsconfig.d3cb3b9e.tsbuildinfo +1 -0
  100. package/dist/cjs/tsconfig.db7aa141.tsbuildinfo +1 -0
  101. package/dist/cjs/tsconfig.edd7b7ed.tsbuildinfo +1 -0
  102. package/dist/cjs/tsconfig.f343a141.tsbuildinfo +1 -0
  103. package/dist/cjs/tsconfig.f36f8639.tsbuildinfo +1 -0
  104. package/dist/cjs/tsconfig.fc8d5fa4.tsbuildinfo +1 -0
  105. package/dist/index.d.ts +1 -23
  106. package/dist/index.js +2 -28
  107. package/dist/index.js.map +1 -0
  108. package/dist/src/apps.d.ts +338 -0
  109. package/dist/src/apps.js +170 -0
  110. package/dist/src/apps.js.map +1 -0
  111. package/dist/src/billing.d.ts +645 -0
  112. package/dist/src/billing.js +302 -0
  113. package/dist/src/billing.js.map +1 -0
  114. package/dist/src/client/apps.d.ts +339 -0
  115. package/dist/src/client/apps.js +168 -0
  116. package/dist/src/client/apps.js.map +1 -0
  117. package/dist/src/client/billing.d.ts +646 -0
  118. package/dist/src/client/billing.js +302 -0
  119. package/dist/src/client/billing.js.map +1 -0
  120. package/dist/src/client/customers.d.ts +232 -0
  121. package/dist/src/client/customers.js +179 -0
  122. package/dist/src/client/customers.js.map +1 -0
  123. package/dist/src/client/entitlements.d.ts +506 -0
  124. package/dist/src/client/entitlements.js +239 -0
  125. package/dist/src/client/entitlements.js.map +1 -0
  126. package/dist/src/client/events.d.ts +102 -0
  127. package/dist/src/client/events.js +58 -0
  128. package/dist/src/client/events.js.map +1 -0
  129. package/dist/src/client/features.d.ts +154 -0
  130. package/dist/src/client/features.js +74 -0
  131. package/dist/src/client/features.js.map +1 -0
  132. package/dist/src/client/index.d.ts +42 -0
  133. package/dist/src/client/index.js +63 -0
  134. package/dist/src/client/index.js.map +1 -0
  135. package/dist/src/client/meters.d.ts +185 -0
  136. package/dist/src/client/meters.js +89 -0
  137. package/dist/src/client/meters.js.map +1 -0
  138. package/dist/src/client/notifications.d.ts +315 -0
  139. package/dist/src/client/notifications.js +242 -0
  140. package/dist/src/client/notifications.js.map +1 -0
  141. package/dist/src/client/plans.d.ts +193 -0
  142. package/dist/src/client/plans.js +123 -0
  143. package/dist/src/client/plans.js.map +1 -0
  144. package/dist/src/client/portal.d.ts +72 -0
  145. package/dist/src/client/portal.js +51 -0
  146. package/dist/src/client/portal.js.map +1 -0
  147. package/dist/src/client/subjects.d.ts +102 -0
  148. package/dist/src/client/subjects.js +72 -0
  149. package/dist/src/client/subjects.js.map +1 -0
  150. package/dist/src/client/subscriptions.d.ts +198 -0
  151. package/dist/src/client/subscriptions.js +112 -0
  152. package/dist/src/client/subscriptions.js.map +1 -0
  153. package/dist/src/client/utils.d.ts +30 -0
  154. package/dist/src/client/utils.js +85 -0
  155. package/dist/src/client/utils.js.map +1 -0
  156. package/dist/src/customers.d.ts +231 -0
  157. package/dist/src/customers.js +179 -0
  158. package/dist/src/customers.js.map +1 -0
  159. package/dist/src/entitlements.d.ts +505 -0
  160. package/dist/src/entitlements.js +239 -0
  161. package/dist/src/entitlements.js.map +1 -0
  162. package/dist/src/events.d.ts +101 -0
  163. package/dist/src/events.js +58 -0
  164. package/dist/src/events.js.map +1 -0
  165. package/dist/src/features.d.ts +153 -0
  166. package/dist/src/features.js +74 -0
  167. package/dist/src/features.js.map +1 -0
  168. package/dist/src/meters.d.ts +184 -0
  169. package/dist/src/meters.js +89 -0
  170. package/dist/src/meters.js.map +1 -0
  171. package/dist/src/notifications.d.ts +314 -0
  172. package/dist/src/notifications.js +242 -0
  173. package/dist/src/notifications.js.map +1 -0
  174. package/dist/src/plans.d.ts +192 -0
  175. package/dist/src/plans.js +123 -0
  176. package/dist/src/plans.js.map +1 -0
  177. package/dist/src/portal/index.d.ts +113 -0
  178. package/dist/src/portal/index.js +50 -0
  179. package/dist/src/portal/index.js.map +1 -0
  180. package/dist/src/react/context.d.ts +9 -0
  181. package/dist/src/react/context.js +16 -0
  182. package/dist/src/react/context.js.map +1 -0
  183. package/dist/src/subjects.d.ts +101 -0
  184. package/dist/src/subjects.js +72 -0
  185. package/dist/src/subjects.js.map +1 -0
  186. package/dist/src/subscriptions.d.ts +197 -0
  187. package/dist/src/subscriptions.js +112 -0
  188. package/dist/src/subscriptions.js.map +1 -0
  189. package/dist/src/utils.d.ts +29 -0
  190. package/dist/src/utils.js +85 -0
  191. package/dist/src/utils.js.map +1 -0
  192. package/dist/tsconfig.tsbuildinfo +1 -1
  193. package/package.json +95 -57
  194. package/patches/openapi-typescript.patch +73 -0
  195. package/dist/generated/HttpService.d.ts +0 -14
  196. package/dist/generated/HttpService.js +0 -27
  197. package/dist/generated/core/ApiError.d.ts +0 -10
  198. package/dist/generated/core/ApiError.js +0 -17
  199. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  200. package/dist/generated/core/ApiRequestOptions.js +0 -2
  201. package/dist/generated/core/ApiResult.d.ts +0 -7
  202. package/dist/generated/core/ApiResult.js +0 -2
  203. package/dist/generated/core/BaseHttpRequest.d.ts +0 -8
  204. package/dist/generated/core/BaseHttpRequest.js +0 -7
  205. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  206. package/dist/generated/core/CancelablePromise.js +0 -93
  207. package/dist/generated/core/NodeHttpRequest.d.ts +0 -14
  208. package/dist/generated/core/NodeHttpRequest.js +0 -17
  209. package/dist/generated/core/OpenAPI.d.ts +0 -16
  210. package/dist/generated/core/OpenAPI.js +0 -12
  211. package/dist/generated/core/request.d.ts +0 -34
  212. package/dist/generated/core/request.js +0 -268
  213. package/dist/generated/index.d.ts +0 -29
  214. package/dist/generated/index.js +0 -22
  215. package/dist/generated/models/Event.d.ts +0 -49
  216. package/dist/generated/models/Event.js +0 -11
  217. package/dist/generated/models/IdOrSlug.d.ts +0 -1
  218. package/dist/generated/models/IdOrSlug.js +0 -2
  219. package/dist/generated/models/Meter.d.ts +0 -30
  220. package/dist/generated/models/Meter.js +0 -2
  221. package/dist/generated/models/MeterAggregation.d.ts +0 -10
  222. package/dist/generated/models/MeterAggregation.js +0 -12
  223. package/dist/generated/models/MeterValue.d.ts +0 -10
  224. package/dist/generated/models/MeterValue.js +0 -2
  225. package/dist/generated/models/Namespace.d.ts +0 -6
  226. package/dist/generated/models/Namespace.js +0 -2
  227. package/dist/generated/models/Problem.d.ts +0 -4
  228. package/dist/generated/models/Problem.js +0 -2
  229. package/dist/generated/models/WindowSize.d.ts +0 -5
  230. package/dist/generated/models/WindowSize.js +0 -7
  231. package/dist/generated/models/meterIdOrSlug.d.ts +0 -5
  232. package/dist/generated/models/meterIdOrSlug.js +0 -2
  233. package/dist/generated/models/namespaceParam.d.ts +0 -4
  234. package/dist/generated/models/namespaceParam.js +0 -2
  235. package/dist/generated/schemas/$Event.d.ts +0 -59
  236. package/dist/generated/schemas/$Event.js +0 -60
  237. package/dist/generated/schemas/$IdOrSlug.d.ts +0 -13
  238. package/dist/generated/schemas/$IdOrSlug.js +0 -14
  239. package/dist/generated/schemas/$Meter.d.ts +0 -44
  240. package/dist/generated/schemas/$Meter.js +0 -45
  241. package/dist/generated/schemas/$MeterAggregation.d.ts +0 -3
  242. package/dist/generated/schemas/$MeterAggregation.js +0 -4
  243. package/dist/generated/schemas/$MeterValue.d.ts +0 -26
  244. package/dist/generated/schemas/$MeterValue.js +0 -27
  245. package/dist/generated/schemas/$Namespace.d.ts +0 -9
  246. package/dist/generated/schemas/$Namespace.js +0 -10
  247. package/dist/generated/schemas/$Problem.d.ts +0 -6
  248. package/dist/generated/schemas/$Problem.js +0 -7
  249. package/dist/generated/schemas/$WindowSize.d.ts +0 -3
  250. package/dist/generated/schemas/$WindowSize.js +0 -4
  251. package/dist/generated/schemas/$meterIdOrSlug.d.ts +0 -4
  252. package/dist/generated/schemas/$meterIdOrSlug.js +0 -5
  253. package/dist/generated/schemas/$namespaceParam.d.ts +0 -5
  254. package/dist/generated/schemas/$namespaceParam.js +0 -6
  255. package/dist/generated/services/DefaultService.d.ts +0 -16
  256. package/dist/generated/services/DefaultService.js +0 -22
  257. package/dist/generated/services/EventsService.d.ts +0 -17
  258. package/dist/generated/services/EventsService.js +0 -29
  259. package/dist/generated/services/MetersService.d.ts +0 -75
  260. package/dist/generated/services/MetersService.js +0 -140
  261. package/index.ts +0 -53
@@ -0,0 +1,198 @@
1
+ import { type RequestOptions } from './utils.cjs';
2
+ import type { operations, paths, SubscriptionChange, SubscriptionCreate, SubscriptionEdit } from './schemas.cjs';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Subscriptions
6
+ */
7
+ export declare class Subscriptions {
8
+ private readonly client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * Create a subscription
12
+ * @param body - The subscription to create
13
+ * @param signal - An optional abort signal
14
+ * @returns The created subscription
15
+ */
16
+ create(body: SubscriptionCreate, options?: RequestOptions): Promise<{
17
+ data?: never;
18
+ error: import("./utils.cjs").Problem;
19
+ response: Response;
20
+ } | {
21
+ data: {
22
+ readonly id: string;
23
+ name: string;
24
+ description?: string;
25
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
26
+ readonly createdAt: Date;
27
+ readonly updatedAt: Date;
28
+ readonly deletedAt?: Date;
29
+ activeFrom: Date;
30
+ activeTo?: Date;
31
+ readonly status: import("./schemas.cjs").components["schemas"]["SubscriptionStatus"];
32
+ customerId: string;
33
+ plan?: import("./schemas.cjs").components["schemas"]["PlanReference"];
34
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
35
+ };
36
+ error?: never;
37
+ response: Response;
38
+ }>;
39
+ /**
40
+ * Get a subscription
41
+ * @param id - The subscription ID
42
+ * @param signal - An optional abort signal
43
+ * @returns The subscription
44
+ */
45
+ get(id: operations['getSubscription']['parameters']['path']['subscriptionId'], options?: RequestOptions): Promise<{
46
+ data?: never;
47
+ error: import("./utils.cjs").Problem;
48
+ response: Response;
49
+ } | {
50
+ data: {
51
+ readonly id: string;
52
+ name: string;
53
+ description?: string;
54
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
55
+ readonly createdAt: Date;
56
+ readonly updatedAt: Date;
57
+ readonly deletedAt?: Date;
58
+ activeFrom: Date;
59
+ activeTo?: Date;
60
+ readonly status: import("./schemas.cjs").components["schemas"]["SubscriptionStatus"];
61
+ customerId: string;
62
+ plan?: import("./schemas.cjs").components["schemas"]["PlanReference"];
63
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
64
+ phases: import("./schemas.cjs").components["schemas"]["SubscriptionPhaseExpanded"][];
65
+ };
66
+ error?: never;
67
+ response: Response;
68
+ }>;
69
+ /**
70
+ * Edit a subscription
71
+ * @param id - The subscription ID
72
+ * @param body - The subscription to edit
73
+ * @param signal - An optional abort signal
74
+ * @returns The edited subscription
75
+ */
76
+ edit(id: operations['editSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionEdit, options?: RequestOptions): Promise<{
77
+ data?: never;
78
+ error: import("./utils.cjs").Problem;
79
+ response: Response;
80
+ } | {
81
+ data: {
82
+ readonly id: string;
83
+ name: string;
84
+ description?: string;
85
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
86
+ readonly createdAt: Date;
87
+ readonly updatedAt: Date;
88
+ readonly deletedAt?: Date;
89
+ activeFrom: Date;
90
+ activeTo?: Date;
91
+ readonly status: import("./schemas.cjs").components["schemas"]["SubscriptionStatus"];
92
+ customerId: string;
93
+ plan?: import("./schemas.cjs").components["schemas"]["PlanReference"];
94
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
95
+ };
96
+ error?: never;
97
+ response: Response;
98
+ }>;
99
+ /**
100
+ * Cancel a subscription
101
+ * @param id - The subscription ID
102
+ * @param body - The subscription to cancel
103
+ * @param signal - An optional abort signal
104
+ * @returns The canceled subscription
105
+ */
106
+ cancel(id: operations['cancelSubscription']['parameters']['path']['subscriptionId'], body: operations['cancelSubscription']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
107
+ data?: never;
108
+ error: import("./utils.cjs").Problem;
109
+ response: Response;
110
+ } | {
111
+ data: {
112
+ readonly id: string;
113
+ name: string;
114
+ description?: string;
115
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
116
+ readonly createdAt: Date;
117
+ readonly updatedAt: Date;
118
+ readonly deletedAt?: Date;
119
+ activeFrom: Date;
120
+ activeTo?: Date;
121
+ readonly status: import("./schemas.cjs").components["schemas"]["SubscriptionStatus"];
122
+ customerId: string;
123
+ plan?: import("./schemas.cjs").components["schemas"]["PlanReference"];
124
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
125
+ };
126
+ error?: never;
127
+ response: Response;
128
+ }>;
129
+ /**
130
+ * Change a subscription
131
+ * @description Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes.
132
+ * @param id - The subscription ID
133
+ * @param body - The subscription to change
134
+ * @param signal - An optional abort signal
135
+ * @returns The changed subscription
136
+ */
137
+ change(id: operations['changeSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionChange, options?: RequestOptions): Promise<{
138
+ data?: never;
139
+ error: import("./utils.cjs").Problem;
140
+ response: Response;
141
+ } | {
142
+ data: {
143
+ current: import("./schemas.cjs").components["schemas"]["Subscription"];
144
+ next: import("./schemas.cjs").components["schemas"]["SubscriptionExpanded"];
145
+ };
146
+ error?: never;
147
+ response: Response;
148
+ }>;
149
+ /**
150
+ * Migrate a subscription
151
+ * @description Migrates the subscripiton to the provided version of the current plan.
152
+ * @param id - The subscription ID
153
+ * @param body - The subscription to migrate
154
+ * @param signal - An optional abort signal
155
+ * @returns The migrated subscription
156
+ */
157
+ migrate(id: operations['migrateSubscription']['parameters']['path']['subscriptionId'], body: operations['migrateSubscription']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
158
+ data?: never;
159
+ error: import("./utils.cjs").Problem;
160
+ response: Response;
161
+ } | {
162
+ data: {
163
+ current: import("./schemas.cjs").components["schemas"]["Subscription"];
164
+ next: import("./schemas.cjs").components["schemas"]["SubscriptionExpanded"];
165
+ };
166
+ error?: never;
167
+ response: Response;
168
+ }>;
169
+ /**
170
+ * Unschedule a cancelation
171
+ * @param id - The subscription ID
172
+ * @param signal - An optional abort signal
173
+ * @returns The unscheduled subscription
174
+ */
175
+ unscheduleCancelation(id: operations['unscheduleCancelation']['parameters']['path']['subscriptionId'], options?: RequestOptions): Promise<{
176
+ data?: never;
177
+ error: import("./utils.cjs").Problem;
178
+ response: Response;
179
+ } | {
180
+ data: {
181
+ readonly id: string;
182
+ name: string;
183
+ description?: string;
184
+ metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null;
185
+ readonly createdAt: Date;
186
+ readonly updatedAt: Date;
187
+ readonly deletedAt?: Date;
188
+ activeFrom: Date;
189
+ activeTo?: Date;
190
+ readonly status: import("./schemas.cjs").components["schemas"]["SubscriptionStatus"];
191
+ customerId: string;
192
+ plan?: import("./schemas.cjs").components["schemas"]["PlanReference"];
193
+ currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"];
194
+ };
195
+ error?: never;
196
+ response: Response;
197
+ }>;
198
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../../../src/client/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Problem = void 0;
4
+ exports.transformResponse = transformResponse;
5
+ exports.isIsoDateString = isIsoDateString;
6
+ exports.decodeDates = decodeDates;
7
+ exports.encodeDates = encodeDates;
8
+ class Problem extends Error {
9
+ message;
10
+ type;
11
+ title;
12
+ status;
13
+ __raw;
14
+ name = 'Problem';
15
+ constructor(message, type, title, status, __raw) {
16
+ super(message);
17
+ this.message = message;
18
+ this.type = type;
19
+ this.title = title;
20
+ this.status = status;
21
+ this.__raw = __raw;
22
+ }
23
+ static fromResponse(resp) {
24
+ if (resp.response.headers.get('Content-Type') ===
25
+ 'application/problem+json' &&
26
+ resp.error) {
27
+ return new Problem(resp.error.detail, resp.error.type, resp.error.title, resp.error.status ?? resp.response.status, resp.error);
28
+ }
29
+ return new Problem(`Request failed: ${resp.response.statusText}`, resp.response.statusText, resp.response.statusText, resp.response.status);
30
+ }
31
+ getField(key) {
32
+ return this.__raw?.[key];
33
+ }
34
+ }
35
+ exports.Problem = Problem;
36
+ // Implementation
37
+ function transformResponse(resp) {
38
+ // Handle errors
39
+ if (resp.error || resp.response.status >= 400) {
40
+ const error = Problem.fromResponse(resp);
41
+ return { error, response: resp.response };
42
+ }
43
+ // Decode dates
44
+ if (resp.data) {
45
+ resp.data = decodeDates(resp.data);
46
+ }
47
+ return { data: resp.data, response: resp.response };
48
+ }
49
+ const ISODateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d*)?(?:[-+]\d{2}:?\d{2}|Z)?$/;
50
+ function isIsoDateString(value) {
51
+ return typeof value === 'string' && ISODateFormat.test(value);
52
+ }
53
+ function decodeDates(data) {
54
+ // if it's a date string, return a date
55
+ if (isIsoDateString(data)) {
56
+ return new Date(data);
57
+ }
58
+ // if it's not an object or array, return it
59
+ if (data === null || data === undefined || typeof data !== 'object') {
60
+ return data;
61
+ }
62
+ // if it's an array, decode each element
63
+ if (Array.isArray(data)) {
64
+ return data.map((val) => decodeDates(val));
65
+ }
66
+ // if it's an object, decode each key
67
+ for (const [key, val] of Object.entries(data)) {
68
+ // @ts-expect-error we know this will give back the same type
69
+ data[key] = decodeDates(val);
70
+ }
71
+ return data;
72
+ }
73
+ function encodeDates(data) {
74
+ // if it's a date, return a date string
75
+ if (data instanceof Date) {
76
+ return data.toISOString();
77
+ }
78
+ // if it's not an object or array, return it
79
+ if (data === null || data === undefined || typeof data !== 'object') {
80
+ return data;
81
+ }
82
+ // if it's an array, encode each element
83
+ if (Array.isArray(data)) {
84
+ return data.map((val) => encodeDates(val));
85
+ }
86
+ // if it's an object, encode each key
87
+ for (const [key, val] of Object.entries(data)) {
88
+ // @ts-expect-error we know this will give back the same type
89
+ data[key] = encodeDates(val);
90
+ }
91
+ return data;
92
+ }
93
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,30 @@
1
+ import type { UnexpectedProblemResponse } from './schemas.cjs';
2
+ import type { FetchResponse, ParseAsResponse } from 'openapi-fetch';
3
+ import type { MediaType, ResponseObjectMap, SuccessResponse } from 'openapi-typescript-helpers';
4
+ export type RequestOptions = Pick<RequestInit, 'signal'>;
5
+ export declare class Problem extends Error {
6
+ message: string;
7
+ type: string;
8
+ title: string;
9
+ status: number;
10
+ protected __raw?: Record<string, any> | undefined;
11
+ name: string;
12
+ constructor(message: string, type: string, title: string, status: number, __raw?: Record<string, any> | undefined);
13
+ static fromResponse(resp: {
14
+ response: Response;
15
+ error?: UnexpectedProblemResponse;
16
+ }): Problem;
17
+ getField(key: string): any;
18
+ }
19
+ export declare function transformResponse<T extends Record<string | number, any>, Options, Media extends MediaType>(resp: FetchResponse<T, Options, Media>): {
20
+ data: ParseAsResponse<SuccessResponse<ResponseObjectMap<T>, Media>, Options>;
21
+ error?: never;
22
+ response: Response;
23
+ } | {
24
+ data?: never;
25
+ error: Problem;
26
+ response: Response;
27
+ };
28
+ export declare function isIsoDateString(value: unknown): value is string;
29
+ export declare function decodeDates<T>(data: T): T;
30
+ export declare function encodeDates<T>(data: T): T;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/client/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomerEntitlements = exports.CustomerApps = exports.Customers = void 0;
4
+ const utils_js_1 = require("./utils.cjs");
5
+ /**
6
+ * Customers
7
+ * Manage customer subscription lifecycles and plan assignments.
8
+ */
9
+ class Customers {
10
+ client;
11
+ apps;
12
+ entitlements;
13
+ constructor(client) {
14
+ this.client = client;
15
+ this.apps = new CustomerApps(client);
16
+ this.entitlements = new CustomerEntitlements(client);
17
+ }
18
+ /**
19
+ * Create a customer
20
+ * @param customer - The customer to create
21
+ * @param signal - An optional abort signal
22
+ * @returns The created customer
23
+ */
24
+ async create(customer, signal) {
25
+ const resp = await this.client.POST('/api/v1/customers', {
26
+ signal,
27
+ body: customer,
28
+ });
29
+ return (0, utils_js_1.transformResponse)(resp);
30
+ }
31
+ /**
32
+ * Get a customer by ID
33
+ * @param id - The ID of the customer
34
+ * @param signal - An optional abort signal
35
+ * @returns The customer
36
+ */
37
+ async get(id, signal) {
38
+ const resp = await this.client.GET('/api/v1/customers/{id}', {
39
+ signal,
40
+ params: {
41
+ path: {
42
+ id,
43
+ },
44
+ },
45
+ });
46
+ return (0, utils_js_1.transformResponse)(resp);
47
+ }
48
+ /**
49
+ * Update a customer
50
+ * @param id - The ID of the customer
51
+ * @param customer - The customer to update
52
+ * @param signal - An optional abort signal
53
+ * @returns The updated customer
54
+ */
55
+ async update(id, customer, signal) {
56
+ const resp = await this.client.PUT('/api/v1/customers/{id}', {
57
+ signal,
58
+ params: {
59
+ path: {
60
+ id,
61
+ },
62
+ },
63
+ body: customer,
64
+ });
65
+ return (0, utils_js_1.transformResponse)(resp);
66
+ }
67
+ /**
68
+ * Delete a customer
69
+ * @param id - The ID of the customer
70
+ * @param signal - An optional abort signal
71
+ * @returns The deleted customer
72
+ */
73
+ async delete(id, signal) {
74
+ const resp = await this.client.DELETE('/api/v1/customers/{id}', {
75
+ signal,
76
+ params: {
77
+ path: {
78
+ id,
79
+ },
80
+ },
81
+ });
82
+ return (0, utils_js_1.transformResponse)(resp);
83
+ }
84
+ /**
85
+ * List customers
86
+ * @param signal - An optional abort signal
87
+ * @returns The list of customers
88
+ */
89
+ async list(query, signal) {
90
+ const resp = await this.client.GET('/api/v1/customers', {
91
+ signal,
92
+ params: {
93
+ query,
94
+ },
95
+ });
96
+ return (0, utils_js_1.transformResponse)(resp);
97
+ }
98
+ }
99
+ exports.Customers = Customers;
100
+ /**
101
+ * Customer Apps
102
+ * Manage customer apps.
103
+ */
104
+ class CustomerApps {
105
+ client;
106
+ constructor(client) {
107
+ this.client = client;
108
+ }
109
+ /**
110
+ * Upsert customer app data
111
+ * @param customerId - The ID of the customer
112
+ * @param appData - The app data to upsert
113
+ * @param signal - An optional abort signal
114
+ * @returns The upserted app data
115
+ */
116
+ async upsert(customerId, appData, signal) {
117
+ const resp = await this.client.PUT('/api/v1/customers/{customerId}/apps', {
118
+ signal,
119
+ params: {
120
+ path: {
121
+ customerId,
122
+ },
123
+ },
124
+ body: appData,
125
+ });
126
+ return (0, utils_js_1.transformResponse)(resp);
127
+ }
128
+ /**
129
+ * List customer app data
130
+ * @param customerId - The ID of the customer
131
+ * @param query - The query parameters
132
+ * @param signal - An optional abort signal
133
+ * @returns The list of customer app data
134
+ */
135
+ async list(customerId, query, signal) {
136
+ const resp = await this.client.GET('/api/v1/customers/{customerId}/apps', {
137
+ signal,
138
+ params: {
139
+ path: { customerId },
140
+ query,
141
+ },
142
+ });
143
+ return (0, utils_js_1.transformResponse)(resp);
144
+ }
145
+ /**
146
+ * Delete customer app data
147
+ * @param customerId - The ID of the customer
148
+ * @param appId - The ID of the app
149
+ * @param signal - An optional abort signal
150
+ * @returns The deleted customer app data
151
+ */
152
+ async delete(customerId, appId, signal) {
153
+ const resp = await this.client.DELETE('/api/v1/customers/{customerId}/apps/{appId}', {
154
+ signal,
155
+ params: { path: { customerId, appId } },
156
+ });
157
+ return (0, utils_js_1.transformResponse)(resp);
158
+ }
159
+ }
160
+ exports.CustomerApps = CustomerApps;
161
+ /**
162
+ * Customer Entitlements
163
+ */
164
+ class CustomerEntitlements {
165
+ client;
166
+ constructor(client) {
167
+ this.client = client;
168
+ }
169
+ /**
170
+ * Get the value of an entitlement for a customer
171
+ * @param customerId - The ID of the customer
172
+ * @param featureKey - The key of the feature
173
+ * @param signal - An optional abort signal
174
+ * @returns The value of the entitlement
175
+ */
176
+ async value(customerId, featureKey, signal) {
177
+ const resp = await this.client.GET('/api/v1/customers/{customerId}/entitlements/{featureKey}/value', {
178
+ signal,
179
+ params: { path: { customerId, featureKey } },
180
+ });
181
+ return (0, utils_js_1.transformResponse)(resp);
182
+ }
183
+ }
184
+ exports.CustomerEntitlements = CustomerEntitlements;
185
+ //# sourceMappingURL=customers.js.map