@openmeter/sdk 1.0.0-beta.22 → 1.0.0-beta.221

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 (170) hide show
  1. package/Makefile +43 -0
  2. package/README.md +38 -150
  3. package/dist/cjs/index.cjs +18 -0
  4. package/dist/cjs/index.d.cts +1 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/src/client/addons.cjs +105 -0
  7. package/dist/cjs/src/client/addons.d.cts +152 -0
  8. package/dist/cjs/src/client/addons.js.map +1 -0
  9. package/dist/cjs/src/client/apps.cjs +247 -0
  10. package/dist/cjs/src/client/apps.d.cts +327 -0
  11. package/dist/cjs/src/client/apps.js.map +1 -0
  12. package/dist/cjs/src/client/billing.cjs +361 -0
  13. package/dist/cjs/src/client/billing.d.cts +526 -0
  14. package/dist/cjs/src/client/billing.js.map +1 -0
  15. package/dist/cjs/src/client/common.cjs +47 -0
  16. package/dist/cjs/src/client/common.d.cts +30 -0
  17. package/dist/cjs/src/client/common.js.map +1 -0
  18. package/dist/cjs/src/client/customers.cjs +283 -0
  19. package/dist/cjs/src/client/customers.d.cts +251 -0
  20. package/dist/cjs/src/client/customers.js.map +1 -0
  21. package/dist/cjs/src/client/debug.cjs +27 -0
  22. package/dist/cjs/src/client/debug.d.cts +17 -0
  23. package/dist/cjs/src/client/debug.js.map +1 -0
  24. package/dist/cjs/src/client/entitlements.cjs +281 -0
  25. package/dist/cjs/src/client/entitlements.d.cts +556 -0
  26. package/dist/cjs/src/client/entitlements.js.map +1 -0
  27. package/dist/cjs/src/client/events.cjs +113 -0
  28. package/dist/cjs/src/client/events.d.cts +48 -0
  29. package/dist/cjs/src/client/events.js.map +1 -0
  30. package/dist/cjs/src/client/features.cjs +78 -0
  31. package/dist/cjs/src/client/features.d.cts +78 -0
  32. package/dist/cjs/src/client/features.js.map +1 -0
  33. package/dist/cjs/src/client/index.cjs +120 -0
  34. package/dist/cjs/src/client/index.d.cts +53 -0
  35. package/dist/cjs/src/client/index.js.map +1 -0
  36. package/dist/cjs/src/client/info.cjs +42 -0
  37. package/dist/cjs/src/client/info.d.cts +34 -0
  38. package/dist/cjs/src/client/info.js.map +1 -0
  39. package/dist/cjs/src/client/meters.cjs +115 -0
  40. package/dist/cjs/src/client/meters.d.cts +123 -0
  41. package/dist/cjs/src/client/meters.js.map +1 -0
  42. package/dist/cjs/src/client/notifications.cjs +249 -0
  43. package/dist/cjs/src/client/notifications.d.cts +397 -0
  44. package/dist/cjs/src/client/notifications.js.map +1 -0
  45. package/dist/cjs/src/client/plans.cjs +204 -0
  46. package/dist/cjs/src/client/plans.d.cts +247 -0
  47. package/dist/cjs/src/client/plans.js.map +1 -0
  48. package/dist/cjs/src/client/portal.cjs +55 -0
  49. package/dist/cjs/src/client/portal.d.cts +48 -0
  50. package/dist/cjs/src/client/portal.js.map +1 -0
  51. package/dist/cjs/src/client/schemas.cjs +3 -0
  52. package/dist/cjs/src/client/schemas.d.cts +25246 -0
  53. package/dist/cjs/src/client/schemas.js.map +1 -0
  54. package/dist/cjs/src/client/subjects.cjs +76 -0
  55. package/dist/cjs/src/client/subjects.d.cts +70 -0
  56. package/dist/cjs/src/client/subjects.js.map +1 -0
  57. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  58. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  59. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  60. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  61. package/dist/cjs/src/client/subscriptions.d.cts +170 -0
  62. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  63. package/dist/cjs/src/client/utils.cjs +69 -0
  64. package/dist/cjs/src/client/utils.d.cts +12 -0
  65. package/dist/cjs/src/client/utils.js.map +1 -0
  66. package/dist/cjs/src/portal/index.cjs +89 -0
  67. package/dist/cjs/src/portal/index.d.cts +43 -0
  68. package/dist/cjs/src/portal/index.js.map +1 -0
  69. package/dist/cjs/src/react/context.cjs +35 -0
  70. package/dist/cjs/src/react/context.d.cts +9 -0
  71. package/dist/cjs/src/react/context.js.map +1 -0
  72. package/dist/cjs/src/zod/index.cjs +12205 -0
  73. package/dist/cjs/src/zod/index.d.cts +19139 -0
  74. package/dist/cjs/src/zod/index.js.map +1 -0
  75. package/dist/cjs/tsconfig.0bedc47d.tsbuildinfo +1 -0
  76. package/dist/cjs/tsconfig.c449a50f.tsbuildinfo +1 -0
  77. package/dist/index.d.ts +1 -14
  78. package/dist/index.js +2 -15
  79. package/dist/index.js.map +1 -0
  80. package/dist/src/client/addons.d.ts +152 -0
  81. package/dist/src/client/addons.js +101 -0
  82. package/dist/src/client/addons.js.map +1 -0
  83. package/dist/src/client/apps.d.ts +327 -0
  84. package/dist/src/client/apps.js +240 -0
  85. package/dist/src/client/apps.js.map +1 -0
  86. package/dist/src/client/billing.d.ts +526 -0
  87. package/dist/src/client/billing.js +354 -0
  88. package/dist/src/client/billing.js.map +1 -0
  89. package/dist/src/client/common.d.ts +30 -0
  90. package/dist/src/client/common.js +42 -0
  91. package/dist/src/client/common.js.map +1 -0
  92. package/dist/src/client/customers.d.ts +251 -0
  93. package/dist/src/client/customers.js +276 -0
  94. package/dist/src/client/customers.js.map +1 -0
  95. package/dist/src/client/debug.d.ts +17 -0
  96. package/dist/src/client/debug.js +23 -0
  97. package/dist/src/client/debug.js.map +1 -0
  98. package/dist/src/client/entitlements.d.ts +556 -0
  99. package/dist/src/client/entitlements.js +276 -0
  100. package/dist/src/client/entitlements.js.map +1 -0
  101. package/dist/src/client/events.d.ts +48 -0
  102. package/dist/src/client/events.js +108 -0
  103. package/dist/src/client/events.js.map +1 -0
  104. package/dist/src/client/features.d.ts +78 -0
  105. package/dist/src/client/features.js +74 -0
  106. package/dist/src/client/features.js.map +1 -0
  107. package/dist/src/client/index.d.ts +53 -0
  108. package/dist/src/client/index.js +80 -0
  109. package/dist/src/client/index.js.map +1 -0
  110. package/dist/src/client/info.d.ts +34 -0
  111. package/dist/src/client/info.js +38 -0
  112. package/dist/src/client/info.js.map +1 -0
  113. package/dist/src/client/meters.d.ts +123 -0
  114. package/dist/src/client/meters.js +111 -0
  115. package/dist/src/client/meters.js.map +1 -0
  116. package/dist/src/client/notifications.d.ts +397 -0
  117. package/dist/src/client/notifications.js +242 -0
  118. package/dist/src/client/notifications.js.map +1 -0
  119. package/dist/src/client/plans.d.ts +247 -0
  120. package/dist/src/client/plans.js +199 -0
  121. package/dist/src/client/plans.js.map +1 -0
  122. package/dist/src/client/portal.d.ts +48 -0
  123. package/dist/src/client/portal.js +51 -0
  124. package/dist/src/client/portal.js.map +1 -0
  125. package/dist/src/client/schemas.d.ts +25246 -0
  126. package/dist/src/client/schemas.js +2 -0
  127. package/dist/src/client/schemas.js.map +1 -0
  128. package/dist/src/client/subjects.d.ts +70 -0
  129. package/dist/src/client/subjects.js +72 -0
  130. package/dist/src/client/subjects.js.map +1 -0
  131. package/dist/src/client/subscription-addons.d.ts +123 -0
  132. package/dist/src/client/subscription-addons.js +66 -0
  133. package/dist/src/client/subscription-addons.js.map +1 -0
  134. package/dist/src/client/subscriptions.d.ts +170 -0
  135. package/dist/src/client/subscriptions.js +128 -0
  136. package/dist/src/client/subscriptions.js.map +1 -0
  137. package/dist/src/client/utils.d.ts +12 -0
  138. package/dist/src/client/utils.js +63 -0
  139. package/dist/src/client/utils.js.map +1 -0
  140. package/dist/src/portal/index.d.ts +43 -0
  141. package/dist/src/portal/index.js +52 -0
  142. package/dist/src/portal/index.js.map +1 -0
  143. package/dist/src/react/context.d.ts +9 -0
  144. package/dist/src/react/context.js +16 -0
  145. package/dist/src/react/context.js.map +1 -0
  146. package/dist/src/zod/index.d.ts +19139 -0
  147. package/dist/src/zod/index.js +12178 -0
  148. package/dist/src/zod/index.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/orval.config.ts +42 -0
  151. package/package.json +89 -35
  152. package/patches/openapi-typescript.patch +6194 -0
  153. package/dist/clients/client.d.ts +0 -40
  154. package/dist/clients/client.js +0 -104
  155. package/dist/clients/event.d.ts +0 -79
  156. package/dist/clients/event.js +0 -53
  157. package/dist/clients/meter.d.ts +0 -71
  158. package/dist/clients/meter.js +0 -64
  159. package/dist/clients/portal.d.ts +0 -23
  160. package/dist/clients/portal.js +0 -37
  161. package/dist/next.d.ts +0 -15
  162. package/dist/next.js +0 -46
  163. package/dist/schemas/openapi.d.ts +0 -460
  164. package/dist/schemas/openapi.js +0 -5
  165. package/dist/test/agent.d.ts +0 -2
  166. package/dist/test/agent.js +0 -178
  167. package/dist/test/mocks.d.ts +0 -12
  168. package/dist/test/mocks.js +0 -32
  169. package/index.ts +0 -22
  170. package/next.ts +0 -76
