box-node-sdk
Version:
Official SDK for Box Platform APIs
864 lines (863 loc) • 25.5 kB
text/typescript
import { serializeWorkflowMiniTypeField } from './workflowMini';
import { deserializeWorkflowMiniTypeField } from './workflowMini';
import { serializeWorkflowMini } from './workflowMini';
import { deserializeWorkflowMini } from './workflowMini';
import { serializeUserBase } from './userBase';
import { deserializeUserBase } from './userBase';
import { serializeDateTime } from '../internal/utils';
import { deserializeDateTime } from '../internal/utils';
import { WorkflowMiniTypeField } from './workflowMini';
import { WorkflowMini } from './workflowMini';
import { UserBase } from './userBase';
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 WorkflowFlowsTypeField = 'flow';
export type WorkflowFlowsTriggerTypeField = 'trigger';
export type WorkflowFlowsTriggerTriggerTypeField =
| 'WORKFLOW_MANUAL_START'
| string;
export type WorkflowFlowsTriggerScopeTypeField = 'trigger_scope';
export type WorkflowFlowsTriggerScopeObjectTypeField = 'folder';
export interface WorkflowFlowsTriggerScopeObjectField {
/**
* The type of the object. */
readonly type?: WorkflowFlowsTriggerScopeObjectTypeField;
/**
* The id of the object. */
readonly id?: string;
readonly rawData?: SerializedData;
}
export interface WorkflowFlowsTriggerScopeField {
/**
* The trigger scope's resource type. */
readonly type?: WorkflowFlowsTriggerScopeTypeField;
/**
* Indicates the path of the condition value to check. */
readonly ref?: string;
/**
* The object the `ref` points to. */
readonly object?: WorkflowFlowsTriggerScopeObjectField;
readonly rawData?: SerializedData;
}
export interface WorkflowFlowsTriggerField {
/**
* The trigger's resource type. */
readonly type?: WorkflowFlowsTriggerTypeField;
/**
* The type of trigger selected for this flow. */
readonly triggerType?: WorkflowFlowsTriggerTriggerTypeField;
/**
* List of trigger scopes. */
readonly scope?: readonly WorkflowFlowsTriggerScopeField[];
readonly rawData?: SerializedData;
}
export type WorkflowFlowsOutcomesTypeField = 'outcome';
export type WorkflowFlowsOutcomesActionTypeField =
| 'add_metadata'
| 'assign_task'
| 'copy_file'
| 'copy_folder'
| 'create_folder'
| 'delete_file'
| 'delete_folder'
| 'lock_file'
| 'move_file'
| 'move_folder'
| 'remove_watermark_file'
| 'rename_folder'
| 'restore_folder'
| 'share_file'
| 'share_folder'
| 'unlock_file'
| 'upload_file'
| 'wait_for_task'
| 'watermark_file'
| 'go_back_to_step'
| 'apply_file_classification'
| 'apply_folder_classification'
| 'send_notification'
| string;
export type WorkflowFlowsOutcomesIfRejectedTypeField = 'outcome';
export type WorkflowFlowsOutcomesIfRejectedActionTypeField =
| 'add_metadata'
| 'assign_task'
| 'copy_file'
| 'copy_folder'
| 'create_folder'
| 'delete_file'
| 'delete_folder'
| 'lock_file'
| 'move_file'
| 'move_folder'
| 'remove_watermark_file'
| 'rename_folder'
| 'restore_folder'
| 'share_file'
| 'share_folder'
| 'unlock_file'
| 'upload_file'
| 'wait_for_task'
| 'watermark_file'
| 'go_back_to_step'
| 'apply_file_classification'
| 'apply_folder_classification'
| 'send_notification'
| string;
export interface WorkflowFlowsOutcomesIfRejectedField {
/**
* The identifier of the outcome. */
readonly id?: string;
/**
* The outcomes resource type. */
readonly type?: WorkflowFlowsOutcomesIfRejectedTypeField;
/**
* The name of the outcome. */
readonly name?: string;
readonly actionType?: WorkflowFlowsOutcomesIfRejectedActionTypeField;
readonly rawData?: SerializedData;
}
export interface WorkflowFlowsOutcomesField {
/**
* The identifier of the outcome. */
readonly id?: string;
/**
* The outcomes resource type. */
readonly type?: WorkflowFlowsOutcomesTypeField;
/**
* The name of the outcome. */
readonly name?: string;
readonly actionType?: WorkflowFlowsOutcomesActionTypeField;
/**
* If `action_type` is `assign_task` and the task is rejected, returns a
* list of outcomes to complete. */
readonly ifRejected?: readonly WorkflowFlowsOutcomesIfRejectedField[];
readonly rawData?: SerializedData;
}
export interface WorkflowFlowsField {
/**
* The identifier of the flow. */
readonly id?: string;
/**
* The flow's resource type. */
readonly type?: WorkflowFlowsTypeField;
readonly trigger?: WorkflowFlowsTriggerField;
readonly outcomes?: readonly WorkflowFlowsOutcomesField[];
/**
* When this flow was created. */
readonly createdAt?: DateTime;
readonly createdBy?: UserBase;
readonly rawData?: SerializedData;
}
export type Workflow = WorkflowMini & {
/**
* A list of flows assigned to a workflow. */
readonly flows?: readonly WorkflowFlowsField[];
};
export function serializeWorkflowFlowsTypeField(
val: WorkflowFlowsTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsTypeField(
val: SerializedData,
): WorkflowFlowsTypeField {
if (val == 'flow') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsTypeField",
});
}
export function serializeWorkflowFlowsTriggerTypeField(
val: WorkflowFlowsTriggerTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsTriggerTypeField(
val: SerializedData,
): WorkflowFlowsTriggerTypeField {
if (val == 'trigger') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsTriggerTypeField",
});
}
export function serializeWorkflowFlowsTriggerTriggerTypeField(
val: WorkflowFlowsTriggerTriggerTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsTriggerTriggerTypeField(
val: SerializedData,
): WorkflowFlowsTriggerTriggerTypeField {
if (val == 'WORKFLOW_MANUAL_START') {
return val;
}
if (sdIsString(val)) {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsTriggerTriggerTypeField",
});
}
export function serializeWorkflowFlowsTriggerScopeTypeField(
val: WorkflowFlowsTriggerScopeTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsTriggerScopeTypeField(
val: SerializedData,
): WorkflowFlowsTriggerScopeTypeField {
if (val == 'trigger_scope') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsTriggerScopeTypeField",
});
}
export function serializeWorkflowFlowsTriggerScopeObjectTypeField(
val: WorkflowFlowsTriggerScopeObjectTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsTriggerScopeObjectTypeField(
val: SerializedData,
): WorkflowFlowsTriggerScopeObjectTypeField {
if (val == 'folder') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsTriggerScopeObjectTypeField",
});
}
export function serializeWorkflowFlowsTriggerScopeObjectField(
val: WorkflowFlowsTriggerScopeObjectField,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeWorkflowFlowsTriggerScopeObjectTypeField(val.type),
['id']: val.id,
};
}
export function deserializeWorkflowFlowsTriggerScopeObjectField(
val: SerializedData,
): WorkflowFlowsTriggerScopeObjectField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsTriggerScopeObjectField"',
});
}
const type: undefined | WorkflowFlowsTriggerScopeObjectTypeField =
val.type == void 0
? void 0
: deserializeWorkflowFlowsTriggerScopeObjectTypeField(val.type);
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "WorkflowFlowsTriggerScopeObjectField"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
return { type: type, id: id } satisfies WorkflowFlowsTriggerScopeObjectField;
}
export function serializeWorkflowFlowsTriggerScopeField(
val: WorkflowFlowsTriggerScopeField,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeWorkflowFlowsTriggerScopeTypeField(val.type),
['ref']: val.ref,
['object']:
val.object == void 0
? val.object
: serializeWorkflowFlowsTriggerScopeObjectField(val.object),
};
}
export function deserializeWorkflowFlowsTriggerScopeField(
val: SerializedData,
): WorkflowFlowsTriggerScopeField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsTriggerScopeField"',
});
}
const type: undefined | WorkflowFlowsTriggerScopeTypeField =
val.type == void 0
? void 0
: deserializeWorkflowFlowsTriggerScopeTypeField(val.type);
if (!(val.ref == void 0) && !sdIsString(val.ref)) {
throw new BoxSdkError({
message:
'Expecting string for "ref" of type "WorkflowFlowsTriggerScopeField"',
});
}
const ref: undefined | string = val.ref == void 0 ? void 0 : val.ref;
const object: undefined | WorkflowFlowsTriggerScopeObjectField =
val.object == void 0
? void 0
: deserializeWorkflowFlowsTriggerScopeObjectField(val.object);
return {
type: type,
ref: ref,
object: object,
} satisfies WorkflowFlowsTriggerScopeField;
}
export function serializeWorkflowFlowsTriggerField(
val: WorkflowFlowsTriggerField,
): SerializedData {
return {
['type']:
val.type == void 0
? val.type
: serializeWorkflowFlowsTriggerTypeField(val.type),
['trigger_type']:
val.triggerType == void 0
? val.triggerType
: serializeWorkflowFlowsTriggerTriggerTypeField(val.triggerType),
['scope']:
val.scope == void 0
? val.scope
: (val.scope.map(function (
item: WorkflowFlowsTriggerScopeField,
): SerializedData {
return serializeWorkflowFlowsTriggerScopeField(item);
}) as readonly any[]),
};
}
export function deserializeWorkflowFlowsTriggerField(
val: SerializedData,
): WorkflowFlowsTriggerField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsTriggerField"',
});
}
const type: undefined | WorkflowFlowsTriggerTypeField =
val.type == void 0
? void 0
: deserializeWorkflowFlowsTriggerTypeField(val.type);
const triggerType: undefined | WorkflowFlowsTriggerTriggerTypeField =
val.trigger_type == void 0
? void 0
: deserializeWorkflowFlowsTriggerTriggerTypeField(val.trigger_type);
if (!(val.scope == void 0) && !sdIsList(val.scope)) {
throw new BoxSdkError({
message:
'Expecting array for "scope" of type "WorkflowFlowsTriggerField"',
});
}
const scope: undefined | readonly WorkflowFlowsTriggerScopeField[] =
val.scope == void 0
? void 0
: sdIsList(val.scope)
? (val.scope.map(function (
itm: SerializedData,
): WorkflowFlowsTriggerScopeField {
return deserializeWorkflowFlowsTriggerScopeField(itm);
}) as readonly any[])
: [];
return {
type: type,
triggerType: triggerType,
scope: scope,
} satisfies WorkflowFlowsTriggerField;
}
export function serializeWorkflowFlowsOutcomesTypeField(
val: WorkflowFlowsOutcomesTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsOutcomesTypeField(
val: SerializedData,
): WorkflowFlowsOutcomesTypeField {
if (val == 'outcome') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsOutcomesTypeField",
});
}
export function serializeWorkflowFlowsOutcomesActionTypeField(
val: WorkflowFlowsOutcomesActionTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsOutcomesActionTypeField(
val: SerializedData,
): WorkflowFlowsOutcomesActionTypeField {
if (val == 'add_metadata') {
return val;
}
if (val == 'assign_task') {
return val;
}
if (val == 'copy_file') {
return val;
}
if (val == 'copy_folder') {
return val;
}
if (val == 'create_folder') {
return val;
}
if (val == 'delete_file') {
return val;
}
if (val == 'delete_folder') {
return val;
}
if (val == 'lock_file') {
return val;
}
if (val == 'move_file') {
return val;
}
if (val == 'move_folder') {
return val;
}
if (val == 'remove_watermark_file') {
return val;
}
if (val == 'rename_folder') {
return val;
}
if (val == 'restore_folder') {
return val;
}
if (val == 'share_file') {
return val;
}
if (val == 'share_folder') {
return val;
}
if (val == 'unlock_file') {
return val;
}
if (val == 'upload_file') {
return val;
}
if (val == 'wait_for_task') {
return val;
}
if (val == 'watermark_file') {
return val;
}
if (val == 'go_back_to_step') {
return val;
}
if (val == 'apply_file_classification') {
return val;
}
if (val == 'apply_folder_classification') {
return val;
}
if (val == 'send_notification') {
return val;
}
if (sdIsString(val)) {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsOutcomesActionTypeField",
});
}
export function serializeWorkflowFlowsOutcomesIfRejectedTypeField(
val: WorkflowFlowsOutcomesIfRejectedTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsOutcomesIfRejectedTypeField(
val: SerializedData,
): WorkflowFlowsOutcomesIfRejectedTypeField {
if (val == 'outcome') {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsOutcomesIfRejectedTypeField",
});
}
export function serializeWorkflowFlowsOutcomesIfRejectedActionTypeField(
val: WorkflowFlowsOutcomesIfRejectedActionTypeField,
): SerializedData {
return val;
}
export function deserializeWorkflowFlowsOutcomesIfRejectedActionTypeField(
val: SerializedData,
): WorkflowFlowsOutcomesIfRejectedActionTypeField {
if (val == 'add_metadata') {
return val;
}
if (val == 'assign_task') {
return val;
}
if (val == 'copy_file') {
return val;
}
if (val == 'copy_folder') {
return val;
}
if (val == 'create_folder') {
return val;
}
if (val == 'delete_file') {
return val;
}
if (val == 'delete_folder') {
return val;
}
if (val == 'lock_file') {
return val;
}
if (val == 'move_file') {
return val;
}
if (val == 'move_folder') {
return val;
}
if (val == 'remove_watermark_file') {
return val;
}
if (val == 'rename_folder') {
return val;
}
if (val == 'restore_folder') {
return val;
}
if (val == 'share_file') {
return val;
}
if (val == 'share_folder') {
return val;
}
if (val == 'unlock_file') {
return val;
}
if (val == 'upload_file') {
return val;
}
if (val == 'wait_for_task') {
return val;
}
if (val == 'watermark_file') {
return val;
}
if (val == 'go_back_to_step') {
return val;
}
if (val == 'apply_file_classification') {
return val;
}
if (val == 'apply_folder_classification') {
return val;
}
if (val == 'send_notification') {
return val;
}
if (sdIsString(val)) {
return val;
}
throw new BoxSdkError({
message: "Can't deserialize WorkflowFlowsOutcomesIfRejectedActionTypeField",
});
}
export function serializeWorkflowFlowsOutcomesIfRejectedField(
val: WorkflowFlowsOutcomesIfRejectedField,
): SerializedData {
return {
['id']: val.id,
['type']:
val.type == void 0
? val.type
: serializeWorkflowFlowsOutcomesIfRejectedTypeField(val.type),
['name']: val.name,
['action_type']:
val.actionType == void 0
? val.actionType
: serializeWorkflowFlowsOutcomesIfRejectedActionTypeField(
val.actionType,
),
};
}
export function deserializeWorkflowFlowsOutcomesIfRejectedField(
val: SerializedData,
): WorkflowFlowsOutcomesIfRejectedField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsOutcomesIfRejectedField"',
});
}
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message:
'Expecting string for "id" of type "WorkflowFlowsOutcomesIfRejectedField"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
const type: undefined | WorkflowFlowsOutcomesIfRejectedTypeField =
val.type == void 0
? void 0
: deserializeWorkflowFlowsOutcomesIfRejectedTypeField(val.type);
if (!(val.name == void 0) && !sdIsString(val.name)) {
throw new BoxSdkError({
message:
'Expecting string for "name" of type "WorkflowFlowsOutcomesIfRejectedField"',
});
}
const name: undefined | string = val.name == void 0 ? void 0 : val.name;
const actionType: undefined | WorkflowFlowsOutcomesIfRejectedActionTypeField =
val.action_type == void 0
? void 0
: deserializeWorkflowFlowsOutcomesIfRejectedActionTypeField(
val.action_type,
);
return {
id: id,
type: type,
name: name,
actionType: actionType,
} satisfies WorkflowFlowsOutcomesIfRejectedField;
}
export function serializeWorkflowFlowsOutcomesField(
val: WorkflowFlowsOutcomesField,
): SerializedData {
return {
['id']: val.id,
['type']:
val.type == void 0
? val.type
: serializeWorkflowFlowsOutcomesTypeField(val.type),
['name']: val.name,
['action_type']:
val.actionType == void 0
? val.actionType
: serializeWorkflowFlowsOutcomesActionTypeField(val.actionType),
['if_rejected']:
val.ifRejected == void 0
? val.ifRejected
: (val.ifRejected.map(function (
item: WorkflowFlowsOutcomesIfRejectedField,
): SerializedData {
return serializeWorkflowFlowsOutcomesIfRejectedField(item);
}) as readonly any[]),
};
}
export function deserializeWorkflowFlowsOutcomesField(
val: SerializedData,
): WorkflowFlowsOutcomesField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsOutcomesField"',
});
}
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "WorkflowFlowsOutcomesField"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
const type: undefined | WorkflowFlowsOutcomesTypeField =
val.type == void 0
? void 0
: deserializeWorkflowFlowsOutcomesTypeField(val.type);
if (!(val.name == void 0) && !sdIsString(val.name)) {
throw new BoxSdkError({
message:
'Expecting string for "name" of type "WorkflowFlowsOutcomesField"',
});
}
const name: undefined | string = val.name == void 0 ? void 0 : val.name;
const actionType: undefined | WorkflowFlowsOutcomesActionTypeField =
val.action_type == void 0
? void 0
: deserializeWorkflowFlowsOutcomesActionTypeField(val.action_type);
if (!(val.if_rejected == void 0) && !sdIsList(val.if_rejected)) {
throw new BoxSdkError({
message:
'Expecting array for "if_rejected" of type "WorkflowFlowsOutcomesField"',
});
}
const ifRejected:
| undefined
| readonly WorkflowFlowsOutcomesIfRejectedField[] =
val.if_rejected == void 0
? void 0
: sdIsList(val.if_rejected)
? (val.if_rejected.map(function (
itm: SerializedData,
): WorkflowFlowsOutcomesIfRejectedField {
return deserializeWorkflowFlowsOutcomesIfRejectedField(itm);
}) as readonly any[])
: [];
return {
id: id,
type: type,
name: name,
actionType: actionType,
ifRejected: ifRejected,
} satisfies WorkflowFlowsOutcomesField;
}
export function serializeWorkflowFlowsField(
val: WorkflowFlowsField,
): SerializedData {
return {
['id']: val.id,
['type']:
val.type == void 0 ? val.type : serializeWorkflowFlowsTypeField(val.type),
['trigger']:
val.trigger == void 0
? val.trigger
: serializeWorkflowFlowsTriggerField(val.trigger),
['outcomes']:
val.outcomes == void 0
? val.outcomes
: (val.outcomes.map(function (
item: WorkflowFlowsOutcomesField,
): SerializedData {
return serializeWorkflowFlowsOutcomesField(item);
}) as readonly any[]),
['created_at']:
val.createdAt == void 0
? val.createdAt
: serializeDateTime(val.createdAt),
['created_by']:
val.createdBy == void 0
? val.createdBy
: serializeUserBase(val.createdBy),
};
}
export function deserializeWorkflowFlowsField(
val: SerializedData,
): WorkflowFlowsField {
if (!sdIsMap(val)) {
throw new BoxSdkError({
message: 'Expecting a map for "WorkflowFlowsField"',
});
}
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "WorkflowFlowsField"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
const type: undefined | WorkflowFlowsTypeField =
val.type == void 0 ? void 0 : deserializeWorkflowFlowsTypeField(val.type);
const trigger: undefined | WorkflowFlowsTriggerField =
val.trigger == void 0
? void 0
: deserializeWorkflowFlowsTriggerField(val.trigger);
if (!(val.outcomes == void 0) && !sdIsList(val.outcomes)) {
throw new BoxSdkError({
message: 'Expecting array for "outcomes" of type "WorkflowFlowsField"',
});
}
const outcomes: undefined | readonly WorkflowFlowsOutcomesField[] =
val.outcomes == void 0
? void 0
: sdIsList(val.outcomes)
? (val.outcomes.map(function (
itm: SerializedData,
): WorkflowFlowsOutcomesField {
return deserializeWorkflowFlowsOutcomesField(itm);
}) as readonly any[])
: [];
if (!(val.created_at == void 0) && !sdIsString(val.created_at)) {
throw new BoxSdkError({
message: 'Expecting string for "created_at" of type "WorkflowFlowsField"',
});
}
const createdAt: undefined | DateTime =
val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at);
const createdBy: undefined | UserBase =
val.created_by == void 0 ? void 0 : deserializeUserBase(val.created_by);
return {
id: id,
type: type,
trigger: trigger,
outcomes: outcomes,
createdAt: createdAt,
createdBy: createdBy,
} satisfies WorkflowFlowsField;
}
export function serializeWorkflow(val: Workflow): SerializedData {
const base: any = serializeWorkflowMini(val);
if (!sdIsMap(base)) {
throw new BoxSdkError({ message: 'Expecting a map for "Workflow"' });
}
return {
...base,
...{
['flows']:
val.flows == void 0
? val.flows
: (val.flows.map(function (item: WorkflowFlowsField): SerializedData {
return serializeWorkflowFlowsField(item);
}) as readonly any[]),
},
};
}
export function deserializeWorkflow(val: SerializedData): Workflow {
if (!sdIsMap(val)) {
throw new BoxSdkError({ message: 'Expecting a map for "Workflow"' });
}
if (!(val.flows == void 0) && !sdIsList(val.flows)) {
throw new BoxSdkError({
message: 'Expecting array for "flows" of type "Workflow"',
});
}
const flows: undefined | readonly WorkflowFlowsField[] =
val.flows == void 0
? void 0
: sdIsList(val.flows)
? (val.flows.map(function (itm: SerializedData): WorkflowFlowsField {
return deserializeWorkflowFlowsField(itm);
}) as readonly any[])
: [];
if (!(val.id == void 0) && !sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "Workflow"',
});
}
const id: undefined | string = val.id == void 0 ? void 0 : val.id;
const type: undefined | WorkflowMiniTypeField =
val.type == void 0 ? void 0 : deserializeWorkflowMiniTypeField(val.type);
if (!(val.name == void 0) && !sdIsString(val.name)) {
throw new BoxSdkError({
message: 'Expecting string for "name" of type "Workflow"',
});
}
const name: undefined | string = val.name == void 0 ? void 0 : val.name;
if (!(val.description == void 0) && !sdIsString(val.description)) {
throw new BoxSdkError({
message: 'Expecting string for "description" of type "Workflow"',
});
}
const description: undefined | string =
val.description == void 0 ? void 0 : val.description;
if (!(val.is_enabled == void 0) && !sdIsBoolean(val.is_enabled)) {
throw new BoxSdkError({
message: 'Expecting boolean for "is_enabled" of type "Workflow"',
});
}
const isEnabled: undefined | boolean =
val.is_enabled == void 0 ? void 0 : val.is_enabled;
return {
flows: flows,
id: id,
type: type,
name: name,
description: description,
isEnabled: isEnabled,
} satisfies Workflow;
}