Files
plexjs/src/models/operations/getplaylistcontents.ts

642 lines
22 KiB
TypeScript

/*
* Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
*/
import { remap as remap$ } from "../../lib/primitives";
import { RFCDate } from "../../types";
import * as z from "zod";
export type GetPlaylistContentsRequest = {
/**
* the ID of the playlist
*/
playlistID: number;
/**
* the metadata type of the item to return
*/
type: number;
};
export type GetPlaylistContentsPart = {
id?: number | undefined;
key?: string | undefined;
duration?: number | undefined;
file?: string | undefined;
size?: number | undefined;
audioProfile?: string | undefined;
container?: string | undefined;
has64bitOffsets?: boolean | undefined;
optimizedForStreaming?: boolean | undefined;
videoProfile?: string | undefined;
};
export type GetPlaylistContentsMedia = {
id?: number | undefined;
duration?: number | undefined;
bitrate?: number | undefined;
width?: number | undefined;
height?: number | undefined;
aspectRatio?: number | undefined;
audioChannels?: number | undefined;
audioCodec?: string | undefined;
videoCodec?: string | undefined;
videoResolution?: string | undefined;
container?: string | undefined;
videoFrameRate?: string | undefined;
optimizedForStreaming?: number | undefined;
audioProfile?: string | undefined;
has64bitOffsets?: boolean | undefined;
videoProfile?: string | undefined;
part?: Array<GetPlaylistContentsPart> | undefined;
};
export type GetPlaylistContentsGenre = {
tag?: string | undefined;
};
export type GetPlaylistContentsCountry = {
tag?: string | undefined;
};
export type GetPlaylistContentsDirector = {
tag?: string | undefined;
};
export type GetPlaylistContentsWriter = {
tag?: string | undefined;
};
export type GetPlaylistContentsRole = {
tag?: string | undefined;
};
export type GetPlaylistContentsMetadata = {
ratingKey?: string | undefined;
key?: string | undefined;
guid?: string | undefined;
studio?: string | undefined;
type?: string | undefined;
title?: string | undefined;
titleSort?: string | undefined;
librarySectionTitle?: string | undefined;
librarySectionID?: number | undefined;
librarySectionKey?: string | undefined;
contentRating?: string | undefined;
summary?: string | undefined;
rating?: number | undefined;
audienceRating?: number | undefined;
year?: number | undefined;
tagline?: string | undefined;
thumb?: string | undefined;
art?: string | undefined;
duration?: number | undefined;
originallyAvailableAt?: RFCDate | undefined;
addedAt?: number | undefined;
updatedAt?: number | undefined;
audienceRatingImage?: string | undefined;
hasPremiumExtras?: string | undefined;
hasPremiumPrimaryExtra?: string | undefined;
ratingImage?: string | undefined;
media?: Array<GetPlaylistContentsMedia> | undefined;
genre?: Array<GetPlaylistContentsGenre> | undefined;
country?: Array<GetPlaylistContentsCountry> | undefined;
director?: Array<GetPlaylistContentsDirector> | undefined;
writer?: Array<GetPlaylistContentsWriter> | undefined;
role?: Array<GetPlaylistContentsRole> | undefined;
};
export type GetPlaylistContentsMediaContainer = {
size?: number | undefined;
composite?: string | undefined;
duration?: number | undefined;
leafCount?: number | undefined;
playlistType?: string | undefined;
ratingKey?: string | undefined;
smart?: boolean | undefined;
title?: string | undefined;
metadata?: Array<GetPlaylistContentsMetadata> | undefined;
};
/**
* The playlist contents
*/
export type GetPlaylistContentsResponseBody = {
mediaContainer?: GetPlaylistContentsMediaContainer | undefined;
};
export type GetPlaylistContentsResponse = {
/**
* 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;
/**
* The playlist contents
*/
object?: GetPlaylistContentsResponseBody | undefined;
};
/** @internal */
export namespace GetPlaylistContentsRequest$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsRequest, z.ZodTypeDef, unknown> =
z.object({
playlistID: z.number(),
type: z.number(),
});
export type Outbound = {
playlistID: number;
type: number;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsRequest> =
z.object({
playlistID: z.number(),
type: z.number(),
});
}
/** @internal */
export namespace GetPlaylistContentsPart$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsPart, z.ZodTypeDef, unknown> =
z.object({
id: z.number().int().optional(),
key: z.string().optional(),
duration: z.number().int().optional(),
file: z.string().optional(),
size: z.number().int().optional(),
audioProfile: z.string().optional(),
container: z.string().optional(),
has64bitOffsets: z.boolean().optional(),
optimizedForStreaming: z.boolean().optional(),
videoProfile: z.string().optional(),
});
export type Outbound = {
id?: number | undefined;
key?: string | undefined;
duration?: number | undefined;
file?: string | undefined;
size?: number | undefined;
audioProfile?: string | undefined;
container?: string | undefined;
has64bitOffsets?: boolean | undefined;
optimizedForStreaming?: boolean | undefined;
videoProfile?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsPart> =
z.object({
id: z.number().int().optional(),
key: z.string().optional(),
duration: z.number().int().optional(),
file: z.string().optional(),
size: z.number().int().optional(),
audioProfile: z.string().optional(),
container: z.string().optional(),
has64bitOffsets: z.boolean().optional(),
optimizedForStreaming: z.boolean().optional(),
videoProfile: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsMedia$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsMedia, z.ZodTypeDef, unknown> = z
.object({
id: z.number().int().optional(),
duration: z.number().int().optional(),
bitrate: z.number().int().optional(),
width: z.number().int().optional(),
height: z.number().int().optional(),
aspectRatio: z.number().optional(),
audioChannels: z.number().int().optional(),
audioCodec: z.string().optional(),
videoCodec: z.string().optional(),
videoResolution: z.string().optional(),
container: z.string().optional(),
videoFrameRate: z.string().optional(),
optimizedForStreaming: z.number().int().optional(),
audioProfile: z.string().optional(),
has64bitOffsets: z.boolean().optional(),
videoProfile: z.string().optional(),
Part: z.array(z.lazy(() => GetPlaylistContentsPart$.inboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
Part: "part",
});
});
export type Outbound = {
id?: number | undefined;
duration?: number | undefined;
bitrate?: number | undefined;
width?: number | undefined;
height?: number | undefined;
aspectRatio?: number | undefined;
audioChannels?: number | undefined;
audioCodec?: string | undefined;
videoCodec?: string | undefined;
videoResolution?: string | undefined;
container?: string | undefined;
videoFrameRate?: string | undefined;
optimizedForStreaming?: number | undefined;
audioProfile?: string | undefined;
has64bitOffsets?: boolean | undefined;
videoProfile?: string | undefined;
Part?: Array<GetPlaylistContentsPart$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsMedia> = z
.object({
id: z.number().int().optional(),
duration: z.number().int().optional(),
bitrate: z.number().int().optional(),
width: z.number().int().optional(),
height: z.number().int().optional(),
aspectRatio: z.number().optional(),
audioChannels: z.number().int().optional(),
audioCodec: z.string().optional(),
videoCodec: z.string().optional(),
videoResolution: z.string().optional(),
container: z.string().optional(),
videoFrameRate: z.string().optional(),
optimizedForStreaming: z.number().int().optional(),
audioProfile: z.string().optional(),
has64bitOffsets: z.boolean().optional(),
videoProfile: z.string().optional(),
part: z.array(z.lazy(() => GetPlaylistContentsPart$.outboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
part: "Part",
});
});
}
/** @internal */
export namespace GetPlaylistContentsGenre$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsGenre, z.ZodTypeDef, unknown> =
z.object({
tag: z.string().optional(),
});
export type Outbound = {
tag?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsGenre> =
z.object({
tag: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsCountry$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsCountry, z.ZodTypeDef, unknown> =
z.object({
tag: z.string().optional(),
});
export type Outbound = {
tag?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsCountry> =
z.object({
tag: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsDirector$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsDirector, z.ZodTypeDef, unknown> =
z.object({
tag: z.string().optional(),
});
export type Outbound = {
tag?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsDirector> =
z.object({
tag: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsWriter$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsWriter, z.ZodTypeDef, unknown> =
z.object({
tag: z.string().optional(),
});
export type Outbound = {
tag?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsWriter> =
z.object({
tag: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsRole$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsRole, z.ZodTypeDef, unknown> =
z.object({
tag: z.string().optional(),
});
export type Outbound = {
tag?: string | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsRole> =
z.object({
tag: z.string().optional(),
});
}
/** @internal */
export namespace GetPlaylistContentsMetadata$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsMetadata, z.ZodTypeDef, unknown> = z
.object({
ratingKey: z.string().optional(),
key: z.string().optional(),
guid: z.string().optional(),
studio: z.string().optional(),
type: z.string().optional(),
title: z.string().optional(),
titleSort: z.string().optional(),
librarySectionTitle: z.string().optional(),
librarySectionID: z.number().int().optional(),
librarySectionKey: z.string().optional(),
contentRating: z.string().optional(),
summary: z.string().optional(),
rating: z.number().optional(),
audienceRating: z.number().optional(),
year: z.number().int().optional(),
tagline: z.string().optional(),
thumb: z.string().optional(),
art: z.string().optional(),
duration: z.number().int().optional(),
originallyAvailableAt: z
.string()
.transform((v) => new RFCDate(v))
.optional(),
addedAt: z.number().int().optional(),
updatedAt: z.number().int().optional(),
audienceRatingImage: z.string().optional(),
hasPremiumExtras: z.string().optional(),
hasPremiumPrimaryExtra: z.string().optional(),
ratingImage: z.string().optional(),
Media: z.array(z.lazy(() => GetPlaylistContentsMedia$.inboundSchema)).optional(),
Genre: z.array(z.lazy(() => GetPlaylistContentsGenre$.inboundSchema)).optional(),
Country: z.array(z.lazy(() => GetPlaylistContentsCountry$.inboundSchema)).optional(),
Director: z.array(z.lazy(() => GetPlaylistContentsDirector$.inboundSchema)).optional(),
Writer: z.array(z.lazy(() => GetPlaylistContentsWriter$.inboundSchema)).optional(),
Role: z.array(z.lazy(() => GetPlaylistContentsRole$.inboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
Media: "media",
Genre: "genre",
Country: "country",
Director: "director",
Writer: "writer",
Role: "role",
});
});
export type Outbound = {
ratingKey?: string | undefined;
key?: string | undefined;
guid?: string | undefined;
studio?: string | undefined;
type?: string | undefined;
title?: string | undefined;
titleSort?: string | undefined;
librarySectionTitle?: string | undefined;
librarySectionID?: number | undefined;
librarySectionKey?: string | undefined;
contentRating?: string | undefined;
summary?: string | undefined;
rating?: number | undefined;
audienceRating?: number | undefined;
year?: number | undefined;
tagline?: string | undefined;
thumb?: string | undefined;
art?: string | undefined;
duration?: number | undefined;
originallyAvailableAt?: string | undefined;
addedAt?: number | undefined;
updatedAt?: number | undefined;
audienceRatingImage?: string | undefined;
hasPremiumExtras?: string | undefined;
hasPremiumPrimaryExtra?: string | undefined;
ratingImage?: string | undefined;
Media?: Array<GetPlaylistContentsMedia$.Outbound> | undefined;
Genre?: Array<GetPlaylistContentsGenre$.Outbound> | undefined;
Country?: Array<GetPlaylistContentsCountry$.Outbound> | undefined;
Director?: Array<GetPlaylistContentsDirector$.Outbound> | undefined;
Writer?: Array<GetPlaylistContentsWriter$.Outbound> | undefined;
Role?: Array<GetPlaylistContentsRole$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsMetadata> = z
.object({
ratingKey: z.string().optional(),
key: z.string().optional(),
guid: z.string().optional(),
studio: z.string().optional(),
type: z.string().optional(),
title: z.string().optional(),
titleSort: z.string().optional(),
librarySectionTitle: z.string().optional(),
librarySectionID: z.number().int().optional(),
librarySectionKey: z.string().optional(),
contentRating: z.string().optional(),
summary: z.string().optional(),
rating: z.number().optional(),
audienceRating: z.number().optional(),
year: z.number().int().optional(),
tagline: z.string().optional(),
thumb: z.string().optional(),
art: z.string().optional(),
duration: z.number().int().optional(),
originallyAvailableAt: z
.instanceof(RFCDate)
.transform((v) => v.toString())
.optional(),
addedAt: z.number().int().optional(),
updatedAt: z.number().int().optional(),
audienceRatingImage: z.string().optional(),
hasPremiumExtras: z.string().optional(),
hasPremiumPrimaryExtra: z.string().optional(),
ratingImage: z.string().optional(),
media: z.array(z.lazy(() => GetPlaylistContentsMedia$.outboundSchema)).optional(),
genre: z.array(z.lazy(() => GetPlaylistContentsGenre$.outboundSchema)).optional(),
country: z.array(z.lazy(() => GetPlaylistContentsCountry$.outboundSchema)).optional(),
director: z.array(z.lazy(() => GetPlaylistContentsDirector$.outboundSchema)).optional(),
writer: z.array(z.lazy(() => GetPlaylistContentsWriter$.outboundSchema)).optional(),
role: z.array(z.lazy(() => GetPlaylistContentsRole$.outboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
media: "Media",
genre: "Genre",
country: "Country",
director: "Director",
writer: "Writer",
role: "Role",
});
});
}
/** @internal */
export namespace GetPlaylistContentsMediaContainer$ {
export const inboundSchema: z.ZodType<
GetPlaylistContentsMediaContainer,
z.ZodTypeDef,
unknown
> = z
.object({
size: z.number().int().optional(),
composite: z.string().optional(),
duration: z.number().int().optional(),
leafCount: z.number().int().optional(),
playlistType: z.string().optional(),
ratingKey: z.string().optional(),
smart: z.boolean().optional(),
title: z.string().optional(),
Metadata: z.array(z.lazy(() => GetPlaylistContentsMetadata$.inboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
Metadata: "metadata",
});
});
export type Outbound = {
size?: number | undefined;
composite?: string | undefined;
duration?: number | undefined;
leafCount?: number | undefined;
playlistType?: string | undefined;
ratingKey?: string | undefined;
smart?: boolean | undefined;
title?: string | undefined;
Metadata?: Array<GetPlaylistContentsMetadata$.Outbound> | undefined;
};
export const outboundSchema: z.ZodType<
Outbound,
z.ZodTypeDef,
GetPlaylistContentsMediaContainer
> = z
.object({
size: z.number().int().optional(),
composite: z.string().optional(),
duration: z.number().int().optional(),
leafCount: z.number().int().optional(),
playlistType: z.string().optional(),
ratingKey: z.string().optional(),
smart: z.boolean().optional(),
title: z.string().optional(),
metadata: z.array(z.lazy(() => GetPlaylistContentsMetadata$.outboundSchema)).optional(),
})
.transform((v) => {
return remap$(v, {
metadata: "Metadata",
});
});
}
/** @internal */
export namespace GetPlaylistContentsResponseBody$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsResponseBody, z.ZodTypeDef, unknown> =
z
.object({
MediaContainer: z
.lazy(() => GetPlaylistContentsMediaContainer$.inboundSchema)
.optional(),
})
.transform((v) => {
return remap$(v, {
MediaContainer: "mediaContainer",
});
});
export type Outbound = {
MediaContainer?: GetPlaylistContentsMediaContainer$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<
Outbound,
z.ZodTypeDef,
GetPlaylistContentsResponseBody
> = z
.object({
mediaContainer: z
.lazy(() => GetPlaylistContentsMediaContainer$.outboundSchema)
.optional(),
})
.transform((v) => {
return remap$(v, {
mediaContainer: "MediaContainer",
});
});
}
/** @internal */
export namespace GetPlaylistContentsResponse$ {
export const inboundSchema: z.ZodType<GetPlaylistContentsResponse, z.ZodTypeDef, unknown> = z
.object({
ContentType: z.string(),
StatusCode: z.number().int(),
RawResponse: z.instanceof(Response),
object: z.lazy(() => GetPlaylistContentsResponseBody$.inboundSchema).optional(),
})
.transform((v) => {
return remap$(v, {
ContentType: "contentType",
StatusCode: "statusCode",
RawResponse: "rawResponse",
});
});
export type Outbound = {
ContentType: string;
StatusCode: number;
RawResponse: never;
object?: GetPlaylistContentsResponseBody$.Outbound | undefined;
};
export const outboundSchema: z.ZodType<Outbound, z.ZodTypeDef, GetPlaylistContentsResponse> = z
.object({
contentType: z.string(),
statusCode: z.number().int(),
rawResponse: z.instanceof(Response).transform(() => {
throw new Error("Response cannot be serialized");
}),
object: z.lazy(() => GetPlaylistContentsResponseBody$.outboundSchema).optional(),
})
.transform((v) => {
return remap$(v, {
contentType: "ContentType",
statusCode: "StatusCode",
rawResponse: "RawResponse",
});
});
}