@@ -0,0 +1,80 @@
1
+ import createClient, { createQuerySerializer, } from 'openapi-fetch';
2
+ import { Addons } from './addons.js';
3
+ import { Apps } from './apps.js';
4
+ import { Billing } from './billing.js';
5
+ import { Customers } from './customers.js';
6
+ import { Debug } from './debug.js';
7
+ import { Entitlements } from './entitlements.js';
8
+ import { Events } from './events.js';
9
+ import { Features } from './features.js';
10
+ import { Info } from './info.js';
11
+ import { Meters } from './meters.js';
12
+ import { Notifications } from './notifications.js';
13
+ import { Plans } from './plans.js';
14
+ import { Portal } from './portal.js';
15
+ import { Subjects } from './subjects.js';
16
+ import { SubscriptionAddons } from './subscription-addons.js';
17
+ import { Subscriptions } from './subscriptions.js';
18
+ import { encodeDates } from './utils.js';
19
+ export * from './schemas.js';
20
+ export * from './common.js';
21
+ /**
22
+ * OpenMeter Client
23
+ */
24
+ export class OpenMeter {
25
+ config;
26
+ client;
27
+ addons;
28
+ apps;
29
+ billing;
30
+ customers;
31
+ debug;
32
+ entitlements;
33
+ events;
34
+ features;
35
+ info;
36
+ meters;
37
+ notifications;
38
+ plans;
39
+ portal;
40
+ subjects;
41
+ subscriptionAddons;
42
+ subscriptions;
43
+ constructor(config) {
44
+ this.config = config;
45
+ this.client = createClient({
46
+ ...config,
47
+ headers: {
48
+ ...config.headers,
49
+ Authorization: config.apiKey ? `Bearer ${config.apiKey}` : undefined,
50
+ },
51
+ querySerializer: (q) => createQuerySerializer({
52
+ array: {
53
+ explode: true,
54
+ style: 'form',
55
+ },
56
+ object: {
57
+ explode: true,
58
+ style: 'deepObject',
59
+ },
60
+ })(encodeDates(q)),
61
+ });
62
+ this.addons = new Addons(this.client);
63
+ this.apps = new Apps(this.client);
64
+ this.billing = new Billing(this.client);
65
+ this.customers = new Customers(this.client);
66
+ this.debug = new Debug(this.client);
67
+ this.entitlements = new Entitlements(this.client);
68
+ this.events = new Events(this.client);
69
+ this.features = new Features(this.client);
70
+ this.info = new Info(this.client);
71
+ this.meters = new Meters(this.client);
72
+ this.notifications = new Notifications(this.client);
73
+ this.plans = new Plans(this.client);
74
+ this.portal = new Portal(this.client);
75
+ this.subjects = new Subjects(this.client);
76
+ this.subscriptionAddons = new SubscriptionAddons(this.client);
77
+ this.subscriptions = new Subscriptions(this.client);
78
+ }
79
+ }
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { RequestOptions } from './common.js';
2
+ import type { operations, paths } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Info utilities for OpenMeter
6
+ */
7
+ export declare class Info {
8
+ private client;
9
+ constructor(client: Client<paths, `${string}/${string}`>);
10
+ /**
11
+ * List supported currencies
12
+ * @description List all supported currencies.
13
+ * @param options - The request options
14
+ * @returns The supported currencies
15
+ */
16
+ listCurrencies(options?: RequestOptions): Promise<{
17
+ code: import("./schemas.js").components["schemas"]["CurrencyCode"];
18
+ name: string;
19
+ symbol: string;
20
+ subunits: number;
21
+ }[]>;
22
+ /**
23
+ * Get progress
24
+ * @param id - The ID of the progress to get
25
+ * @param options - The request options
26
+ * @returns The progress
27
+ */
28
+ getProgress(id: operations['getProgress']['parameters']['path']['id'], options?: RequestOptions): Promise<{
29
+ success: number;
30
+ failed: number;
31
+ total: number;
32
+ updatedAt: Date;
33
+ }>;
34
+ }
@@ -0,0 +1,38 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Info utilities for OpenMeter
4
+ */
5
+ export class Info {
6
+ client;
7
+ constructor(client) {
8
+ this.client = client;
9
+ }
10
+ /**
11
+ * List supported currencies
12
+ * @description List all supported currencies.
13
+ * @param options - The request options
14
+ * @returns The supported currencies
15
+ */
16
+ async listCurrencies(options) {
17
+ const resp = await this.client.GET('/api/v1/info/currencies', {
18
+ ...options,
19
+ });
20
+ return transformResponse(resp);
21
+ }
22
+ /**
23
+ * Get progress
24
+ * @param id - The ID of the progress to get
25
+ * @param options - The request options
26
+ * @returns The progress
27
+ */
28
+ async getProgress(id, options) {
29
+ const resp = await this.client.GET('/api/v1/info/progress/{id}', {
30
+ params: {
31
+ path: { id },
32
+ },
33
+ ...options,
34
+ });
35
+ return transformResponse(resp);
36
+ }
37
+ }
38
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/client/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK9C;;GAEG;AACH,MAAM,OAAO,IAAI;IACK;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,cAAc,CAAC,OAAwB;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;YAC5D,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CACtB,EAAyD,EACzD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE;YAC/D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,EAAE,EAAE;aACb;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,123 @@
1
+ import type { RequestOptions } from './common.js';
2
+ import type { MeterCreate, operations, paths } from './schemas.js';
3
+ import type { Client } from 'openapi-fetch';
4
+ /**
5
+ * Meters
6
+ * @description Meters are used to track and manage usage of your application.
7
+ */
8
+ export declare class Meters {
9
+ private client;
10
+ constructor(client: Client<paths, `${string}/${string}`>);
11
+ /**
12
+ * Create a meter
13
+ * @param meter - The meter to create
14
+ * @param signal - An optional abort signal
15
+ * @returns The created meter
16
+ */
17
+ create(meter: MeterCreate, options?: RequestOptions): Promise<{
18
+ readonly id: string;
19
+ description?: string;
20
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
21
+ readonly createdAt: Date;
22
+ readonly updatedAt: Date;
23
+ readonly deletedAt?: Date;
24
+ name?: string;
25
+ slug: string;
26
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
27
+ eventType: string;
28
+ eventFrom?: Date;
29
+ valueProperty?: string;
30
+ groupBy?: {
31
+ [key: string]: string;
32
+ };
33
+ }>;
34
+ /**
35
+ * Get a meter by ID or slug
36
+ * @param idOrSlug - The ID or slug of the meter
37
+ * @param signal - An optional abort signal
38
+ * @returns The meter
39
+ */
40
+ get(idOrSlug: operations['getMeter']['parameters']['path']['meterIdOrSlug'], options?: RequestOptions): Promise<{
41
+ readonly id: string;
42
+ description?: string;
43
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
44
+ readonly createdAt: Date;
45
+ readonly updatedAt: Date;
46
+ readonly deletedAt?: Date;
47
+ name?: string;
48
+ slug: string;
49
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
50
+ eventType: string;
51
+ eventFrom?: Date;
52
+ valueProperty?: string;
53
+ groupBy?: {
54
+ [key: string]: string;
55
+ };
56
+ }>;
57
+ /**
58
+ * List meters
59
+ * @param signal - An optional abort signal
60
+ * @returns The meters
61
+ */
62
+ list(options?: RequestOptions): Promise<{
63
+ readonly id: string;
64
+ description?: string;
65
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
66
+ readonly createdAt: Date;
67
+ readonly updatedAt: Date;
68
+ readonly deletedAt?: Date;
69
+ name?: string;
70
+ slug: string;
71
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
72
+ eventType: string;
73
+ eventFrom?: Date;
74
+ valueProperty?: string;
75
+ groupBy?: {
76
+ [key: string]: string;
77
+ };
78
+ }[]>;
79
+ /**
80
+ * Query usage data for a meter by ID or slug
81
+ * @param idOrSlug - The ID or slug of the meter
82
+ * @param query - The query parameters
83
+ * @param signal - An optional abort signal
84
+ * @returns The meter data
85
+ */
86
+ query(idOrSlug: operations['queryMeter']['parameters']['path']['meterIdOrSlug'], query?: operations['queryMeter']['parameters']['query'], options?: RequestOptions): Promise<{
87
+ from?: Date;
88
+ to?: Date;
89
+ windowSize?: import("./schemas.js").components["schemas"]["WindowSize"];
90
+ data: import("./schemas.js").components["schemas"]["MeterQueryRow"][];
91
+ }>;
92
+ /**
93
+ * Update a meter by ID or slug
94
+ * @param idOrSlug - The ID or slug of the meter
95
+ * @param meter - The meter update data
96
+ * @param options - Optional request options
97
+ * @returns The updated meter
98
+ */
99
+ update(idOrSlug: operations['updateMeter']['parameters']['path']['meterIdOrSlug'], meter: operations['updateMeter']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{
100
+ readonly id: string;
101
+ description?: string;
102
+ metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null;
103
+ readonly createdAt: Date;
104
+ readonly updatedAt: Date;
105
+ readonly deletedAt?: Date;
106
+ name?: string;
107
+ slug: string;
108
+ aggregation: import("./schemas.js").components["schemas"]["MeterAggregation"];
109
+ eventType: string;
110
+ eventFrom?: Date;
111
+ valueProperty?: string;
112
+ groupBy?: {
113
+ [key: string]: string;
114
+ };
115
+ }>;
116
+ /**
117
+ * Delete a meter by ID or slug
118
+ * @param idOrSlug - The ID or slug of the meter
119
+ * @param signal - An optional abort signal
120
+ * @returns The deleted meter
121
+ */
122
+ delete(idOrSlug: operations['deleteMeter']['parameters']['path']['meterIdOrSlug'], options?: RequestOptions): Promise<undefined>;
123
+ }
@@ -0,0 +1,111 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Meters
4
+ * @description Meters are used to track and manage usage of your application.
5
+ */
6
+ export class Meters {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Create a meter
13
+ * @param meter - The meter to create
14
+ * @param signal - An optional abort signal
15
+ * @returns The created meter
16
+ */
17
+ async create(meter, options) {
18
+ const resp = await this.client.POST('/api/v1/meters', {
19
+ body: meter,
20
+ ...options,
21
+ });
22
+ return transformResponse(resp);
23
+ }
24
+ /**
25
+ * Get a meter by ID or slug
26
+ * @param idOrSlug - The ID or slug of the meter
27
+ * @param signal - An optional abort signal
28
+ * @returns The meter
29
+ */
30
+ async get(idOrSlug, options) {
31
+ const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}', {
32
+ params: {
33
+ path: {
34
+ meterIdOrSlug: idOrSlug,
35
+ },
36
+ },
37
+ ...options,
38
+ });
39
+ return transformResponse(resp);
40
+ }
41
+ /**
42
+ * List meters
43
+ * @param signal - An optional abort signal
44
+ * @returns The meters
45
+ */
46
+ async list(options) {
47
+ const resp = await this.client.GET('/api/v1/meters', {
48
+ ...options,
49
+ });
50
+ return transformResponse(resp);
51
+ }
52
+ /**
53
+ * Query usage data for a meter by ID or slug
54
+ * @param idOrSlug - The ID or slug of the meter
55
+ * @param query - The query parameters
56
+ * @param signal - An optional abort signal
57
+ * @returns The meter data
58
+ */
59
+ async query(idOrSlug, query, options) {
60
+ const resp = await this.client.GET('/api/v1/meters/{meterIdOrSlug}/query', {
61
+ headers: {
62
+ Accept: 'application/json',
63
+ },
64
+ params: {
65
+ path: {
66
+ meterIdOrSlug: idOrSlug,
67
+ },
68
+ query,
69
+ },
70
+ ...options,
71
+ });
72
+ return transformResponse(resp);
73
+ }
74
+ /**
75
+ * Update a meter by ID or slug
76
+ * @param idOrSlug - The ID or slug of the meter
77
+ * @param meter - The meter update data
78
+ * @param options - Optional request options
79
+ * @returns The updated meter
80
+ */
81
+ async update(idOrSlug, meter, options) {
82
+ const resp = await this.client.PUT('/api/v1/meters/{meterIdOrSlug}', {
83
+ body: meter,
84
+ params: {
85
+ path: {
86
+ meterIdOrSlug: idOrSlug,
87
+ },
88
+ },
89
+ ...options,
90
+ });
91
+ return transformResponse(resp);
92
+ }
93
+ /**
94
+ * Delete a meter by ID or slug
95
+ * @param idOrSlug - The ID or slug of the meter
96
+ * @param signal - An optional abort signal
97
+ * @returns The deleted meter
98
+ */
99
+ async delete(idOrSlug, options) {
100
+ const resp = await this.client.DELETE('/api/v1/meters/{meterIdOrSlug}', {
101
+ params: {
102
+ path: {
103
+ meterIdOrSlug: idOrSlug,
104
+ },
105
+ },
106
+ ...options,
107
+ });
108
+ return transformResponse(resp);
109
+ }
110
+ }
111
+ //# sourceMappingURL=meters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meters.js","sourceRoot":"","sources":["../../../src/client/meters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAK9C;;;GAGG;AACH,MAAM,OAAO,MAAM;IACG;IAApB,YAAoB,MAA4C;QAA5C,WAAM,GAAN,MAAM,CAAsC;IAAG,CAAC;IAEpE;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,KAAkB,EAAE,OAAwB;QAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACpD,IAAI,EAAE,KAAK;YACX,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CACd,QAAuE,EACvE,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE;YACnE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE;YACnD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAChB,QAAyE,EACzE,KAAuD,EACvD,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,EAAE;YACzE,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;aAC3B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;gBACD,KAAK;aACN;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CACtB,IAAI,CAC0E,CAAA;IAClF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,QAA0E,EAC1E,KAA8E,EAC9E,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,EAAE;YACnE,IAAI,EAAE,KAAK;YACX,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACjB,QAA0E,EAC1E,OAAwB;QAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;YACtE,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ,aAAa,EAAE,QAAQ;iBACxB;aACF;YACD,GAAG,OAAO;SACX,CAAC,CAAA;QAEF,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;CACF"}