box-typescript-sdk-gen
Version:
Official Box TypeScript Generated SDK
664 lines (663 loc) • 21.4 kB
text/typescript
import { serializeDateTime } from '../internal/utils.js';
import { deserializeDateTime } from '../internal/utils.js';
import { BoxSdkError } from '../box/errors.js';
import { DateTime } from '../internal/utils.js';
import { SerializedData } from '../serialization/json.js';
import { sdIsEmpty } from '../serialization/json.js';
import { sdIsBoolean } from '../serialization/json.js';
import { sdIsNumber } from '../serialization/json.js';
import { sdIsString } from '../serialization/json.js';
import { sdIsList } from '../serialization/json.js';
import { sdIsMap } from '../serialization/json.js';
export type KeywordSkillCardTypeField = 'skill_card';
export type KeywordSkillCardSkillCardTypeField = 'keyword';
export interface KeywordSkillCardSkillCardTitleField {
/**
* 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 KeywordSkillCardSkillTypeField = 'service';
export class KeywordSkillCardSkillField {
/**
* `service` */
readonly type: KeywordSkillCardSkillTypeField =
'service' as KeywordSkillCardSkillTypeField;
/**
* A custom identifier that represent the service that
* applied this metadata. */
readonly id!: string;
readonly rawData?: SerializedData;
constructor(
fields: Omit<KeywordSkillCardSkillField, 'type'> &
Partial<Pick<KeywordSkillCardSkillField, '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 KeywordSkillCardSkillFieldInput {
/**
* `service` */
readonly type?: KeywordSkillCardSkillTypeField;
/**
* A custom identifier that represent the service that
* applied this metadata. */
readonly id: string;
readonly rawData?: SerializedData;
}
export type KeywordSkillCardInvocationTypeField = 'skill_invocation';
export class KeywordSkillCardInvocationField {
/**
* `skill_invocation` */
readonly type: KeywordSkillCardInvocationTypeField =
'skill_invocation' as KeywordSkillCardInvocationTypeField;
/**
* 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<KeywordSkillCardInvocationField, 'type'> &
Partial<Pick<KeywordSkillCardInvocationField, '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 KeywordSkillCardInvocationFieldInput {
/**
* `skill_invocation` */
readonly type?: KeywordSkillCardInvocationTypeField;
/**
* 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 KeywordSkillCardEntriesField {
/**
* The text of the keyword. */
readonly text?: string;
readonly rawData?: SerializedData;
}
export class KeywordSkillCard {
/**
* The optional date and time this card was created at. */
readonly createdAt?: DateTime;
/**
* `skill_card` */
readonly type: KeywordSkillCardTypeField =
'skill_card' as KeywordSkillCardTypeField;
/**
* `keyword` */
readonly skillCardType: KeywordSkillCardSkillCardTypeField =
'keyword' as KeywordSkillCardSkillCardTypeField;
/**
* The title of the card. */
readonly skillCardTitle?: KeywordSkillCardSkillCardTitleField;
/**
* The service that applied this metadata. */
readonly skill!: KeywordSkillCardSkillField;
/**
* The invocation of this service, used to track
* which instance of a service applied the metadata. */
readonly invocation!: KeywordSkillCardInvocationField;
/**
* An list of entries in the metadata card. */
readonly entries!: readonly KeywordSkillCardEntriesField[];
readonly rawData?: SerializedData;
constructor(
fields: Omit<KeywordSkillCard, 'type' | 'skillCardType'> &
Partial<Pick<KeywordSkillCard, '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.entries !== undefined) {
this.entries = fields.entries;
}
if (fields.rawData !== undefined) {
this.rawData = fields.rawData;
}
}
}
export interface KeywordSkillCardInput {
/**
* The optional date and time this card was created at. */
readonly createdAt?: DateTime;
/**
* `skill_card` */
readonly type?: KeywordSkillCardTypeField;
/**
* `keyword` */
readonly skillCardType?: KeywordSkillCardSkillCardTypeField;
/**
* The title of the card. */
readonly skillCardTitle?: KeywordSkillCardSkillCardTitleField;
/**
* The service that applied this metadata. */
readonly skill: KeywordSkillCardSkillField;
/**
* The invocation of this service, used to track
* which instance of a service applied the metadata. */
readonly invocation: KeywordSkillCardInvocationField;
/**
* An list of entries in the metadata card. */
readonly entries: readonly KeywordSkillCardEntriesField[];
readonly rawData?: SerializedData;
}
export function serializeKeywordSkillCardTypeField(
val: KeywordSkillCardTypeField,
): SerializedData {
return val;
}
export function deserializeKeywordSkillCardTypeField(
val: SerializedData,
): KeywordSkillCardTypeField {
if (val == 'skill_card') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize KeywordSkillCardTypeField",
});
}
export function serializeKeywordSkillCardSkillCardTypeField(
val: KeywordSkillCardSkillCardTypeField,
): SerializedData {
return val;
}
export function deserializeKeywordSkillCardSkillCardTypeField(
val: SerializedData,
): KeywordSkillCardSkillCardTypeField {
if (val == 'keyword') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize KeywordSkillCardSkillCardTypeField",
});
}
export function serializeKeywordSkillCardSkillCardTitleField(
val: KeywordSkillCardSkillCardTitleField,
): SerializedData {
return { ['code']: val.code, ['message']: val.message };
}
export function deserializeKeywordSkillCardSkillCardTitleField(
val: SerializedData,
): KeywordSkillCardSkillCardTitleField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardSkillCardTitleField"',
});
}
if (!(val.code == void 0) && !sdIsString(val.code)) {
throw new BoxSdkError({
message:
'Expecting string for "code" of type "KeywordSkillCardSkillCardTitleField"',
});
}
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 "KeywordSkillCardSkillCardTitleField" to be defined',
});
}
if (!sdIsString(val.message)) {
throw new BoxSdkError({
message:
'Expecting string for "message" of type "KeywordSkillCardSkillCardTitleField"',
});
}
const message: string = val.message;
return {
code: code,
message: message,
} satisfies KeywordSkillCardSkillCardTitleField;
}
export function serializeKeywordSkillCardSkillTypeField(
val: KeywordSkillCardSkillTypeField,
): SerializedData {
return val;
}
export function deserializeKeywordSkillCardSkillTypeField(
val: SerializedData,
): KeywordSkillCardSkillTypeField {
if (val == 'service') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize KeywordSkillCardSkillTypeField",
});
}
export function serializeKeywordSkillCardSkillField(
val: KeywordSkillCardSkillField,
): SerializedData {
return {
['type']: serializeKeywordSkillCardSkillTypeField(val.type),
['id']: val.id,
};
}
export function deserializeKeywordSkillCardSkillField(
val: SerializedData,
): KeywordSkillCardSkillField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardSkillField"',
});
}
if (val.type == void 0) {
throw new BoxSdkError({
message:
'Expecting "type" of type "KeywordSkillCardSkillField" to be defined',
});
}
const type: KeywordSkillCardSkillTypeField =
deserializeKeywordSkillCardSkillTypeField(val.type);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "KeywordSkillCardSkillField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "KeywordSkillCardSkillField"',
});
}
const id: string = val.id;
return { type: type, id: id } satisfies KeywordSkillCardSkillField;
}
export function serializeKeywordSkillCardSkillFieldInput(
val: KeywordSkillCardSkillFieldInput,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeKeywordSkillCardSkillTypeField(val.type),
['id']: val.id,
};
}
export function deserializeKeywordSkillCardSkillFieldInput(
val: SerializedData,
): KeywordSkillCardSkillFieldInput {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardSkillFieldInput"',
});
}
const type: undefined | KeywordSkillCardSkillTypeField =
val.type == void 0
? void 0
: deserializeKeywordSkillCardSkillTypeField(val.type);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "KeywordSkillCardSkillFieldInput" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "KeywordSkillCardSkillFieldInput"',
});
}
const id: string = val.id;
return { type: type, id: id } satisfies KeywordSkillCardSkillFieldInput;
}
export function serializeKeywordSkillCardInvocationTypeField(
val: KeywordSkillCardInvocationTypeField,
): SerializedData {
return val;
}
export function deserializeKeywordSkillCardInvocationTypeField(
val: SerializedData,
): KeywordSkillCardInvocationTypeField {
if (val == 'skill_invocation') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize KeywordSkillCardInvocationTypeField",
});
}
export function serializeKeywordSkillCardInvocationField(
val: KeywordSkillCardInvocationField,
): SerializedData {
return {
['type']: serializeKeywordSkillCardInvocationTypeField(val.type),
['id']: val.id,
};
}
export function deserializeKeywordSkillCardInvocationField(
val: SerializedData,
): KeywordSkillCardInvocationField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardInvocationField"',
});
}
if (val.type == void 0) {
throw new BoxSdkError({
message:
'Expecting "type" of type "KeywordSkillCardInvocationField" to be defined',
});
}
const type: KeywordSkillCardInvocationTypeField =
deserializeKeywordSkillCardInvocationTypeField(val.type);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "KeywordSkillCardInvocationField" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "KeywordSkillCardInvocationField"',
});
}
const id: string = val.id;
return { type: type, id: id } satisfies KeywordSkillCardInvocationField;
}
export function serializeKeywordSkillCardInvocationFieldInput(
val: KeywordSkillCardInvocationFieldInput,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeKeywordSkillCardInvocationTypeField(val.type),
['id']: val.id,
};
}
export function deserializeKeywordSkillCardInvocationFieldInput(
val: SerializedData,
): KeywordSkillCardInvocationFieldInput {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardInvocationFieldInput"',
});
}
const type: undefined | KeywordSkillCardInvocationTypeField =
val.type == void 0
? void 0
: deserializeKeywordSkillCardInvocationTypeField(val.type);
if (val.id == void 0) {
throw new BoxSdkError({
message:
'Expecting "id" of type "KeywordSkillCardInvocationFieldInput" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "KeywordSkillCardInvocationFieldInput"',
});
}
const id: string = val.id;
return { type: type, id: id } satisfies KeywordSkillCardInvocationFieldInput;
}
export function serializeKeywordSkillCardEntriesField(
val: KeywordSkillCardEntriesField,
): SerializedData {
return { ['text']: val.text };
}
export function deserializeKeywordSkillCardEntriesField(
val: SerializedData,
): KeywordSkillCardEntriesField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardEntriesField"',
});
}
if (!(val.text == void 0) && !sdIsString(val.text)) {
throw new BoxSdkError({
message:
'Expecting string for "text" of type "KeywordSkillCardEntriesField"',
});
}
const text: undefined | string = val.text == void 0 ? void 0 : val.text;
return { text: text } satisfies KeywordSkillCardEntriesField;
}
export function serializeKeywordSkillCard(
val: KeywordSkillCard,
): SerializedData {
return {
['created_at']:
val.createdAt == void 0
? val.createdAt
: serializeDateTime(val.createdAt),
['type']: serializeKeywordSkillCardTypeField(val.type),
['skill_card_type']: serializeKeywordSkillCardSkillCardTypeField(
val.skillCardType,
),
['skill_card_title']:
val.skillCardTitle == void 0
? val.skillCardTitle
: serializeKeywordSkillCardSkillCardTitleField(val.skillCardTitle),
['skill']: serializeKeywordSkillCardSkillField(val.skill),
['invocation']: serializeKeywordSkillCardInvocationField(val.invocation),
['entries']: val.entries.map(function (
item: KeywordSkillCardEntriesField,
): SerializedData {
return serializeKeywordSkillCardEntriesField(item);
}) as readonly any[],
};
}
export function deserializeKeywordSkillCard(
val: SerializedData,
): KeywordSkillCard {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCard"',
});
}
if (!(val.created_at == void 0) && !sdIsString(val.created_at)) {
throw new BoxSdkError({
message: 'Expecting string for "created_at" of type "KeywordSkillCard"',
});
}
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 "KeywordSkillCard" to be defined',
});
}
const type: KeywordSkillCardTypeField = deserializeKeywordSkillCardTypeField(
val.type,
);
if (val.skill_card_type == void 0) {
throw new BoxSdkError({
message:
'Expecting "skill_card_type" of type "KeywordSkillCard" to be defined',
});
}
const skillCardType: KeywordSkillCardSkillCardTypeField =
deserializeKeywordSkillCardSkillCardTypeField(val.skill_card_type);
const skillCardTitle: undefined | KeywordSkillCardSkillCardTitleField =
val.skill_card_title == void 0
? void 0
: deserializeKeywordSkillCardSkillCardTitleField(val.skill_card_title);
if (val.skill == void 0) {
throw new BoxSdkError({
message: 'Expecting "skill" of type "KeywordSkillCard" to be defined',
});
}
const skill: KeywordSkillCardSkillField =
deserializeKeywordSkillCardSkillField(val.skill);
if (val.invocation == void 0) {
throw new BoxSdkError({
message:
'Expecting "invocation" of type "KeywordSkillCard" to be defined',
});
}
const invocation: KeywordSkillCardInvocationField =
deserializeKeywordSkillCardInvocationField(val.invocation);
if (val.entries == void 0) {
throw new BoxSdkError({
message: 'Expecting "entries" of type "KeywordSkillCard" to be defined',
});
}
if (!sdIsList(val.entries)) {
throw new BoxSdkError({
message: 'Expecting array for "entries" of type "KeywordSkillCard"',
});
}
const entries: readonly KeywordSkillCardEntriesField[] = sdIsList(val.entries)
? (val.entries.map(function (
itm: SerializedData,
): KeywordSkillCardEntriesField {
return deserializeKeywordSkillCardEntriesField(itm);
}) as readonly any[])
: [];
return {
createdAt: createdAt,
type: type,
skillCardType: skillCardType,
skillCardTitle: skillCardTitle,
skill: skill,
invocation: invocation,
entries: entries,
} satisfies KeywordSkillCard;
}
export function serializeKeywordSkillCardInput(
val: KeywordSkillCardInput,
): SerializedData {
return {
['created_at']:
val.createdAt == void 0
? val.createdAt
: serializeDateTime(val.createdAt),
['type']:
val.type == void 0
? val.type
: serializeKeywordSkillCardTypeField(val.type),
['skillCardType']:
val.skillCardType == void 0
? val.skillCardType
: serializeKeywordSkillCardSkillCardTypeField(val.skillCardType),
['skill_card_title']:
val.skillCardTitle == void 0
? val.skillCardTitle
: serializeKeywordSkillCardSkillCardTitleField(val.skillCardTitle),
['skill']: serializeKeywordSkillCardSkillField(val.skill),
['invocation']: serializeKeywordSkillCardInvocationField(val.invocation),
['entries']: val.entries.map(function (
item: KeywordSkillCardEntriesField,
): SerializedData {
return serializeKeywordSkillCardEntriesField(item);
}) as readonly any[],
};
}
export function deserializeKeywordSkillCardInput(
val: SerializedData,
): KeywordSkillCardInput {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "KeywordSkillCardInput"',
});
}
if (!(val.created_at == void 0) && !sdIsString(val.created_at)) {
throw new BoxSdkError({
message:
'Expecting string for "created_at" of type "KeywordSkillCardInput"',
});
}
const createdAt: undefined | DateTime =
val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at);
const type: undefined | KeywordSkillCardTypeField =
val.type == void 0
? void 0
: deserializeKeywordSkillCardTypeField(val.type);
const skillCardType: undefined | KeywordSkillCardSkillCardTypeField =
val.skillCardType == void 0
? void 0
: deserializeKeywordSkillCardSkillCardTypeField(val.skillCardType);
const skillCardTitle: undefined | KeywordSkillCardSkillCardTitleField =
val.skill_card_title == void 0
? void 0
: deserializeKeywordSkillCardSkillCardTitleField(val.skill_card_title);
if (val.skill == void 0) {
throw new BoxSdkError({
message:
'Expecting "skill" of type "KeywordSkillCardInput" to be defined',
});
}
const skill: KeywordSkillCardSkillField =
deserializeKeywordSkillCardSkillField(val.skill);
if (val.invocation == void 0) {
throw new BoxSdkError({
message:
'Expecting "invocation" of type "KeywordSkillCardInput" to be defined',
});
}
const invocation: KeywordSkillCardInvocationField =
deserializeKeywordSkillCardInvocationField(val.invocation);
if (val.entries == void 0) {
throw new BoxSdkError({
message:
'Expecting "entries" of type "KeywordSkillCardInput" to be defined',
});
}
if (!sdIsList(val.entries)) {
throw new BoxSdkError({
message: 'Expecting array for "entries" of type "KeywordSkillCardInput"',
});
}
const entries: readonly KeywordSkillCardEntriesField[] = sdIsList(val.entries)
? (val.entries.map(function (
itm: SerializedData,
): KeywordSkillCardEntriesField {
return deserializeKeywordSkillCardEntriesField(itm);
}) as readonly any[])
: [];
return {
createdAt: createdAt,
type: type,
skillCardType: skillCardType,
skillCardTitle: skillCardTitle,
skill: skill,
invocation: invocation,
entries: entries,
} satisfies KeywordSkillCardInput;
}