UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

773 lines (772 loc) 25.6 kB
import { serializeDateTime } from '../internal/utils'; import { deserializeDateTime } from '../internal/utils'; import { BoxSdkError } from '../box/errors'; import { DateTime } from '../internal/utils'; import { SerializedData } from '../serialization/json'; import { sdIsEmpty } from '../serialization/json'; import { sdIsBoolean } from '../serialization/json'; import { sdIsNumber } from '../serialization/json'; import { sdIsString } from '../serialization/json'; import { sdIsList } from '../serialization/json'; import { sdIsMap } from '../serialization/json'; export type TranscriptSkillCardTypeField = 'skill_card'; export type TranscriptSkillCardSkillCardTypeField = 'transcript'; export interface TranscriptSkillCardSkillCardTitleField { /** * An optional identifier for the title. */ readonly code?: string; /** * The actual title to show in the UI. */ readonly message: string; readonly rawData?: SerializedData; } export type TranscriptSkillCardSkillTypeField = 'service'; export class TranscriptSkillCardSkillField { /** * The value will always be `service`. */ readonly type: TranscriptSkillCardSkillTypeField = 'service' as TranscriptSkillCardSkillTypeField; /** * A custom identifier that represent the service that * applied this metadata. */ readonly id!: string; readonly rawData?: SerializedData; constructor( fields: Omit<TranscriptSkillCardSkillField, 'type'> & Partial<Pick<TranscriptSkillCardSkillField, 'type'>>, ) { if (fields.type !== undefined) { this.type = fields.type; } if (fields.id !== undefined) { this.id = fields.id; } if (fields.rawData !== undefined) { this.rawData = fields.rawData; } } } export interface TranscriptSkillCardSkillFieldInput { /** * The value will always be `service`. */ readonly type?: TranscriptSkillCardSkillTypeField; /** * A custom identifier that represent the service that * applied this metadata. */ readonly id: string; readonly rawData?: SerializedData; } export type TranscriptSkillCardInvocationTypeField = 'skill_invocation'; export class TranscriptSkillCardInvocationField { /** * The value will always be `skill_invocation`. */ readonly type: TranscriptSkillCardInvocationTypeField = 'skill_invocation' as TranscriptSkillCardInvocationTypeField; /** * A custom identifier that represent the instance of * the service that applied this metadata. For example, * if your `image-recognition-service` runs on multiple * nodes, this field can be used to identify the ID of * the node that was used to apply the metadata. */ readonly id!: string; readonly rawData?: SerializedData; constructor( fields: Omit<TranscriptSkillCardInvocationField, 'type'> & Partial<Pick<TranscriptSkillCardInvocationField, 'type'>>, ) { if (fields.type !== undefined) { this.type = fields.type; } if (fields.id !== undefined) { this.id = fields.id; } if (fields.rawData !== undefined) { this.rawData = fields.rawData; } } } export interface TranscriptSkillCardInvocationFieldInput { /** * The value will always be `skill_invocation`. */ readonly type?: TranscriptSkillCardInvocationTypeField; /** * A custom identifier that represent the instance of * the service that applied this metadata. For example, * if your `image-recognition-service` runs on multiple * nodes, this field can be used to identify the ID of * the node that was used to apply the metadata. */ readonly id: string; readonly rawData?: SerializedData; } export interface TranscriptSkillCardEntriesAppearsField { /** * The time in seconds when an * entry should start appearing on a timeline. */ readonly start?: number; readonly rawData?: SerializedData; } export interface TranscriptSkillCardEntriesField { /** * The text of the entry. This would be the transcribed text assigned * to the entry on the timeline. */ readonly text?: string; /** * Defines when a transcribed bit of text appears. This only includes a * start time and no end time. */ readonly appears?: readonly TranscriptSkillCardEntriesAppearsField[]; readonly rawData?: SerializedData; } export class TranscriptSkillCard { /** * The optional date and time this card was created at. */ readonly createdAt?: DateTime; /** * The value will always be `skill_card`. */ readonly type: TranscriptSkillCardTypeField = 'skill_card' as TranscriptSkillCardTypeField; /** * The value will always be `transcript`. */ readonly skillCardType: TranscriptSkillCardSkillCardTypeField = 'transcript' as TranscriptSkillCardSkillCardTypeField; /** * The title of the card. */ readonly skillCardTitle?: TranscriptSkillCardSkillCardTitleField; /** * The service that applied this metadata. */ readonly skill!: TranscriptSkillCardSkillField; /** * The invocation of this service, used to track * which instance of a service applied the metadata. */ readonly invocation!: TranscriptSkillCardInvocationField; /** * An optional total duration in seconds. * * Used with a `skill_card_type` of `transcript` or * `timeline`. */ readonly duration?: number; /** * An list of entries for the card. This represents the individual entries of * the transcription. */ readonly entries!: readonly TranscriptSkillCardEntriesField[]; readonly rawData?: SerializedData; constructor( fields: Omit<TranscriptSkillCard, 'type' | 'skillCardType'> & Partial<Pick<TranscriptSkillCard, 'type' | 'skillCardType'>>, ) { if (fields.createdAt !== undefined) { this.createdAt = fields.createdAt; } if (fields.type !== undefined) { this.type = fields.type; } if (fields.skillCardType !== undefined) { this.skillCardType = fields.skillCardType; } if (fields.skillCardTitle !== undefined) { this.skillCardTitle = fields.skillCardTitle; } if (fields.skill !== undefined) { this.skill = fields.skill; } if (fields.invocation !== undefined) { this.invocation = fields.invocation; } if (fields.duration !== undefined) { this.duration = fields.duration; } if (fields.entries !== undefined) { this.entries = fields.entries; } if (fields.rawData !== undefined) { this.rawData = fields.rawData; } } } export interface TranscriptSkillCardInput { /** * The optional date and time this card was created at. */ readonly createdAt?: DateTime; /** * The value will always be `skill_card`. */ readonly type?: TranscriptSkillCardTypeField; /** * The value will always be `transcript`. */ readonly skillCardType?: TranscriptSkillCardSkillCardTypeField; /** * The title of the card. */ readonly skillCardTitle?: TranscriptSkillCardSkillCardTitleField; /** * The service that applied this metadata. */ readonly skill: TranscriptSkillCardSkillField; /** * The invocation of this service, used to track * which instance of a service applied the metadata. */ readonly invocation: TranscriptSkillCardInvocationField; /** * An optional total duration in seconds. * * Used with a `skill_card_type` of `transcript` or * `timeline`. */ readonly duration?: number; /** * An list of entries for the card. This represents the individual entries of * the transcription. */ readonly entries: readonly TranscriptSkillCardEntriesField[]; readonly rawData?: SerializedData; } export function serializeTranscriptSkillCardTypeField( val: TranscriptSkillCardTypeField, ): SerializedData { return val; } export function deserializeTranscriptSkillCardTypeField( val: SerializedData, ): TranscriptSkillCardTypeField { if (val == 'skill_card') { return val; } throw new BoxSdkError({ message: "Can't deserialize TranscriptSkillCardTypeField", }); } export function serializeTranscriptSkillCardSkillCardTypeField( val: TranscriptSkillCardSkillCardTypeField, ): SerializedData { return val; } export function deserializeTranscriptSkillCardSkillCardTypeField( val: SerializedData, ): TranscriptSkillCardSkillCardTypeField { if (val == 'transcript') { return val; } throw new BoxSdkError({ message: "Can't deserialize TranscriptSkillCardSkillCardTypeField", }); } export function serializeTranscriptSkillCardSkillCardTitleField( val: TranscriptSkillCardSkillCardTitleField, ): SerializedData { return { ['code']: val.code, ['message']: val.message }; } export function deserializeTranscriptSkillCardSkillCardTitleField( val: SerializedData, ): TranscriptSkillCardSkillCardTitleField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardSkillCardTitleField"', }); } if (!(val.code == void 0) && !sdIsString(val.code)) { throw new BoxSdkError({ message: 'Expecting string for "code" of type "TranscriptSkillCardSkillCardTitleField"', }); } const code: undefined | string = val.code == void 0 ? void 0 : val.code; if (val.message == void 0) { throw new BoxSdkError({ message: 'Expecting "message" of type "TranscriptSkillCardSkillCardTitleField" to be defined', }); } if (!sdIsString(val.message)) { throw new BoxSdkError({ message: 'Expecting string for "message" of type "TranscriptSkillCardSkillCardTitleField"', }); } const message: string = val.message; return { code: code, message: message, } satisfies TranscriptSkillCardSkillCardTitleField; } export function serializeTranscriptSkillCardSkillTypeField( val: TranscriptSkillCardSkillTypeField, ): SerializedData { return val; } export function deserializeTranscriptSkillCardSkillTypeField( val: SerializedData, ): TranscriptSkillCardSkillTypeField { if (val == 'service') { return val; } throw new BoxSdkError({ message: "Can't deserialize TranscriptSkillCardSkillTypeField", }); } export function serializeTranscriptSkillCardSkillField( val: TranscriptSkillCardSkillField, ): SerializedData { return { ['type']: serializeTranscriptSkillCardSkillTypeField(val.type), ['id']: val.id, }; } export function deserializeTranscriptSkillCardSkillField( val: SerializedData, ): TranscriptSkillCardSkillField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardSkillField"', }); } if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "TranscriptSkillCardSkillField" to be defined', }); } const type: TranscriptSkillCardSkillTypeField = deserializeTranscriptSkillCardSkillTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "TranscriptSkillCardSkillField" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "TranscriptSkillCardSkillField"', }); } const id: string = val.id; return { type: type, id: id } satisfies TranscriptSkillCardSkillField; } export function serializeTranscriptSkillCardSkillFieldInput( val: TranscriptSkillCardSkillFieldInput, ): SerializedData { return { ['type']: val.type == void 0 ? val.type : serializeTranscriptSkillCardSkillTypeField(val.type), ['id']: val.id, }; } export function deserializeTranscriptSkillCardSkillFieldInput( val: SerializedData, ): TranscriptSkillCardSkillFieldInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardSkillFieldInput"', }); } const type: undefined | TranscriptSkillCardSkillTypeField = val.type == void 0 ? void 0 : deserializeTranscriptSkillCardSkillTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "TranscriptSkillCardSkillFieldInput" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "TranscriptSkillCardSkillFieldInput"', }); } const id: string = val.id; return { type: type, id: id } satisfies TranscriptSkillCardSkillFieldInput; } export function serializeTranscriptSkillCardInvocationTypeField( val: TranscriptSkillCardInvocationTypeField, ): SerializedData { return val; } export function deserializeTranscriptSkillCardInvocationTypeField( val: SerializedData, ): TranscriptSkillCardInvocationTypeField { if (val == 'skill_invocation') { return val; } throw new BoxSdkError({ message: "Can't deserialize TranscriptSkillCardInvocationTypeField", }); } export function serializeTranscriptSkillCardInvocationField( val: TranscriptSkillCardInvocationField, ): SerializedData { return { ['type']: serializeTranscriptSkillCardInvocationTypeField(val.type), ['id']: val.id, }; } export function deserializeTranscriptSkillCardInvocationField( val: SerializedData, ): TranscriptSkillCardInvocationField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardInvocationField"', }); } if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "TranscriptSkillCardInvocationField" to be defined', }); } const type: TranscriptSkillCardInvocationTypeField = deserializeTranscriptSkillCardInvocationTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "TranscriptSkillCardInvocationField" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "TranscriptSkillCardInvocationField"', }); } const id: string = val.id; return { type: type, id: id } satisfies TranscriptSkillCardInvocationField; } export function serializeTranscriptSkillCardInvocationFieldInput( val: TranscriptSkillCardInvocationFieldInput, ): SerializedData { return { ['type']: val.type == void 0 ? val.type : serializeTranscriptSkillCardInvocationTypeField(val.type), ['id']: val.id, }; } export function deserializeTranscriptSkillCardInvocationFieldInput( val: SerializedData, ): TranscriptSkillCardInvocationFieldInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardInvocationFieldInput"', }); } const type: undefined | TranscriptSkillCardInvocationTypeField = val.type == void 0 ? void 0 : deserializeTranscriptSkillCardInvocationTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "TranscriptSkillCardInvocationFieldInput" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "TranscriptSkillCardInvocationFieldInput"', }); } const id: string = val.id; return { type: type, id: id, } satisfies TranscriptSkillCardInvocationFieldInput; } export function serializeTranscriptSkillCardEntriesAppearsField( val: TranscriptSkillCardEntriesAppearsField, ): SerializedData { return { ['start']: val.start }; } export function deserializeTranscriptSkillCardEntriesAppearsField( val: SerializedData, ): TranscriptSkillCardEntriesAppearsField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardEntriesAppearsField"', }); } if (!(val.start == void 0) && !sdIsNumber(val.start)) { throw new BoxSdkError({ message: 'Expecting number for "start" of type "TranscriptSkillCardEntriesAppearsField"', }); } const start: undefined | number = val.start == void 0 ? void 0 : val.start; return { start: start } satisfies TranscriptSkillCardEntriesAppearsField; } export function serializeTranscriptSkillCardEntriesField( val: TranscriptSkillCardEntriesField, ): SerializedData { return { ['text']: val.text, ['appears']: val.appears == void 0 ? val.appears : (val.appears.map(function ( item: TranscriptSkillCardEntriesAppearsField, ): SerializedData { return serializeTranscriptSkillCardEntriesAppearsField(item); }) as readonly any[]), }; } export function deserializeTranscriptSkillCardEntriesField( val: SerializedData, ): TranscriptSkillCardEntriesField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardEntriesField"', }); } if (!(val.text == void 0) && !sdIsString(val.text)) { throw new BoxSdkError({ message: 'Expecting string for "text" of type "TranscriptSkillCardEntriesField"', }); } const text: undefined | string = val.text == void 0 ? void 0 : val.text; if (!(val.appears == void 0) && !sdIsList(val.appears)) { throw new BoxSdkError({ message: 'Expecting array for "appears" of type "TranscriptSkillCardEntriesField"', }); } const appears: undefined | readonly TranscriptSkillCardEntriesAppearsField[] = val.appears == void 0 ? void 0 : sdIsList(val.appears) ? (val.appears.map(function ( itm: SerializedData, ): TranscriptSkillCardEntriesAppearsField { return deserializeTranscriptSkillCardEntriesAppearsField(itm); }) as readonly any[]) : []; return { text: text, appears: appears, } satisfies TranscriptSkillCardEntriesField; } export function serializeTranscriptSkillCard( val: TranscriptSkillCard, ): SerializedData { return { ['created_at']: val.createdAt == void 0 ? val.createdAt : serializeDateTime(val.createdAt), ['type']: serializeTranscriptSkillCardTypeField(val.type), ['skill_card_type']: serializeTranscriptSkillCardSkillCardTypeField( val.skillCardType, ), ['skill_card_title']: val.skillCardTitle == void 0 ? val.skillCardTitle : serializeTranscriptSkillCardSkillCardTitleField(val.skillCardTitle), ['skill']: serializeTranscriptSkillCardSkillField(val.skill), ['invocation']: serializeTranscriptSkillCardInvocationField(val.invocation), ['duration']: val.duration, ['entries']: val.entries.map(function ( item: TranscriptSkillCardEntriesField, ): SerializedData { return serializeTranscriptSkillCardEntriesField(item); }) as readonly any[], }; } export function deserializeTranscriptSkillCard( val: SerializedData, ): TranscriptSkillCard { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCard"', }); } if (!(val.created_at == void 0) && !sdIsString(val.created_at)) { throw new BoxSdkError({ message: 'Expecting string for "created_at" of type "TranscriptSkillCard"', }); } const createdAt: undefined | DateTime = val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at); if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "TranscriptSkillCard" to be defined', }); } const type: TranscriptSkillCardTypeField = deserializeTranscriptSkillCardTypeField(val.type); if (val.skill_card_type == void 0) { throw new BoxSdkError({ message: 'Expecting "skill_card_type" of type "TranscriptSkillCard" to be defined', }); } const skillCardType: TranscriptSkillCardSkillCardTypeField = deserializeTranscriptSkillCardSkillCardTypeField(val.skill_card_type); const skillCardTitle: undefined | TranscriptSkillCardSkillCardTitleField = val.skill_card_title == void 0 ? void 0 : deserializeTranscriptSkillCardSkillCardTitleField(val.skill_card_title); if (val.skill == void 0) { throw new BoxSdkError({ message: 'Expecting "skill" of type "TranscriptSkillCard" to be defined', }); } const skill: TranscriptSkillCardSkillField = deserializeTranscriptSkillCardSkillField(val.skill); if (val.invocation == void 0) { throw new BoxSdkError({ message: 'Expecting "invocation" of type "TranscriptSkillCard" to be defined', }); } const invocation: TranscriptSkillCardInvocationField = deserializeTranscriptSkillCardInvocationField(val.invocation); if (!(val.duration == void 0) && !sdIsNumber(val.duration)) { throw new BoxSdkError({ message: 'Expecting number for "duration" of type "TranscriptSkillCard"', }); } const duration: undefined | number = val.duration == void 0 ? void 0 : val.duration; if (val.entries == void 0) { throw new BoxSdkError({ message: 'Expecting "entries" of type "TranscriptSkillCard" to be defined', }); } if (!sdIsList(val.entries)) { throw new BoxSdkError({ message: 'Expecting array for "entries" of type "TranscriptSkillCard"', }); } const entries: readonly TranscriptSkillCardEntriesField[] = sdIsList( val.entries, ) ? (val.entries.map(function ( itm: SerializedData, ): TranscriptSkillCardEntriesField { return deserializeTranscriptSkillCardEntriesField(itm); }) as readonly any[]) : []; return { createdAt: createdAt, type: type, skillCardType: skillCardType, skillCardTitle: skillCardTitle, skill: skill, invocation: invocation, duration: duration, entries: entries, } satisfies TranscriptSkillCard; } export function serializeTranscriptSkillCardInput( val: TranscriptSkillCardInput, ): SerializedData { return { ['created_at']: val.createdAt == void 0 ? val.createdAt : serializeDateTime(val.createdAt), ['type']: val.type == void 0 ? val.type : serializeTranscriptSkillCardTypeField(val.type), ['skillCardType']: val.skillCardType == void 0 ? val.skillCardType : serializeTranscriptSkillCardSkillCardTypeField(val.skillCardType), ['skill_card_title']: val.skillCardTitle == void 0 ? val.skillCardTitle : serializeTranscriptSkillCardSkillCardTitleField(val.skillCardTitle), ['skill']: serializeTranscriptSkillCardSkillField(val.skill), ['invocation']: serializeTranscriptSkillCardInvocationField(val.invocation), ['duration']: val.duration, ['entries']: val.entries.map(function ( item: TranscriptSkillCardEntriesField, ): SerializedData { return serializeTranscriptSkillCardEntriesField(item); }) as readonly any[], }; } export function deserializeTranscriptSkillCardInput( val: SerializedData, ): TranscriptSkillCardInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "TranscriptSkillCardInput"', }); } if (!(val.created_at == void 0) && !sdIsString(val.created_at)) { throw new BoxSdkError({ message: 'Expecting string for "created_at" of type "TranscriptSkillCardInput"', }); } const createdAt: undefined | DateTime = val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at); const type: undefined | TranscriptSkillCardTypeField = val.type == void 0 ? void 0 : deserializeTranscriptSkillCardTypeField(val.type); const skillCardType: undefined | TranscriptSkillCardSkillCardTypeField = val.skillCardType == void 0 ? void 0 : deserializeTranscriptSkillCardSkillCardTypeField(val.skillCardType); const skillCardTitle: undefined | TranscriptSkillCardSkillCardTitleField = val.skill_card_title == void 0 ? void 0 : deserializeTranscriptSkillCardSkillCardTitleField(val.skill_card_title); if (val.skill == void 0) { throw new BoxSdkError({ message: 'Expecting "skill" of type "TranscriptSkillCardInput" to be defined', }); } const skill: TranscriptSkillCardSkillField = deserializeTranscriptSkillCardSkillField(val.skill); if (val.invocation == void 0) { throw new BoxSdkError({ message: 'Expecting "invocation" of type "TranscriptSkillCardInput" to be defined', }); } const invocation: TranscriptSkillCardInvocationField = deserializeTranscriptSkillCardInvocationField(val.invocation); if (!(val.duration == void 0) && !sdIsNumber(val.duration)) { throw new BoxSdkError({ message: 'Expecting number for "duration" of type "TranscriptSkillCardInput"', }); } const duration: undefined | number = val.duration == void 0 ? void 0 : val.duration; if (val.entries == void 0) { throw new BoxSdkError({ message: 'Expecting "entries" of type "TranscriptSkillCardInput" to be defined', }); } if (!sdIsList(val.entries)) { throw new BoxSdkError({ message: 'Expecting array for "entries" of type "TranscriptSkillCardInput"', }); } const entries: readonly TranscriptSkillCardEntriesField[] = sdIsList( val.entries, ) ? (val.entries.map(function ( itm: SerializedData, ): TranscriptSkillCardEntriesField { return deserializeTranscriptSkillCardEntriesField(itm); }) as readonly any[]) : []; return { createdAt: createdAt, type: type, skillCardType: skillCardType, skillCardTitle: skillCardTitle, skill: skill, invocation: invocation, duration: duration, entries: entries, } satisfies TranscriptSkillCardInput; }