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

232 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 CreateCustomHubGlobals = {
/**
* 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 CreateCustomHubRequest = {
/**
* 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 section ID for the hubs to reorder
*/
sectionId: number;
/**
* The metadata item on which to base this hub. This must currently be a collection
*/
metadataItemId: number;
/**
* Whether this hub should be displayed in recommended
*/
promotedToRecommended?: shared.BoolInt | undefined;
/**
* Whether this hub should be displayed in admin's home
*/
promotedToOwnHome?: shared.BoolInt | undefined;
/**
* Whether this hub should be displayed in shared user's home
*/
promotedToSharedHome?: shared.BoolInt | undefined;
};
export type CreateCustomHubResponse = {
/**
* 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;
};
/** @internal */
export type CreateCustomHubRequest$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;
sectionId: number;
metadataItemId: number;
promotedToRecommended?: number | undefined;
promotedToOwnHome?: number | undefined;
promotedToSharedHome?: number | undefined;
};
/** @internal */
export const CreateCustomHubRequest$outboundSchema: z.ZodType<
CreateCustomHubRequest$Outbound,
z.ZodTypeDef,
CreateCustomHubRequest
> = 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(),
sectionId: z.number().int(),
metadataItemId: z.number().int(),
promotedToRecommended: shared.BoolInt$outboundSchema.optional(),
promotedToOwnHome: shared.BoolInt$outboundSchema.optional(),
promotedToSharedHome: 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 createCustomHubRequestToJSON(
createCustomHubRequest: CreateCustomHubRequest,
): string {
return JSON.stringify(
CreateCustomHubRequest$outboundSchema.parse(createCustomHubRequest),
);
}
/** @internal */
export const CreateCustomHubResponse$inboundSchema: z.ZodType<
CreateCustomHubResponse,
z.ZodTypeDef,
unknown
> = z.object({
ContentType: z.string(),
StatusCode: z.number().int(),
RawResponse: z.instanceof(Response),
}).transform((v) => {
return remap$(v, {
"ContentType": "contentType",
"StatusCode": "statusCode",
"RawResponse": "rawResponse",
});
});
export function createCustomHubResponseFromJSON(
jsonString: string,
): SafeParseResult<CreateCustomHubResponse, SDKValidationError> {
return safeParse(
jsonString,
(x) => CreateCustomHubResponse$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'CreateCustomHubResponse' from JSON`,
);
}