File size: 3,077 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
// 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 {
  CreateSubscriptionAddonRequest as CreateSubscriptionAddonRequestBody,
  ListSubscriptionsParamsFilter,
  SortQueryInput,
  Subscription,
  SubscriptionAddon,
  SubscriptionAddonPagePaginatedResponse,
  SubscriptionCancelInput,
  SubscriptionChange,
  SubscriptionChangeResponse,
  SubscriptionCreate,
  SubscriptionPagePaginatedResponse,
} from '../types.js'

export type CreateSubscriptionRequest = AcceptDateStrings<SubscriptionCreate>
export type CreateSubscriptionResponse = Subscription

export interface ListSubscriptionsQuery {
  /** Determines which page of the collection to retrieve. */
  page?: { size?: number; number?: number }
  /**
   * Sort subscriptions returned in the response. Supported sort attributes are:
   *
   * - `id`
   * - `active_from` (default)
   * - `active_to`
   *
   * 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 subscriptions. */
  filter?: ListSubscriptionsParamsFilter
}

export type ListSubscriptionsRequest = AcceptDateStrings<ListSubscriptionsQuery>
export type ListSubscriptionsResponse = SubscriptionPagePaginatedResponse

export type GetSubscriptionRequest = {
  subscriptionId: string
}
export type GetSubscriptionResponse = Subscription

export type CancelSubscriptionRequest = AcceptDateStrings<{
  subscriptionId: string
  body: SubscriptionCancelInput
}>
export type CancelSubscriptionResponse = Subscription

export type UnscheduleCancelationRequest = {
  subscriptionId: string
}
export type UnscheduleCancelationResponse = Subscription

export type ChangeSubscriptionRequest = AcceptDateStrings<{
  subscriptionId: string
  body: SubscriptionChange
}>
export type ChangeSubscriptionResponse = SubscriptionChangeResponse

export type CreateSubscriptionAddonRequest = AcceptDateStrings<{
  subscriptionId: string
  body: CreateSubscriptionAddonRequestBody
}>
export type CreateSubscriptionAddonResponse = SubscriptionAddon

export interface ListSubscriptionAddonsQuery {
  /** Determines which page of the collection to retrieve. */
  page?: { size?: number; number?: number }
  /**
   * Sort subscription addons returned in the response. Supported sort attributes
   * are:
   *
   * - `id`
   * - `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
}

export type ListSubscriptionAddonsRequest = AcceptDateStrings<
  ListSubscriptionAddonsQuery & { subscriptionId: string }
>
export type ListSubscriptionAddonsResponse =
  SubscriptionAddonPagePaginatedResponse

export type GetSubscriptionAddonRequest = {
  subscriptionId: string
  subscriptionAddonId: string
}
export type GetSubscriptionAddonResponse = SubscriptionAddon