Files
plexjs/src/sdk/models/operations/addtoplayqueue.ts

235 lines
6.0 KiB
TypeScript

/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { remap as remap$ } from "../../../lib/primitives.js";
import { safeParse } from "../../../lib/schemas.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import * as shared from "../shared/index.js";
export type AddToPlayQueueGlobals = {
/**
* Indicates the client accepts the indicated media types
*/
accepts?: shared.Accepts | undefined;
/**
* An opaque identifier unique to the client
*/
clientIdentifier?: string | undefined;
/**
* The name of the client product
*/
product?: string | undefined;
/**
* The version of the client application
*/
version?: string | undefined;
/**
* The platform of the client
*/
platform?: string | undefined;
/**
* The version of the platform
*/
platformVersion?: string | undefined;
/**
* A relatively friendly name for the client device
*/
device?: string | undefined;
/**
* A potentially less friendly identifier for the device model
*/
model?: string | undefined;
/**
* The device vendor
*/
deviceVendor?: string | undefined;
/**
* A friendly name for the client
*/
deviceName?: string | undefined;
/**
* The marketplace on which the client application is distributed
*/
marketplace?: string | undefined;
};
export type AddToPlayQueueRequest = {
/**
* Indicates the client accepts the indicated media types
*/
accepts?: shared.Accepts | undefined;
/**
* An opaque identifier unique to the client
*/
clientIdentifier?: string | undefined;
/**
* The name of the client product
*/
product?: string | undefined;
/**
* The version of the client application
*/
version?: string | undefined;
/**
* The platform of the client
*/
platform?: string | undefined;
/**
* The version of the platform
*/
platformVersion?: string | undefined;
/**
* A relatively friendly name for the client device
*/
device?: string | undefined;
/**
* A potentially less friendly identifier for the device model
*/
model?: string | undefined;
/**
* The device vendor
*/
deviceVendor?: string | undefined;
/**
* A friendly name for the client
*/
deviceName?: string | undefined;
/**
* The marketplace on which the client application is distributed
*/
marketplace?: string | undefined;
/**
* The ID of the play queue.
*/
playQueueId: number;
/**
* The content URI for what we're adding to the queue.
*/
uri?: string | undefined;
/**
* The ID of the playlist to add to the playQueue.
*/
playlistID?: string | undefined;
/**
* Play this item next (defaults to 0 - queueing at the end of manually queued items).
*/
next?: shared.BoolInt | undefined;
};
export type AddToPlayQueueResponse = {
/**
* HTTP response content type for this operation
*/
contentType: string;
/**
* HTTP response status code for this operation
*/
statusCode: number;
/**
* Raw HTTP response; suitable for custom response parsing
*/
rawResponse: Response;
/**
* OK
*/
mediaContainerWithPlaylistMetadata?:
| shared.MediaContainerWithPlaylistMetadata
| undefined;
};
/** @internal */
export type AddToPlayQueueRequest$Outbound = {
accepts: string;
"Client-Identifier"?: string | undefined;
Product?: string | undefined;
Version?: string | undefined;
Platform?: string | undefined;
"Platform-Version"?: string | undefined;
Device?: string | undefined;
Model?: string | undefined;
"Device-Vendor"?: string | undefined;
"Device-Name"?: string | undefined;
Marketplace?: string | undefined;
playQueueId: number;
uri?: string | undefined;
playlistID?: string | undefined;
next?: number | undefined;
};
/** @internal */
export const AddToPlayQueueRequest$outboundSchema: z.ZodType<
AddToPlayQueueRequest$Outbound,
z.ZodTypeDef,
AddToPlayQueueRequest
> = z.object({
accepts: shared.Accepts$outboundSchema.default(shared.Accepts.ApplicationXml),
clientIdentifier: z.string().optional(),
product: z.string().optional(),
version: z.string().optional(),
platform: z.string().optional(),
platformVersion: z.string().optional(),
device: z.string().optional(),
model: z.string().optional(),
deviceVendor: z.string().optional(),
deviceName: z.string().optional(),
marketplace: z.string().optional(),
playQueueId: z.number().int(),
uri: z.string().optional(),
playlistID: z.string().optional(),
next: shared.BoolInt$outboundSchema.optional(),
}).transform((v) => {
return remap$(v, {
clientIdentifier: "Client-Identifier",
product: "Product",
version: "Version",
platform: "Platform",
platformVersion: "Platform-Version",
device: "Device",
model: "Model",
deviceVendor: "Device-Vendor",
deviceName: "Device-Name",
marketplace: "Marketplace",
});
});
export function addToPlayQueueRequestToJSON(
addToPlayQueueRequest: AddToPlayQueueRequest,
): string {
return JSON.stringify(
AddToPlayQueueRequest$outboundSchema.parse(addToPlayQueueRequest),
);
}
/** @internal */
export const AddToPlayQueueResponse$inboundSchema: z.ZodType<
AddToPlayQueueResponse,
z.ZodTypeDef,
unknown
> = z.object({
ContentType: z.string(),
StatusCode: z.number().int(),
RawResponse: z.instanceof(Response),
MediaContainerWithPlaylistMetadata: shared
.MediaContainerWithPlaylistMetadata$inboundSchema.optional(),
}).transform((v) => {
return remap$(v, {
"ContentType": "contentType",
"StatusCode": "statusCode",
"RawResponse": "rawResponse",
"MediaContainerWithPlaylistMetadata": "mediaContainerWithPlaylistMetadata",
});
});
export function addToPlayQueueResponseFromJSON(
jsonString: string,
): SafeParseResult<AddToPlayQueueResponse, SDKValidationError> {
return safeParse(
jsonString,
(x) => AddToPlayQueueResponse$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'AddToPlayQueueResponse' from JSON`,
);
}