Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
1477a90 verified
Raw
History Blame Contribute Delete
6.26 kB
// Code generated by @openmeter/typespec-typescript. DO NOT EDIT.
import { type Client, http } from '../core.js'
import { type Result, type RequestOptions } from '../lib/types.js'
import { request } from '../lib/request.js'
import { toURLSearchParams } from '../lib/encodings.js'
import { toWire, toPathWire, fromWire, assertValid } from '../lib/wire.js'
import * as schemas from '../models/schemas.js'
import type {
ListBillingProfilesRequest,
ListBillingProfilesResponse,
CreateBillingProfileRequest,
CreateBillingProfileResponse,
GetBillingProfileRequest,
GetBillingProfileResponse,
UpdateBillingProfileRequest,
UpdateBillingProfileResponse,
DeleteBillingProfileRequest,
DeleteBillingProfileResponse,
} from '../models/operations/billing.js'
/**
* List billing profiles
*
* List billing profiles.
*
* GET /openmeter/profiles
*/
export function listBillingProfiles(
client: Client,
req: ListBillingProfilesRequest = {},
options?: RequestOptions,
): Promise<Result<ListBillingProfilesResponse>> {
return request(() => {
const query = toWire(
{
page: req.page,
},
schemas.listBillingProfilesQueryParams,
)
if (client._options.validate) {
assertValid(schemas.listBillingProfilesQueryParamsWire, query)
}
const searchParams = toURLSearchParams(query)
return http(client)
.get('openmeter/profiles', { ...options, searchParams })
.json()
.then((data) => {
if (client._options.validate) {
assertValid(schemas.listBillingProfilesResponseWire, data)
}
return fromWire(data, schemas.listBillingProfilesResponse)
})
})
}
/**
* Create a new billing profile
*
* Create a new billing profile.
*
* Billing profiles contain the settings for billing and controls invoice
* generation. An organization can have multiple billing profiles defined. A
* billing profile is linked to a specific app. This association is established
* during the billing profile's creation and remains immutable.
*
* POST /openmeter/profiles
*/
export function createBillingProfile(
client: Client,
req: CreateBillingProfileRequest,
options?: RequestOptions,
): Promise<Result<CreateBillingProfileResponse>> {
return request(() => {
const body = toWire(req, schemas.createBillingProfileBody)
if (client._options.validate) {
assertValid(schemas.createBillingProfileBodyWire, body)
}
return http(client)
.post('openmeter/profiles', { ...options, json: body })
.json()
.then((data) => {
if (client._options.validate) {
assertValid(schemas.createBillingProfileResponseWire, data)
}
return fromWire(data, schemas.createBillingProfileResponse)
})
})
}
/**
* Get a billing profile
*
* Get a billing profile.
*
* GET /openmeter/profiles/{id}
*/
export function getBillingProfile(
client: Client,
req: GetBillingProfileRequest,
options?: RequestOptions,
): Promise<Result<GetBillingProfileResponse>> {
return request(() => {
const pathParamsInput = {
id: req.id,
}
const pathParams = client._options.validate
? toPathWire(pathParamsInput, schemas.getBillingProfilePathParams)
: pathParamsInput
if (client._options.validate) {
assertValid(schemas.getBillingProfilePathParamsWire, pathParams)
}
const path = `openmeter/profiles/${(() => {
if (pathParams.id === undefined) {
throw new Error('missing path parameter: id')
}
return encodeURIComponent(String(pathParams.id))
})()}`
return http(client)
.get(path, options)
.json()
.then((data) => {
if (client._options.validate) {
assertValid(schemas.getBillingProfileResponseWire, data)
}
return fromWire(data, schemas.getBillingProfileResponse)
})
})
}
/**
* Update a billing profile
*
* Update a billing profile.
*
* PUT /openmeter/profiles/{id}
*/
export function updateBillingProfile(
client: Client,
req: UpdateBillingProfileRequest,
options?: RequestOptions,
): Promise<Result<UpdateBillingProfileResponse>> {
return request(() => {
const pathParamsInput = {
id: req.id,
}
const pathParams = client._options.validate
? toPathWire(pathParamsInput, schemas.updateBillingProfilePathParams)
: pathParamsInput
if (client._options.validate) {
assertValid(schemas.updateBillingProfilePathParamsWire, pathParams)
}
const path = `openmeter/profiles/${(() => {
if (pathParams.id === undefined) {
throw new Error('missing path parameter: id')
}
return encodeURIComponent(String(pathParams.id))
})()}`
const body = toWire(req.body, schemas.updateBillingProfileBody)
if (client._options.validate) {
assertValid(schemas.updateBillingProfileBodyWire, body)
}
return http(client)
.put(path, { ...options, json: body })
.json()
.then((data) => {
if (client._options.validate) {
assertValid(schemas.updateBillingProfileResponseWire, data)
}
return fromWire(data, schemas.updateBillingProfileResponse)
})
})
}
/**
* Delete a billing profile
*
* Delete a billing profile.
*
* Only such billing profiles can be deleted that are:
*
* - not the default profile
* - not pinned to any customer using customer overrides
* - only have finalized invoices
*
* DELETE /openmeter/profiles/{id}
*/
export function deleteBillingProfile(
client: Client,
req: DeleteBillingProfileRequest,
options?: RequestOptions,
): Promise<Result<DeleteBillingProfileResponse>> {
return request(async () => {
const pathParamsInput = {
id: req.id,
}
const pathParams = client._options.validate
? toPathWire(pathParamsInput, schemas.deleteBillingProfilePathParams)
: pathParamsInput
if (client._options.validate) {
assertValid(schemas.deleteBillingProfilePathParamsWire, pathParams)
}
const path = `openmeter/profiles/${(() => {
if (pathParams.id === undefined) {
throw new Error('missing path parameter: id')
}
return encodeURIComponent(String(pathParams.id))
})()}`
await http(client).delete(path, options)
})
}