Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
1477a90 verified
Raw
History Blame Contribute Delete
5.1 kB
// Code generated by @openmeter/typespec-typescript. DO NOT EDIT.
import { type Client } from '../core.js'
import { unwrap, type RequestOptions } from '../lib/types.js'
import { paginatePages } from '../lib/paginate.js'
import {
createSubscription,
listSubscriptions,
getSubscription,
cancelSubscription,
unscheduleCancelation,
changeSubscription,
listSubscriptionAddons,
getSubscriptionAddon,
} from '../funcs/subscriptions.js'
import type {
CreateSubscriptionRequest,
CreateSubscriptionResponse,
ListSubscriptionsRequest,
ListSubscriptionsResponse,
GetSubscriptionRequest,
GetSubscriptionResponse,
CancelSubscriptionRequest,
CancelSubscriptionResponse,
UnscheduleCancelationRequest,
UnscheduleCancelationResponse,
ChangeSubscriptionRequest,
ChangeSubscriptionResponse,
ListSubscriptionAddonsRequest,
ListSubscriptionAddonsResponse,
GetSubscriptionAddonRequest,
GetSubscriptionAddonResponse,
} from '../models/operations/subscriptions.js'
import type { Subscription, SubscriptionAddon } from '../models/types.js'
export class Subscriptions {
constructor(private readonly _client: Client) {}
/**
* Create subscription
*
* POST /openmeter/subscriptions
*/
async create(
request: CreateSubscriptionRequest,
options?: RequestOptions,
): Promise<CreateSubscriptionResponse> {
return unwrap(await createSubscription(this._client, request, options))
}
/**
* List subscriptions
*
* GET /openmeter/subscriptions
*/
async list(
request?: ListSubscriptionsRequest,
options?: RequestOptions,
): Promise<ListSubscriptionsResponse> {
return unwrap(await listSubscriptions(this._client, request, options))
}
/**
* List subscriptions
*
* Iterates every item across all pages, fetching more as the returned iterable is consumed.
*
* GET /openmeter/subscriptions
*/
listAll(
request?: ListSubscriptionsRequest,
options?: RequestOptions,
): AsyncIterable<Subscription> {
return paginatePages(
(req, opts) => listSubscriptions(this._client, req, opts),
request ?? {},
options,
)
}
/**
* Get subscription
*
* GET /openmeter/subscriptions/{subscriptionId}
*/
async get(
request: GetSubscriptionRequest,
options?: RequestOptions,
): Promise<GetSubscriptionResponse> {
return unwrap(await getSubscription(this._client, request, options))
}
/**
* Cancel subscription
*
* Cancels the subscription. Will result in a scheduling conflict if there are
* other subscriptions scheduled to start after the cancelation time.
*
* POST /openmeter/subscriptions/{subscriptionId}/cancel
*/
async cancel(
request: CancelSubscriptionRequest,
options?: RequestOptions,
): Promise<CancelSubscriptionResponse> {
return unwrap(await cancelSubscription(this._client, request, options))
}
/**
* Unschedule subscription cancelation
*
* Unschedules the subscription cancelation.
*
* POST /openmeter/subscriptions/{subscriptionId}/unschedule-cancelation
*/
async unscheduleCancelation(
request: UnscheduleCancelationRequest,
options?: RequestOptions,
): Promise<UnscheduleCancelationResponse> {
return unwrap(await unscheduleCancelation(this._client, request, options))
}
/**
* Change subscription
*
* Closes a running subscription and starts a new one according to the
* specification. Can be used for upgrades, downgrades, and plan changes.
*
* POST /openmeter/subscriptions/{subscriptionId}/change
*/
async change(
request: ChangeSubscriptionRequest,
options?: RequestOptions,
): Promise<ChangeSubscriptionResponse> {
return unwrap(await changeSubscription(this._client, request, options))
}
/**
* List subscription addons
*
* List the add-ons of a subscription.
*
* GET /openmeter/subscriptions/{subscriptionId}/addons
*/
async listAddons(
request: ListSubscriptionAddonsRequest,
options?: RequestOptions,
): Promise<ListSubscriptionAddonsResponse> {
return unwrap(await listSubscriptionAddons(this._client, request, options))
}
/**
* List subscription addons
*
* List the add-ons of a subscription.
*
* Iterates every item across all pages, fetching more as the returned iterable is consumed.
*
* GET /openmeter/subscriptions/{subscriptionId}/addons
*/
listAddonsAll(
request: ListSubscriptionAddonsRequest,
options?: RequestOptions,
): AsyncIterable<SubscriptionAddon> {
return paginatePages(
(req, opts) => listSubscriptionAddons(this._client, req, opts),
request,
options,
)
}
/**
* Get add-on association for subscription
*
* Get an add-on association for a subscription.
*
* GET /openmeter/subscriptions/{subscriptionId}/addons/{subscriptionAddonId}
*/
async getAddon(
request: GetSubscriptionAddonRequest,
options?: RequestOptions,
): Promise<GetSubscriptionAddonResponse> {
return unwrap(await getSubscriptionAddon(this._client, request, options))
}
}