File size: 2,011 Bytes
1477a90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Code generated by @openmeter/typespec-typescript. DO NOT EDIT.

import { z } from 'zod'
import * as schemas from '../schemas.js'
import type { AcceptDateStrings } from '../../lib/wire.js'
import type {
  CreateMeterRequest as CreateMeterRequestBody,
  ListMetersParamsFilter,
  Meter,
  MeterPagePaginatedResponse,
  MeterQueryRequestInput,
  MeterQueryResult,
  SortQueryInput,
  UpdateMeterRequest as UpdateMeterRequestBody,
} from '../types.js'

export type CreateMeterRequest = AcceptDateStrings<CreateMeterRequestBody>
export type CreateMeterResponse = Meter

export type GetMeterRequest = {
  meterId: string
}
export type GetMeterResponse = Meter

export interface ListMetersQuery {
  /** Determines which page of the collection to retrieve. */
  page?: { size?: number; number?: number }
  /**
   * Sort meters returned in the response. Supported sort attributes are:
   *
   * - `key`
   * - `name`
   * - `aggregation`
   * - `created_at` (default)
   * - `updated_at`
   *
   * The `asc` suffix is optional as the default sort order is ascending. The `desc`
   * suffix is used to specify a descending order.
   */
  sort?: SortQueryInput
  /**
   * Filter meters returned in the response.
   *
   * To filter meters by key add the following query param: filter[key]=my-meter-key
   */
  filter?: ListMetersParamsFilter
}

export type ListMetersRequest = AcceptDateStrings<ListMetersQuery>
export type ListMetersResponse = MeterPagePaginatedResponse

export type UpdateMeterRequest = AcceptDateStrings<{
  meterId: string
  body: UpdateMeterRequestBody
}>
export type UpdateMeterResponse = Meter

export type DeleteMeterRequest = {
  meterId: string
}
export type DeleteMeterResponse = void

export type QueryMeterRequest = AcceptDateStrings<{
  meterId: string
  body: MeterQueryRequestInput
}>
export type QueryMeterResponse = MeterQueryResult

export type QueryMeterCsvRequest = AcceptDateStrings<{
  meterId: string
  body: MeterQueryRequestInput
}>
export type QueryMeterCsvResponse = string