UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

248 lines (247 loc) 6.76 kB
import { BoxSdkError } from '../../box/errors'; 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 ClientErrorV2025R0TypeField = 'error'; export type ClientErrorV2025R0CodeField = | 'created' | 'accepted' | 'no_content' | 'redirect' | 'not_modified' | 'bad_request' | 'unauthorized' | 'forbidden' | 'not_found' | 'method_not_allowed' | 'conflict' | 'precondition_failed' | 'too_many_requests' | 'internal_server_error' | 'unavailable' | 'item_name_invalid' | 'insufficient_scope' | string; export interface ClientErrorV2025R0 { /** * The value will always be `error`. */ readonly type?: ClientErrorV2025R0TypeField; /** * The HTTP status of the response. */ readonly status?: number; /** * A Box-specific error code. */ readonly code?: ClientErrorV2025R0CodeField; /** * A short message describing the error. */ readonly message?: string; /** * A free-form object that contains additional context * about the error. The possible fields are defined on * a per-endpoint basis. `message` is only one example. */ readonly contextInfo?: { readonly [key: string]: any; } | null; /** * A URL that links to more information about why this error occurred. */ readonly helpUrl?: string; /** * A unique identifier for this response, which can be used * when contacting Box support. */ readonly requestId?: string; readonly rawData?: SerializedData; } export function serializeClientErrorV2025R0TypeField( val: ClientErrorV2025R0TypeField, ): SerializedData { return val; } export function deserializeClientErrorV2025R0TypeField( val: SerializedData, ): ClientErrorV2025R0TypeField { if (val == 'error') { return val; } throw new BoxSdkError({ message: "Can't deserialize ClientErrorV2025R0TypeField", }); } export function serializeClientErrorV2025R0CodeField( val: ClientErrorV2025R0CodeField, ): SerializedData { return val; } export function deserializeClientErrorV2025R0CodeField( val: SerializedData, ): ClientErrorV2025R0CodeField { if (val == 'created') { return val; } if (val == 'accepted') { return val; } if (val == 'no_content') { return val; } if (val == 'redirect') { return val; } if (val == 'not_modified') { return val; } if (val == 'bad_request') { return val; } if (val == 'unauthorized') { return val; } if (val == 'forbidden') { return val; } if (val == 'not_found') { return val; } if (val == 'method_not_allowed') { return val; } if (val == 'conflict') { return val; } if (val == 'precondition_failed') { return val; } if (val == 'too_many_requests') { return val; } if (val == 'internal_server_error') { return val; } if (val == 'unavailable') { return val; } if (val == 'item_name_invalid') { return val; } if (val == 'insufficient_scope') { return val; } if (sdIsString(val)) { return val; } throw new BoxSdkError({ message: "Can't deserialize ClientErrorV2025R0CodeField", }); } export function serializeClientErrorV2025R0( val: ClientErrorV2025R0, ): SerializedData { return { ['type']: val.type == void 0 ? val.type : serializeClientErrorV2025R0TypeField(val.type), ['status']: val.status, ['code']: val.code == void 0 ? val.code : serializeClientErrorV2025R0CodeField(val.code), ['message']: val.message, ['context_info']: val.contextInfo == void 0 ? val.contextInfo : (Object.fromEntries( Object.entries(val.contextInfo).map(([k, v]: [string, any]) => [ k, (function (v: any): any { return v; })(v), ]), ) as { readonly [key: string]: any; }), ['help_url']: val.helpUrl, ['request_id']: val.requestId, }; } export function deserializeClientErrorV2025R0( val: SerializedData, ): ClientErrorV2025R0 { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "ClientErrorV2025R0"', }); } const type: undefined | ClientErrorV2025R0TypeField = val.type == void 0 ? void 0 : deserializeClientErrorV2025R0TypeField(val.type); if (!(val.status == void 0) && !sdIsNumber(val.status)) { throw new BoxSdkError({ message: 'Expecting number for "status" of type "ClientErrorV2025R0"', }); } const status: undefined | number = val.status == void 0 ? void 0 : val.status; const code: undefined | ClientErrorV2025R0CodeField = val.code == void 0 ? void 0 : deserializeClientErrorV2025R0CodeField(val.code); if (!(val.message == void 0) && !sdIsString(val.message)) { throw new BoxSdkError({ message: 'Expecting string for "message" of type "ClientErrorV2025R0"', }); } const message: undefined | string = val.message == void 0 ? void 0 : val.message; if (!(val.context_info == void 0) && !sdIsMap(val.context_info)) { throw new BoxSdkError({ message: 'Expecting object for "context_info" of type "ClientErrorV2025R0"', }); } const contextInfo: | undefined | { readonly [key: string]: any; } = val.context_info == void 0 ? void 0 : sdIsMap(val.context_info) ? (Object.fromEntries( Object.entries(val.context_info).map(([k, v]: [string, any]) => [ k, (function (v: any): any { return v; })(v), ]), ) as { readonly [key: string]: any; }) : {}; if (!(val.help_url == void 0) && !sdIsString(val.help_url)) { throw new BoxSdkError({ message: 'Expecting string for "help_url" of type "ClientErrorV2025R0"', }); } const helpUrl: undefined | string = val.help_url == void 0 ? void 0 : val.help_url; if (!(val.request_id == void 0) && !sdIsString(val.request_id)) { throw new BoxSdkError({ message: 'Expecting string for "request_id" of type "ClientErrorV2025R0"', }); } const requestId: undefined | string = val.request_id == void 0 ? void 0 : val.request_id; return { type: type, status: status, code: code, message: message, contextInfo: contextInfo, helpUrl: helpUrl, requestId: requestId, } satisfies ClientErrorV2025R0; }