Skip to content

Commit

Permalink
refactor: move web inputs under video (#383)
Browse files Browse the repository at this point in the history
### ⚠️ BREAKING CHANGE:
This API is unlikely to have been used as it was not generally available,
but this change is breaking. You will need to migrate calls like `client.webInputs.assets.create()` to `client.video.webInputs.create()`
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Apr 22, 2024
1 parent 340f13e commit fbec065
Show file tree
Hide file tree
Showing 9 changed files with 109 additions and 124 deletions.
34 changes: 16 additions & 18 deletions api.md
Expand Up @@ -153,30 +153,28 @@ Methods:
- <code title="get /video/v1/uploads">client.video.uploads.<a href="./src/resources/video/uploads.ts">list</a>({ ...params }) -> UploadsBasePage</code>
- <code title="put /video/v1/uploads/{UPLOAD_ID}/cancel">client.video.uploads.<a href="./src/resources/video/uploads.ts">cancel</a>(uploadId) -> Upload</code>

# WebInputs

## Assets
## WebInputs

Types:

- <code><a href="./src/resources/web-inputs/assets.ts">AssetCreateResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetRetrieveResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetListResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetLaunchResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetReloadResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetShutdownResponse</a></code>
- <code><a href="./src/resources/web-inputs/assets.ts">AssetUpdateURLResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputCreateResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputRetrieveResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputListResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputLaunchResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputReloadResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputShutdownResponse</a></code>
- <code><a href="./src/resources/video/web-inputs.ts">WebInputUpdateURLResponse</a></code>

Methods:

- <code title="post /video/v1/web-inputs">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">create</a>({ ...params }) -> AssetCreateResponse</code>
- <code title="get /video/v1/web-inputs/{WEB_INPUT_ID}">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">retrieve</a>(webInputId) -> AssetRetrieveResponse</code>
- <code title="get /video/v1/web-inputs">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">list</a>({ ...params }) -> AssetListResponsesBasePage</code>
- <code title="delete /video/v1/web-inputs/{WEB_INPUT_ID}">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">delete</a>(webInputId) -> void</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/launch">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">launch</a>(webInputId) -> AssetLaunchResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/reload">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">reload</a>(webInputId) -> AssetReloadResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/shutdown">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">shutdown</a>(webInputId) -> AssetShutdownResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/url">client.webInputs.assets.<a href="./src/resources/web-inputs/assets.ts">updateURL</a>(webInputId, { ...params }) -> AssetUpdateURLResponse</code>
- <code title="post /video/v1/web-inputs">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">create</a>({ ...params }) -> WebInputCreateResponse</code>
- <code title="get /video/v1/web-inputs/{WEB_INPUT_ID}">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">retrieve</a>(webInputId) -> WebInputRetrieveResponse</code>
- <code title="get /video/v1/web-inputs">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">list</a>({ ...params }) -> WebInputListResponsesBasePage</code>
- <code title="delete /video/v1/web-inputs/{WEB_INPUT_ID}">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">delete</a>(webInputId) -> void</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/launch">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">launch</a>(webInputId) -> WebInputLaunchResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/reload">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">reload</a>(webInputId) -> WebInputReloadResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/shutdown">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">shutdown</a>(webInputId) -> WebInputShutdownResponse</code>
- <code title="put /video/v1/web-inputs/{WEB_INPUT_ID}/url">client.video.webInputs.<a href="./src/resources/video/web-inputs.ts">updateURL</a>(webInputId, { ...params }) -> WebInputUpdateURLResponse</code>

# Data

Expand Down
3 changes: 0 additions & 3 deletions src/index.ts
Expand Up @@ -164,7 +164,6 @@ export class Mux extends Core.APIClient {
}

video: API.Video = new API.Video(this);
webInputs: API.WebInputs = new API.WebInputs(this);
data: API.Data = new API.Data(this);
system: API.System = new API.System(this);
webhooks: API.Webhooks = new API.Webhooks(this);
Expand Down Expand Up @@ -251,8 +250,6 @@ export namespace Mux {

export import Video = API.Video;

export import WebInputs = API.WebInputs;

export import Data = API.Data;

export import System = API.System;
Expand Down
1 change: 0 additions & 1 deletion src/resources/index.ts
Expand Up @@ -61,4 +61,3 @@ export { Data } from './data/data';
export { Jwt } from './jwt';
export { System } from './system/system';
export { Video } from './video/video';
export { WebInputs } from './web-inputs/web-inputs';
14 changes: 14 additions & 0 deletions src/resources/video/index.ts
Expand Up @@ -82,3 +82,17 @@ export {
Uploads,
} from './uploads';
export { Video } from './video';
export {
WebInputCreateResponse,
WebInputRetrieveResponse,
WebInputListResponse,
WebInputLaunchResponse,
WebInputReloadResponse,
WebInputShutdownResponse,
WebInputUpdateURLResponse,
WebInputCreateParams,
WebInputListParams,
WebInputUpdateURLParams,
WebInputListResponsesBasePage,
WebInputs,
} from './web-inputs';
14 changes: 14 additions & 0 deletions src/resources/video/video.ts
Expand Up @@ -9,6 +9,7 @@ import * as PlaybackRestrictionsAPI from '@mux/mux-node/resources/video/playback
import * as SpacesAPI from '@mux/mux-node/resources/video/spaces';
import * as TranscriptionVocabulariesAPI from '@mux/mux-node/resources/video/transcription-vocabularies';
import * as UploadsAPI from '@mux/mux-node/resources/video/uploads';
import * as WebInputsAPI from '@mux/mux-node/resources/video/web-inputs';

export class Video extends APIResource {
assets: AssetsAPI.Assets = new AssetsAPI.Assets(this._client);
Expand All @@ -21,6 +22,7 @@ export class Video extends APIResource {
transcriptionVocabularies: TranscriptionVocabulariesAPI.TranscriptionVocabularies =
new TranscriptionVocabulariesAPI.TranscriptionVocabularies(this._client);
uploads: UploadsAPI.Uploads = new UploadsAPI.Uploads(this._client);
webInputs: WebInputsAPI.WebInputs = new WebInputsAPI.WebInputs(this._client);
}

export namespace Video {
Expand Down Expand Up @@ -92,4 +94,16 @@ export namespace Video {
export import UploadsBasePage = UploadsAPI.UploadsBasePage;
export import UploadCreateParams = UploadsAPI.UploadCreateParams;
export import UploadListParams = UploadsAPI.UploadListParams;
export import WebInputs = WebInputsAPI.WebInputs;
export import WebInputCreateResponse = WebInputsAPI.WebInputCreateResponse;
export import WebInputRetrieveResponse = WebInputsAPI.WebInputRetrieveResponse;
export import WebInputListResponse = WebInputsAPI.WebInputListResponse;
export import WebInputLaunchResponse = WebInputsAPI.WebInputLaunchResponse;
export import WebInputReloadResponse = WebInputsAPI.WebInputReloadResponse;
export import WebInputShutdownResponse = WebInputsAPI.WebInputShutdownResponse;
export import WebInputUpdateURLResponse = WebInputsAPI.WebInputUpdateURLResponse;
export import WebInputListResponsesBasePage = WebInputsAPI.WebInputListResponsesBasePage;
export import WebInputCreateParams = WebInputsAPI.WebInputCreateParams;
export import WebInputListParams = WebInputsAPI.WebInputListParams;
export import WebInputUpdateURLParams = WebInputsAPI.WebInputUpdateURLParams;
}
Expand Up @@ -3,28 +3,28 @@
import * as Core from '@mux/mux-node/core';
import { APIResource } from '@mux/mux-node/resource';
import { isRequestOptions } from '@mux/mux-node/core';
import * as AssetsAPI from '@mux/mux-node/resources/web-inputs/assets';
import * as WebInputsAPI from '@mux/mux-node/resources/video/web-inputs';
import { BasePage, type BasePageParams } from '@mux/mux-node/pagination';

export class Assets extends APIResource {
export class WebInputs extends APIResource {
/**
* Create a new Web Input
*/
create(body: AssetCreateParams, options?: Core.RequestOptions): Core.APIPromise<AssetCreateResponse> {
create(body: WebInputCreateParams, options?: Core.RequestOptions): Core.APIPromise<WebInputCreateResponse> {
return (
this._client.post('/video/v1/web-inputs', { body, ...options }) as Core.APIPromise<{
data: AssetCreateResponse;
data: WebInputCreateResponse;
}>
)._thenUnwrap((obj) => obj.data);
}

/**
* Retrieve a single Web Input's info
*/
retrieve(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<AssetRetrieveResponse> {
retrieve(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<WebInputRetrieveResponse> {
return (
this._client.get(`/video/v1/web-inputs/${webInputId}`, options) as Core.APIPromise<{
data: AssetRetrieveResponse;
data: WebInputRetrieveResponse;
}>
)._thenUnwrap((obj) => obj.data);
}
Expand All @@ -33,18 +33,21 @@ export class Assets extends APIResource {
* List Web Inputs
*/
list(
query?: AssetListParams,
query?: WebInputListParams,
options?: Core.RequestOptions,
): Core.PagePromise<AssetListResponsesBasePage, AssetListResponse>;
list(options?: Core.RequestOptions): Core.PagePromise<AssetListResponsesBasePage, AssetListResponse>;
): Core.PagePromise<WebInputListResponsesBasePage, WebInputListResponse>;
list(options?: Core.RequestOptions): Core.PagePromise<WebInputListResponsesBasePage, WebInputListResponse>;
list(
query: AssetListParams | Core.RequestOptions = {},
query: WebInputListParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
): Core.PagePromise<AssetListResponsesBasePage, AssetListResponse> {
): Core.PagePromise<WebInputListResponsesBasePage, WebInputListResponse> {
if (isRequestOptions(query)) {
return this.list({}, query);
}
return this._client.getAPIList('/video/v1/web-inputs', AssetListResponsesBasePage, { query, ...options });
return this._client.getAPIList('/video/v1/web-inputs', WebInputListResponsesBasePage, {
query,
...options,
});
}

/**
Expand All @@ -61,10 +64,10 @@ export class Assets extends APIResource {
* Launches the browsers instance, loads the URL specified, and then starts
* streaming to the specified Live Stream.
*/
launch(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<AssetLaunchResponse> {
launch(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<WebInputLaunchResponse> {
return (
this._client.put(`/video/v1/web-inputs/${webInputId}/launch`, options) as Core.APIPromise<{
data: AssetLaunchResponse;
data: WebInputLaunchResponse;
}>
)._thenUnwrap((obj) => obj.data);
}
Expand All @@ -75,10 +78,10 @@ export class Assets extends APIResource {
* Note: Using this when the Web Input is streaming will display the page
* reloading.
*/
reload(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<AssetReloadResponse> {
reload(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<WebInputReloadResponse> {
return (
this._client.put(`/video/v1/web-inputs/${webInputId}/reload`, options) as Core.APIPromise<{
data: AssetReloadResponse;
data: WebInputReloadResponse;
}>
)._thenUnwrap((obj) => obj.data);
}
Expand All @@ -87,10 +90,10 @@ export class Assets extends APIResource {
* Ends streaming to the specified Live Stream, and then shuts down the Web Input
* browser instance.
*/
shutdown(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<AssetShutdownResponse> {
shutdown(webInputId: string, options?: Core.RequestOptions): Core.APIPromise<WebInputShutdownResponse> {
return (
this._client.put(`/video/v1/web-inputs/${webInputId}/shutdown`, options) as Core.APIPromise<{
data: AssetShutdownResponse;
data: WebInputShutdownResponse;
}>
)._thenUnwrap((obj) => obj.data);
}
Expand All @@ -102,20 +105,20 @@ export class Assets extends APIResource {
*/
updateURL(
webInputId: string,
body: AssetUpdateURLParams,
body: WebInputUpdateURLParams,
options?: Core.RequestOptions,
): Core.APIPromise<AssetUpdateURLResponse> {
): Core.APIPromise<WebInputUpdateURLResponse> {
return (
this._client.put(`/video/v1/web-inputs/${webInputId}/url`, { body, ...options }) as Core.APIPromise<{
data: AssetUpdateURLResponse;
data: WebInputUpdateURLResponse;
}>
)._thenUnwrap((obj) => obj.data);
}
}

export class AssetListResponsesBasePage extends BasePage<AssetListResponse> {}
export class WebInputListResponsesBasePage extends BasePage<WebInputListResponse> {}

export interface AssetCreateResponse {
export interface WebInputCreateResponse {
/**
* Unique identifier for the Web Input.
*/
Expand Down Expand Up @@ -165,7 +168,7 @@ export interface AssetCreateResponse {
timeout?: number;
}

export interface AssetRetrieveResponse {
export interface WebInputRetrieveResponse {
/**
* Unique identifier for the Web Input.
*/
Expand Down Expand Up @@ -215,7 +218,7 @@ export interface AssetRetrieveResponse {
timeout?: number;
}

export interface AssetListResponse {
export interface WebInputListResponse {
/**
* Unique identifier for the Web Input.
*/
Expand Down Expand Up @@ -265,13 +268,13 @@ export interface AssetListResponse {
timeout?: number;
}

export type AssetLaunchResponse = unknown;
export type WebInputLaunchResponse = unknown;

export type AssetReloadResponse = unknown;
export type WebInputReloadResponse = unknown;

export type AssetShutdownResponse = unknown;
export type WebInputShutdownResponse = unknown;

export interface AssetUpdateURLResponse {
export interface WebInputUpdateURLResponse {
/**
* Unique identifier for the Web Input.
*/
Expand Down Expand Up @@ -321,7 +324,7 @@ export interface AssetUpdateURLResponse {
timeout?: number;
}

export interface AssetCreateParams {
export interface WebInputCreateParams {
/**
* The Live Stream ID to broadcast this Web Input to
*/
Expand Down Expand Up @@ -371,25 +374,25 @@ export interface AssetCreateParams {
timeout?: number;
}

export interface AssetListParams extends BasePageParams {}
export interface WebInputListParams extends BasePageParams {}

export interface AssetUpdateURLParams {
export interface WebInputUpdateURLParams {
/**
* The URL for the Web Input to load.
*/
url: string;
}

export namespace Assets {
export import AssetCreateResponse = AssetsAPI.AssetCreateResponse;
export import AssetRetrieveResponse = AssetsAPI.AssetRetrieveResponse;
export import AssetListResponse = AssetsAPI.AssetListResponse;
export import AssetLaunchResponse = AssetsAPI.AssetLaunchResponse;
export import AssetReloadResponse = AssetsAPI.AssetReloadResponse;
export import AssetShutdownResponse = AssetsAPI.AssetShutdownResponse;
export import AssetUpdateURLResponse = AssetsAPI.AssetUpdateURLResponse;
export import AssetListResponsesBasePage = AssetsAPI.AssetListResponsesBasePage;
export import AssetCreateParams = AssetsAPI.AssetCreateParams;
export import AssetListParams = AssetsAPI.AssetListParams;
export import AssetUpdateURLParams = AssetsAPI.AssetUpdateURLParams;
export namespace WebInputs {
export import WebInputCreateResponse = WebInputsAPI.WebInputCreateResponse;
export import WebInputRetrieveResponse = WebInputsAPI.WebInputRetrieveResponse;
export import WebInputListResponse = WebInputsAPI.WebInputListResponse;
export import WebInputLaunchResponse = WebInputsAPI.WebInputLaunchResponse;
export import WebInputReloadResponse = WebInputsAPI.WebInputReloadResponse;
export import WebInputShutdownResponse = WebInputsAPI.WebInputShutdownResponse;
export import WebInputUpdateURLResponse = WebInputsAPI.WebInputUpdateURLResponse;
export import WebInputListResponsesBasePage = WebInputsAPI.WebInputListResponsesBasePage;
export import WebInputCreateParams = WebInputsAPI.WebInputCreateParams;
export import WebInputListParams = WebInputsAPI.WebInputListParams;
export import WebInputUpdateURLParams = WebInputsAPI.WebInputUpdateURLParams;
}
17 changes: 0 additions & 17 deletions src/resources/web-inputs/index.ts

This file was deleted.

23 changes: 0 additions & 23 deletions src/resources/web-inputs/web-inputs.ts

This file was deleted.

0 comments on commit fbec065

Please sign in to comment.