@openmeter/sdk 1.0.0-alpha.4 → 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 -70
  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 -29
  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 -56
  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,50 @@
1
+ import createClient from 'openapi-fetch';
2
+ import { createQuerySerializer } from 'openapi-fetch/dist/cjs/index.cjs';
3
+ import { encodeDates, transformResponse } from '../client/utils.js';
4
+ /**
5
+ * OpenMeter Portal Client
6
+ * Access to the customer portal.
7
+ */
8
+ export class OpenMeter {
9
+ client;
10
+ constructor(config) {
11
+ this.client = createClient({
12
+ ...config,
13
+ headers: {
14
+ ...config.headers,
15
+ Authorization: `Bearer ${config.portalToken}`,
16
+ },
17
+ querySerializer: (q) => createQuerySerializer({
18
+ array: {
19
+ explode: true,
20
+ style: 'form',
21
+ },
22
+ object: {
23
+ explode: true,
24
+ style: 'deepObject',
25
+ },
26
+ })(encodeDates(q)),
27
+ });
28
+ }
29
+ /**
30
+ * Query usage data for a meter by slug for customer portal.
31
+ * This endpoint is publicly exposable to consumers.
32
+ * @param meterSlug - The slug of the meter
33
+ * @param query - The query parameters
34
+ * @param signal - An optional abort signal
35
+ * @returns The meter data
36
+ */
37
+ async query(meterSlug, query, options) {
38
+ const resp = await this.client.GET('/api/v1/portal/meters/{meterSlug}/query', {
39
+ params: {
40
+ path: {
41
+ meterSlug,
42
+ },
43
+ query,
44
+ },
45
+ ...options,
46
+ });
47
+ return transformResponse(resp);
48
+ }
49
+ }
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/portal/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAiBnE;;;GAGG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,CAAsC;IAEpD,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAQ;YAChC,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE;aAC9C;YACD,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CACrB,qBAAqB,CAAC;gBACpB,KAAK,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,MAAM;iBACd;gBACD,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,YAAY;iBACpB;aACF,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACrB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,CAChB,SAAiB,EACjB,KAaC,EACD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAChC,yCAAyC,EACzC;YACE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,SAAS;iBACV;gBACD,KAAK;aACN;YACD,GAAG,OAAO;SACX,CACF,CAAA;QAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import type { OpenMeter } from '../portal/index.js';
2
+ export * from '../portal/index.js';
3
+ export declare const OpenMeterContext: import("react").Context<OpenMeter | null>;
4
+ export type OpenMeterProviderProps = {
5
+ children?: React.ReactNode;
6
+ value: OpenMeter | null;
7
+ };
8
+ export declare function OpenMeterProvider({ children, value }: OpenMeterProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function useOpenMeter(): OpenMeter | null;
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from 'react';
4
+ export * from '../portal/index.js';
5
+ export const OpenMeterContext = createContext(null);
6
+ export function OpenMeterProvider({ children, value }) {
7
+ return (_jsx(OpenMeterContext.Provider, { value: value, children: children }));
8
+ }
9
+ export function useOpenMeter() {
10
+ const context = useContext(OpenMeterContext);
11
+ if (typeof context === 'undefined') {
12
+ throw new Error('useOpenMeter must be used within a OpenMeterProvider');
13
+ }
14
+ return context;
15
+ }
16
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/react/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGjD,cAAc,oBAAoB,CAAA;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAA;AAOrE,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAA0B;IAC3E,OAAO,CACL,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACpC,QAAQ,GACiB,CAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5C,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACzE,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { operations, paths, SubjectUpsert } from './schemas.js';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Subjects
5
+ * @description Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Meters are aggregating events for each subject..
6
+ */
7
+ export declare class Subjects {
8
+ private client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * Upsert one or multiple subjects
12
+ * If the subject does not exist, it will be created, otherwise it will be updated.
13
+ *
14
+ * @param subjects - The subjects to upsert
15
+ * @param signal - An optional abort signal
16
+ * @returns The upserted subjects
17
+ */
18
+ upsert(subjects: SubjectUpsert | SubjectUpsert[], signal?: AbortSignal): Promise<{
19
+ data?: never;
20
+ error: import("./utils.js").Problem;
21
+ response: Response;
22
+ } | {
23
+ data: {
24
+ readonly id: string;
25
+ key: string;
26
+ displayName?: string | null;
27
+ metadata?: {
28
+ [key: string]: unknown;
29
+ } | null;
30
+ currentPeriodStart?: Date;
31
+ currentPeriodEnd?: Date;
32
+ stripeCustomerId?: string | null;
33
+ }[];
34
+ error?: never;
35
+ response: Response;
36
+ }>;
37
+ /**
38
+ * Get a subject by ID or key
39
+ * @param idOrKey - The ID or key of the subject
40
+ * @param signal - An optional abort signal
41
+ * @returns The subject
42
+ */
43
+ get(idOrKey: operations['getSubject']['parameters']['path']['subjectIdOrKey'], signal?: AbortSignal): Promise<{
44
+ data?: never;
45
+ error: import("./utils.js").Problem;
46
+ response: Response;
47
+ } | {
48
+ data: {
49
+ readonly id: string;
50
+ key: string;
51
+ displayName?: string | null;
52
+ metadata?: {
53
+ [key: string]: unknown;
54
+ } | null;
55
+ currentPeriodStart?: Date;
56
+ currentPeriodEnd?: Date;
57
+ stripeCustomerId?: string | null;
58
+ };
59
+ error?: never;
60
+ response: Response;
61
+ }>;
62
+ /**
63
+ * List subjects
64
+ * @param signal - An optional abort signal
65
+ * @returns The subjects
66
+ */
67
+ list(signal?: AbortSignal): Promise<{
68
+ data?: never;
69
+ error: import("./utils.js").Problem;
70
+ response: Response;
71
+ } | {
72
+ data: {
73
+ readonly id: string;
74
+ key: string;
75
+ displayName?: string | null;
76
+ metadata?: {
77
+ [key: string]: unknown;
78
+ } | null;
79
+ currentPeriodStart?: Date;
80
+ currentPeriodEnd?: Date;
81
+ stripeCustomerId?: string | null;
82
+ }[];
83
+ error?: never;
84
+ response: Response;
85
+ }>;
86
+ /**
87
+ * Delete a subject by ID or key
88
+ * @param idOrKey - The ID or key of the subject
89
+ * @param signal - An optional abort signal
90
+ * @returns The deleted subject
91
+ */
92
+ delete(idOrKey: operations['deleteSubject']['parameters']['path']['subjectIdOrKey'], signal?: AbortSignal): Promise<{
93
+ data?: never;
94
+ error: import("./utils.js").Problem;
95
+ response: Response;
96
+ } | {
97
+ data: undefined;
98
+ error?: never;
99
+ response: Response;
100
+ }>;
101
+ }
@@ -0,0 +1,72 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Subjects
4
+ * @description Subjects are entities that consume resources you wish to meter. These can range from users, servers, and services to devices. The design of subjects is intentionally generic, enabling flexible application across various metering scenarios. Meters are aggregating events for each subject..
5
+ */
6
+ export class Subjects {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Upsert one or multiple subjects
13
+ * If the subject does not exist, it will be created, otherwise it will be updated.
14
+ *
15
+ * @param subjects - The subjects to upsert
16
+ * @param signal - An optional abort signal
17
+ * @returns The upserted subjects
18
+ */
19
+ async upsert(subjects, signal) {
20
+ const resp = await this.client.POST('/api/v1/subjects', {
21
+ signal,
22
+ body: Array.isArray(subjects) ? subjects : [subjects],
23
+ });
24
+ return transformResponse(resp);
25
+ }
26
+ /**
27
+ * Get a subject by ID or key
28
+ * @param idOrKey - The ID or key of the subject
29
+ * @param signal - An optional abort signal
30
+ * @returns The subject
31
+ */
32
+ async get(idOrKey, signal) {
33
+ const resp = await this.client.GET('/api/v1/subjects/{subjectIdOrKey}', {
34
+ signal,
35
+ params: {
36
+ path: {
37
+ subjectIdOrKey: idOrKey,
38
+ },
39
+ },
40
+ });
41
+ return transformResponse(resp);
42
+ }
43
+ /**
44
+ * List subjects
45
+ * @param signal - An optional abort signal
46
+ * @returns The subjects
47
+ */
48
+ async list(signal) {
49
+ const resp = await this.client.GET('/api/v1/subjects', {
50
+ signal,
51
+ });
52
+ return transformResponse(resp);
53
+ }
54
+ /**
55
+ * Delete a subject by ID or key
56
+ * @param idOrKey - The ID or key of the subject
57
+ * @param signal - An optional abort signal
58
+ * @returns The deleted subject
59
+ */
60
+ async delete(idOrKey, signal) {
61
+ const resp = await this.client.DELETE('/api/v1/subjects/{subjectIdOrKey}', {
62
+ signal,
63
+ params: {
64
+ path: {
65
+ subjectIdOrKey: idOrKey,
66
+ },
67
+ },
68
+ });
69
+ return transformResponse(resp);
70
+ }
71
+ }
72
+ //# sourceMappingURL=subjects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subjects.js","sourceRoot":"","sources":["../../src/subjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAI9C;;;GAGG;AACH,MAAM,OAAO,QAAQ;IACC;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;;;OAOG;IACI,KAAK,CAAC,MAAM,CACjB,QAAyC,EACzC,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtD,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,OAAyE,EACzE,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;YACtE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,MAAoB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE;YACrD,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,OAA4E,EAC5E,MAAoB;QAEpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE;YACzE,MAAM;YACN,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,cAAc,EAAE,OAAO;iBACxB;aACF;SACF,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,197 @@
1
+ import type { operations, paths, SubscriptionChange, SubscriptionCreate, SubscriptionEdit } from './schemas.js';
2
+ import type { Client } from 'openapi-fetch';
3
+ /**
4
+ * Subscriptions
5
+ */
6
+ export declare class Subscriptions {
7
+ private readonly client;
8
+ constructor(client: Client<paths, `${string}/${string}`>);
9
+ /**
10
+ * Create a subscription
11
+ * @param body - The subscription to create
12
+ * @param signal - An optional abort signal
13
+ * @returns The created subscription
14
+ */
15
+ create(body: SubscriptionCreate, signal?: AbortSignal): Promise<{
16
+ data?: never;
17
+ error: import("./utils.js").Problem;
18
+ response: Response;
19
+ } | {
20
+ data: {
21
+ readonly id: string;
22
+ name: string;
23
+ description?: string;
24
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
25
+ readonly createdAt: Date;
26
+ readonly updatedAt: Date;
27
+ readonly deletedAt?: Date;
28
+ activeFrom: Date;
29
+ activeTo?: Date;
30
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
31
+ customerId: string;
32
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
33
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
34
+ };
35
+ error?: never;
36
+ response: Response;
37
+ }>;
38
+ /**
39
+ * Get a subscription
40
+ * @param id - The subscription ID
41
+ * @param signal - An optional abort signal
42
+ * @returns The subscription
43
+ */
44
+ get(id: operations['getSubscription']['parameters']['path']['subscriptionId'], signal?: AbortSignal): Promise<{
45
+ data?: never;
46
+ error: import("./utils.js").Problem;
47
+ response: Response;
48
+ } | {
49
+ data: {
50
+ readonly id: string;
51
+ name: string;
52
+ description?: string;
53
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
54
+ readonly createdAt: Date;
55
+ readonly updatedAt: Date;
56
+ readonly deletedAt?: Date;
57
+ activeFrom: Date;
58
+ activeTo?: Date;
59
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
60
+ customerId: string;
61
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
62
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
63
+ phases: import("./schemas.js").components["schemas"]["SubscriptionPhaseExpanded"][];
64
+ };
65
+ error?: never;
66
+ response: Response;
67
+ }>;
68
+ /**
69
+ * Edit a subscription
70
+ * @param id - The subscription ID
71
+ * @param body - The subscription to edit
72
+ * @param signal - An optional abort signal
73
+ * @returns The edited subscription
74
+ */
75
+ edit(id: operations['editSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionEdit, signal?: AbortSignal): Promise<{
76
+ data?: never;
77
+ error: import("./utils.js").Problem;
78
+ response: Response;
79
+ } | {
80
+ data: {
81
+ readonly id: string;
82
+ name: string;
83
+ description?: string;
84
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
85
+ readonly createdAt: Date;
86
+ readonly updatedAt: Date;
87
+ readonly deletedAt?: Date;
88
+ activeFrom: Date;
89
+ activeTo?: Date;
90
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
91
+ customerId: string;
92
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
93
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
94
+ };
95
+ error?: never;
96
+ response: Response;
97
+ }>;
98
+ /**
99
+ * Cancel a subscription
100
+ * @param id - The subscription ID
101
+ * @param body - The subscription to cancel
102
+ * @param signal - An optional abort signal
103
+ * @returns The canceled subscription
104
+ */
105
+ cancel(id: operations['cancelSubscription']['parameters']['path']['subscriptionId'], body: operations['cancelSubscription']['requestBody']['content']['application/json'], signal?: AbortSignal): Promise<{
106
+ data?: never;
107
+ error: import("./utils.js").Problem;
108
+ response: Response;
109
+ } | {
110
+ data: {
111
+ readonly id: string;
112
+ name: string;
113
+ description?: string;
114
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
115
+ readonly createdAt: Date;
116
+ readonly updatedAt: Date;
117
+ readonly deletedAt?: Date;
118
+ activeFrom: Date;
119
+ activeTo?: Date;
120
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
121
+ customerId: string;
122
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
123
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
124
+ };
125
+ error?: never;
126
+ response: Response;
127
+ }>;
128
+ /**
129
+ * Change a subscription
130
+ * @description Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes.
131
+ * @param id - The subscription ID
132
+ * @param body - The subscription to change
133
+ * @param signal - An optional abort signal
134
+ * @returns The changed subscription
135
+ */
136
+ change(id: operations['changeSubscription']['parameters']['path']['subscriptionId'], body: SubscriptionChange, signal?: AbortSignal): Promise<{
137
+ data?: never;
138
+ error: import("./utils.js").Problem;
139
+ response: Response;
140
+ } | {
141
+ data: {
142
+ current: import("./schemas.js").components["schemas"]["Subscription"];
143
+ next: import("./schemas.js").components["schemas"]["SubscriptionExpanded"];
144
+ };
145
+ error?: never;
146
+ response: Response;
147
+ }>;
148
+ /**
149
+ * Migrate a subscription
150
+ * @description Migrates the subscripiton to the provided version of the current plan.
151
+ * @param id - The subscription ID
152
+ * @param body - The subscription to migrate
153
+ * @param signal - An optional abort signal
154
+ * @returns The migrated subscription
155
+ */
156
+ migrate(id: operations['migrateSubscription']['parameters']['path']['subscriptionId'], body: operations['migrateSubscription']['requestBody']['content']['application/json'], signal?: AbortSignal): Promise<{
157
+ data?: never;
158
+ error: import("./utils.js").Problem;
159
+ response: Response;
160
+ } | {
161
+ data: {
162
+ current: import("./schemas.js").components["schemas"]["Subscription"];
163
+ next: import("./schemas.js").components["schemas"]["SubscriptionExpanded"];
164
+ };
165
+ error?: never;
166
+ response: Response;
167
+ }>;
168
+ /**
169
+ * Unschedule a cancelation
170
+ * @param id - The subscription ID
171
+ * @param signal - An optional abort signal
172
+ * @returns The unscheduled subscription
173
+ */
174
+ unscheduleCancelation(id: operations['unscheduleCancelation']['parameters']['path']['subscriptionId'], signal?: AbortSignal): Promise<{
175
+ data?: never;
176
+ error: import("./utils.js").Problem;
177
+ response: Response;
178
+ } | {
179
+ data: {
180
+ readonly id: string;
181
+ name: string;
182
+ description?: string;
183
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
184
+ readonly createdAt: Date;
185
+ readonly updatedAt: Date;
186
+ readonly deletedAt?: Date;
187
+ activeFrom: Date;
188
+ activeTo?: Date;
189
+ readonly status: import("./schemas.js").components["schemas"]["SubscriptionStatus"];
190
+ customerId: string;
191
+ plan?: import("./schemas.js").components["schemas"]["PlanReference"];
192
+ currency: import("./schemas.js").components["schemas"]["CurrencyCode"];
193
+ };
194
+ error?: never;
195
+ response: Response;
196
+ }>;
197
+ }
@@ -0,0 +1,112 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Subscriptions
4
+ */
5
+ export class Subscriptions {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
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
+ async create(body, signal) {
17
+ const resp = await this.client.POST('/api/v1/subscriptions', {
18
+ body,
19
+ signal,
20
+ });
21
+ return transformResponse(resp);
22
+ }
23
+ /**
24
+ * Get a subscription
25
+ * @param id - The subscription ID
26
+ * @param signal - An optional abort signal
27
+ * @returns The subscription
28
+ */
29
+ async get(id, signal) {
30
+ const resp = await this.client.GET('/api/v1/subscriptions/{subscriptionId}', {
31
+ signal,
32
+ params: { path: { subscriptionId: id } },
33
+ });
34
+ return transformResponse(resp);
35
+ }
36
+ /**
37
+ * Edit a subscription
38
+ * @param id - The subscription ID
39
+ * @param body - The subscription to edit
40
+ * @param signal - An optional abort signal
41
+ * @returns The edited subscription
42
+ */
43
+ async edit(id, body, signal) {
44
+ const resp = await this.client.PATCH('/api/v1/subscriptions/{subscriptionId}', {
45
+ signal,
46
+ params: { path: { subscriptionId: id } },
47
+ body,
48
+ });
49
+ return transformResponse(resp);
50
+ }
51
+ /**
52
+ * Cancel a subscription
53
+ * @param id - The subscription ID
54
+ * @param body - The subscription to cancel
55
+ * @param signal - An optional abort signal
56
+ * @returns The canceled subscription
57
+ */
58
+ async cancel(id, body, signal) {
59
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/cancel', {
60
+ signal,
61
+ params: { path: { subscriptionId: id } },
62
+ body,
63
+ });
64
+ return transformResponse(resp);
65
+ }
66
+ /**
67
+ * Change a subscription
68
+ * @description Closes a running subscription and starts a new one according to the specification. Can be used for upgrades, downgrades, and plan changes.
69
+ * @param id - The subscription ID
70
+ * @param body - The subscription to change
71
+ * @param signal - An optional abort signal
72
+ * @returns The changed subscription
73
+ */
74
+ async change(id, body, signal) {
75
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/change', {
76
+ signal,
77
+ params: { path: { subscriptionId: id } },
78
+ body,
79
+ });
80
+ return transformResponse(resp);
81
+ }
82
+ /**
83
+ * Migrate a subscription
84
+ * @description Migrates the subscripiton to the provided version of the current plan.
85
+ * @param id - The subscription ID
86
+ * @param body - The subscription to migrate
87
+ * @param signal - An optional abort signal
88
+ * @returns The migrated subscription
89
+ */
90
+ async migrate(id, body, signal) {
91
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/migrate', {
92
+ signal,
93
+ params: { path: { subscriptionId: id } },
94
+ body,
95
+ });
96
+ return transformResponse(resp);
97
+ }
98
+ /**
99
+ * Unschedule a cancelation
100
+ * @param id - The subscription ID
101
+ * @param signal - An optional abort signal
102
+ * @returns The unscheduled subscription
103
+ */
104
+ async unscheduleCancelation(id, signal) {
105
+ const resp = await this.client.POST('/api/v1/subscriptions/{subscriptionId}/unschedule-cancelation', {
106
+ signal,
107
+ params: { path: { subscriptionId: id } },
108
+ });
109
+ return transformResponse(resp);
110
+ }
111
+ }
112
+ //# sourceMappingURL=subscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.js","sourceRoot":"","sources":["../../src/subscriptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { UnexpectedProblemResponse } from './schemas.d.js';
2
+ import type { FetchResponse, ParseAsResponse } from 'openapi-fetch';
3
+ import type { MediaType, ResponseObjectMap, SuccessResponse } from 'openapi-typescript-helpers';
4
+ export declare class Problem extends Error {
5
+ message: string;
6
+ type: string;
7
+ title: string;
8
+ status: number;
9
+ protected __raw?: Record<string, any> | undefined;
10
+ name: string;
11
+ constructor(message: string, type: string, title: string, status: number, __raw?: Record<string, any> | undefined);
12
+ static fromResponse(resp: {
13
+ response: Response;
14
+ error?: UnexpectedProblemResponse;
15
+ }): Problem;
16
+ getField(key: string): any;
17
+ }
18
+ export declare function transformResponse<T extends Record<string | number, any>, Options, Media extends MediaType>(resp: FetchResponse<T, Options, Media>): {
19
+ data: ParseAsResponse<SuccessResponse<ResponseObjectMap<T>, Media>, Options>;
20
+ error?: never;
21
+ response: Response;
22
+ } | {
23
+ data?: never;
24
+ error: Problem;
25
+ response: Response;
26
+ };
27
+ export declare function isIsoDateString(value: unknown): value is string;
28
+ export declare function decodeDates<T>(data: T): T;
29
+ export declare function encodeDates<T>(data: T): T;