UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

686 lines (685 loc) 22.1 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 StatusSkillCardTypeField = 'skill_card'; export type StatusSkillCardSkillCardTypeField = 'status'; export interface StatusSkillCardSkillCardTitleField { /** * 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 StatusSkillCardStatusCodeField = | 'invoked' | 'processing' | 'success' | 'transient_failure' | 'permanent_failure' | string; export interface StatusSkillCardStatusField { /** * A code for the status of this Skill invocation. By * default each of these will have their own accompanied * messages. These can be adjusted by setting the `message` * value on this object. */ readonly code: StatusSkillCardStatusCodeField; /** * A custom message that can be provided with this status. * This will be shown in the web app to the end user. */ readonly message?: string; readonly rawData?: SerializedData; } export type StatusSkillCardSkillTypeField = 'service'; export class StatusSkillCardSkillField { /** * The value will always be `service`. */ readonly type: StatusSkillCardSkillTypeField = 'service' as StatusSkillCardSkillTypeField; /** * A custom identifier that represent the service that * applied this metadata. */ readonly id!: string; readonly rawData?: SerializedData; constructor( fields: Omit<StatusSkillCardSkillField, 'type'> & Partial<Pick<StatusSkillCardSkillField, '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 StatusSkillCardSkillFieldInput { /** * The value will always be `service`. */ readonly type?: StatusSkillCardSkillTypeField; /** * A custom identifier that represent the service that * applied this metadata. */ readonly id: string; readonly rawData?: SerializedData; } export type StatusSkillCardInvocationTypeField = 'skill_invocation'; export class StatusSkillCardInvocationField { /** * The value will always be `skill_invocation`. */ readonly type: StatusSkillCardInvocationTypeField = 'skill_invocation' as StatusSkillCardInvocationTypeField; /** * 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<StatusSkillCardInvocationField, 'type'> & Partial<Pick<StatusSkillCardInvocationField, '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 StatusSkillCardInvocationFieldInput { /** * The value will always be `skill_invocation`. */ readonly type?: StatusSkillCardInvocationTypeField; /** * 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 class StatusSkillCard { /** * The optional date and time this card was created at. */ readonly createdAt?: DateTime; /** * The value will always be `skill_card`. */ readonly type: StatusSkillCardTypeField = 'skill_card' as StatusSkillCardTypeField; /** * The value will always be `status`. */ readonly skillCardType: StatusSkillCardSkillCardTypeField = 'status' as StatusSkillCardSkillCardTypeField; /** * The title of the card. */ readonly skillCardTitle?: StatusSkillCardSkillCardTitleField; /** * Sets the status of the skill. This can be used to show a message to the user while the Skill is processing the data, or if it was not able to process the file. */ readonly status!: StatusSkillCardStatusField; /** * The service that applied this metadata. */ readonly skill!: StatusSkillCardSkillField; /** * The invocation of this service, used to track * which instance of a service applied the metadata. */ readonly invocation!: StatusSkillCardInvocationField; readonly rawData?: SerializedData; constructor( fields: Omit<StatusSkillCard, 'type' | 'skillCardType'> & Partial<Pick<StatusSkillCard, '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.status !== undefined) { this.status = fields.status; } if (fields.skill !== undefined) { this.skill = fields.skill; } if (fields.invocation !== undefined) { this.invocation = fields.invocation; } if (fields.rawData !== undefined) { this.rawData = fields.rawData; } } } export interface StatusSkillCardInput { /** * The optional date and time this card was created at. */ readonly createdAt?: DateTime; /** * The value will always be `skill_card`. */ readonly type?: StatusSkillCardTypeField; /** * The value will always be `status`. */ readonly skillCardType?: StatusSkillCardSkillCardTypeField; /** * The title of the card. */ readonly skillCardTitle?: StatusSkillCardSkillCardTitleField; /** * Sets the status of the skill. This can be used to show a message to the user while the Skill is processing the data, or if it was not able to process the file. */ readonly status: StatusSkillCardStatusField; /** * The service that applied this metadata. */ readonly skill: StatusSkillCardSkillField; /** * The invocation of this service, used to track * which instance of a service applied the metadata. */ readonly invocation: StatusSkillCardInvocationField; readonly rawData?: SerializedData; } export function serializeStatusSkillCardTypeField( val: StatusSkillCardTypeField, ): SerializedData { return val; } export function deserializeStatusSkillCardTypeField( val: SerializedData, ): StatusSkillCardTypeField { if (val == 'skill_card') { return val; } throw new BoxSdkError({ message: "Can't deserialize StatusSkillCardTypeField", }); } export function serializeStatusSkillCardSkillCardTypeField( val: StatusSkillCardSkillCardTypeField, ): SerializedData { return val; } export function deserializeStatusSkillCardSkillCardTypeField( val: SerializedData, ): StatusSkillCardSkillCardTypeField { if (val == 'status') { return val; } throw new BoxSdkError({ message: "Can't deserialize StatusSkillCardSkillCardTypeField", }); } export function serializeStatusSkillCardSkillCardTitleField( val: StatusSkillCardSkillCardTitleField, ): SerializedData { return { ['code']: val.code, ['message']: val.message }; } export function deserializeStatusSkillCardSkillCardTitleField( val: SerializedData, ): StatusSkillCardSkillCardTitleField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardSkillCardTitleField"', }); } if (!(val.code == void 0) && !sdIsString(val.code)) { throw new BoxSdkError({ message: 'Expecting string for "code" of type "StatusSkillCardSkillCardTitleField"', }); } 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 "StatusSkillCardSkillCardTitleField" to be defined', }); } if (!sdIsString(val.message)) { throw new BoxSdkError({ message: 'Expecting string for "message" of type "StatusSkillCardSkillCardTitleField"', }); } const message: string = val.message; return { code: code, message: message, } satisfies StatusSkillCardSkillCardTitleField; } export function serializeStatusSkillCardStatusCodeField( val: StatusSkillCardStatusCodeField, ): SerializedData { return val; } export function deserializeStatusSkillCardStatusCodeField( val: SerializedData, ): StatusSkillCardStatusCodeField { if (val == 'invoked') { return val; } if (val == 'processing') { return val; } if (val == 'success') { return val; } if (val == 'transient_failure') { return val; } if (val == 'permanent_failure') { return val; } if (sdIsString(val)) { return val; } throw new BoxSdkError({ message: "Can't deserialize StatusSkillCardStatusCodeField", }); } export function serializeStatusSkillCardStatusField( val: StatusSkillCardStatusField, ): SerializedData { return { ['code']: serializeStatusSkillCardStatusCodeField(val.code), ['message']: val.message, }; } export function deserializeStatusSkillCardStatusField( val: SerializedData, ): StatusSkillCardStatusField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardStatusField"', }); } if (val.code == void 0) { throw new BoxSdkError({ message: 'Expecting "code" of type "StatusSkillCardStatusField" to be defined', }); } const code: StatusSkillCardStatusCodeField = deserializeStatusSkillCardStatusCodeField(val.code); if (!(val.message == void 0) && !sdIsString(val.message)) { throw new BoxSdkError({ message: 'Expecting string for "message" of type "StatusSkillCardStatusField"', }); } const message: undefined | string = val.message == void 0 ? void 0 : val.message; return { code: code, message: message } satisfies StatusSkillCardStatusField; } export function serializeStatusSkillCardSkillTypeField( val: StatusSkillCardSkillTypeField, ): SerializedData { return val; } export function deserializeStatusSkillCardSkillTypeField( val: SerializedData, ): StatusSkillCardSkillTypeField { if (val == 'service') { return val; } throw new BoxSdkError({ message: "Can't deserialize StatusSkillCardSkillTypeField", }); } export function serializeStatusSkillCardSkillField( val: StatusSkillCardSkillField, ): SerializedData { return { ['type']: serializeStatusSkillCardSkillTypeField(val.type), ['id']: val.id, }; } export function deserializeStatusSkillCardSkillField( val: SerializedData, ): StatusSkillCardSkillField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardSkillField"', }); } if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "StatusSkillCardSkillField" to be defined', }); } const type: StatusSkillCardSkillTypeField = deserializeStatusSkillCardSkillTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "StatusSkillCardSkillField" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "StatusSkillCardSkillField"', }); } const id: string = val.id; return { type: type, id: id } satisfies StatusSkillCardSkillField; } export function serializeStatusSkillCardSkillFieldInput( val: StatusSkillCardSkillFieldInput, ): SerializedData { return { ['type']: val.type == void 0 ? val.type : serializeStatusSkillCardSkillTypeField(val.type), ['id']: val.id, }; } export function deserializeStatusSkillCardSkillFieldInput( val: SerializedData, ): StatusSkillCardSkillFieldInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardSkillFieldInput"', }); } const type: undefined | StatusSkillCardSkillTypeField = val.type == void 0 ? void 0 : deserializeStatusSkillCardSkillTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "StatusSkillCardSkillFieldInput" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "StatusSkillCardSkillFieldInput"', }); } const id: string = val.id; return { type: type, id: id } satisfies StatusSkillCardSkillFieldInput; } export function serializeStatusSkillCardInvocationTypeField( val: StatusSkillCardInvocationTypeField, ): SerializedData { return val; } export function deserializeStatusSkillCardInvocationTypeField( val: SerializedData, ): StatusSkillCardInvocationTypeField { if (val == 'skill_invocation') { return val; } throw new BoxSdkError({ message: "Can't deserialize StatusSkillCardInvocationTypeField", }); } export function serializeStatusSkillCardInvocationField( val: StatusSkillCardInvocationField, ): SerializedData { return { ['type']: serializeStatusSkillCardInvocationTypeField(val.type), ['id']: val.id, }; } export function deserializeStatusSkillCardInvocationField( val: SerializedData, ): StatusSkillCardInvocationField { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardInvocationField"', }); } if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "StatusSkillCardInvocationField" to be defined', }); } const type: StatusSkillCardInvocationTypeField = deserializeStatusSkillCardInvocationTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "StatusSkillCardInvocationField" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "StatusSkillCardInvocationField"', }); } const id: string = val.id; return { type: type, id: id } satisfies StatusSkillCardInvocationField; } export function serializeStatusSkillCardInvocationFieldInput( val: StatusSkillCardInvocationFieldInput, ): SerializedData { return { ['type']: val.type == void 0 ? val.type : serializeStatusSkillCardInvocationTypeField(val.type), ['id']: val.id, }; } export function deserializeStatusSkillCardInvocationFieldInput( val: SerializedData, ): StatusSkillCardInvocationFieldInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardInvocationFieldInput"', }); } const type: undefined | StatusSkillCardInvocationTypeField = val.type == void 0 ? void 0 : deserializeStatusSkillCardInvocationTypeField(val.type); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "StatusSkillCardInvocationFieldInput" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "StatusSkillCardInvocationFieldInput"', }); } const id: string = val.id; return { type: type, id: id } satisfies StatusSkillCardInvocationFieldInput; } export function serializeStatusSkillCard(val: StatusSkillCard): SerializedData { return { ['created_at']: val.createdAt == void 0 ? val.createdAt : serializeDateTime(val.createdAt), ['type']: serializeStatusSkillCardTypeField(val.type), ['skill_card_type']: serializeStatusSkillCardSkillCardTypeField( val.skillCardType, ), ['skill_card_title']: val.skillCardTitle == void 0 ? val.skillCardTitle : serializeStatusSkillCardSkillCardTitleField(val.skillCardTitle), ['status']: serializeStatusSkillCardStatusField(val.status), ['skill']: serializeStatusSkillCardSkillField(val.skill), ['invocation']: serializeStatusSkillCardInvocationField(val.invocation), }; } export function deserializeStatusSkillCard( val: SerializedData, ): StatusSkillCard { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCard"' }); } if (!(val.created_at == void 0) && !sdIsString(val.created_at)) { throw new BoxSdkError({ message: 'Expecting string for "created_at" of type "StatusSkillCard"', }); } 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 "StatusSkillCard" to be defined', }); } const type: StatusSkillCardTypeField = deserializeStatusSkillCardTypeField( val.type, ); if (val.skill_card_type == void 0) { throw new BoxSdkError({ message: 'Expecting "skill_card_type" of type "StatusSkillCard" to be defined', }); } const skillCardType: StatusSkillCardSkillCardTypeField = deserializeStatusSkillCardSkillCardTypeField(val.skill_card_type); const skillCardTitle: undefined | StatusSkillCardSkillCardTitleField = val.skill_card_title == void 0 ? void 0 : deserializeStatusSkillCardSkillCardTitleField(val.skill_card_title); if (val.status == void 0) { throw new BoxSdkError({ message: 'Expecting "status" of type "StatusSkillCard" to be defined', }); } const status: StatusSkillCardStatusField = deserializeStatusSkillCardStatusField(val.status); if (val.skill == void 0) { throw new BoxSdkError({ message: 'Expecting "skill" of type "StatusSkillCard" to be defined', }); } const skill: StatusSkillCardSkillField = deserializeStatusSkillCardSkillField( val.skill, ); if (val.invocation == void 0) { throw new BoxSdkError({ message: 'Expecting "invocation" of type "StatusSkillCard" to be defined', }); } const invocation: StatusSkillCardInvocationField = deserializeStatusSkillCardInvocationField(val.invocation); return { createdAt: createdAt, type: type, skillCardType: skillCardType, skillCardTitle: skillCardTitle, status: status, skill: skill, invocation: invocation, } satisfies StatusSkillCard; } export function serializeStatusSkillCardInput( val: StatusSkillCardInput, ): SerializedData { return { ['created_at']: val.createdAt == void 0 ? val.createdAt : serializeDateTime(val.createdAt), ['type']: val.type == void 0 ? val.type : serializeStatusSkillCardTypeField(val.type), ['skillCardType']: val.skillCardType == void 0 ? val.skillCardType : serializeStatusSkillCardSkillCardTypeField(val.skillCardType), ['skill_card_title']: val.skillCardTitle == void 0 ? val.skillCardTitle : serializeStatusSkillCardSkillCardTitleField(val.skillCardTitle), ['status']: serializeStatusSkillCardStatusField(val.status), ['skill']: serializeStatusSkillCardSkillField(val.skill), ['invocation']: serializeStatusSkillCardInvocationField(val.invocation), }; } export function deserializeStatusSkillCardInput( val: SerializedData, ): StatusSkillCardInput { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "StatusSkillCardInput"', }); } if (!(val.created_at == void 0) && !sdIsString(val.created_at)) { throw new BoxSdkError({ message: 'Expecting string for "created_at" of type "StatusSkillCardInput"', }); } const createdAt: undefined | DateTime = val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at); const type: undefined | StatusSkillCardTypeField = val.type == void 0 ? void 0 : deserializeStatusSkillCardTypeField(val.type); const skillCardType: undefined | StatusSkillCardSkillCardTypeField = val.skillCardType == void 0 ? void 0 : deserializeStatusSkillCardSkillCardTypeField(val.skillCardType); const skillCardTitle: undefined | StatusSkillCardSkillCardTitleField = val.skill_card_title == void 0 ? void 0 : deserializeStatusSkillCardSkillCardTitleField(val.skill_card_title); if (val.status == void 0) { throw new BoxSdkError({ message: 'Expecting "status" of type "StatusSkillCardInput" to be defined', }); } const status: StatusSkillCardStatusField = deserializeStatusSkillCardStatusField(val.status); if (val.skill == void 0) { throw new BoxSdkError({ message: 'Expecting "skill" of type "StatusSkillCardInput" to be defined', }); } const skill: StatusSkillCardSkillField = deserializeStatusSkillCardSkillField( val.skill, ); if (val.invocation == void 0) { throw new BoxSdkError({ message: 'Expecting "invocation" of type "StatusSkillCardInput" to be defined', }); } const invocation: StatusSkillCardInvocationField = deserializeStatusSkillCardInvocationField(val.invocation); return { createdAt: createdAt, type: type, skillCardType: skillCardType, skillCardTitle: skillCardTitle, status: status, skill: skill, invocation: invocation, } satisfies StatusSkillCardInput; }