UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

289 lines (288 loc) 10.3 kB
import { serializeHubBaseV2025R0TypeField } from './hubBaseV2025R0'; import { deserializeHubBaseV2025R0TypeField } from './hubBaseV2025R0'; import { serializeHubBaseV2025R0 } from './hubBaseV2025R0'; import { deserializeHubBaseV2025R0 } from './hubBaseV2025R0'; import { serializeUserMiniV2025R0 } from './userMiniV2025R0'; import { deserializeUserMiniV2025R0 } from './userMiniV2025R0'; import { serializeDateTime } from '../../internal/utils'; import { deserializeDateTime } from '../../internal/utils'; import { HubBaseV2025R0TypeField } from './hubBaseV2025R0'; import { HubBaseV2025R0 } from './hubBaseV2025R0'; import { UserMiniV2025R0 } from './userMiniV2025R0'; 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 HubV2025R0CopyHubAccessField = 'all' | 'company' | 'none' | string; export class HubV2025R0 extends HubBaseV2025R0 { readonly title?: string; readonly description?: string; readonly createdAt?: DateTime; readonly updatedAt?: DateTime; readonly createdBy?: UserMiniV2025R0; readonly updatedBy?: UserMiniV2025R0; readonly viewCount?: number; readonly isAiEnabled?: boolean; readonly isCollaborationRestrictedToEnterprise?: boolean; readonly canNonOwnersInvite?: boolean; readonly canSharedLinkBeCreated?: boolean; readonly canPublicSharedLinkBeCreated?: boolean; readonly copyHubAccess?: HubV2025R0CopyHubAccessField; constructor(fields: HubV2025R0) { super(fields); if (fields.title !== undefined) { this.title = fields.title; } if (fields.description !== undefined) { this.description = fields.description; } if (fields.createdAt !== undefined) { this.createdAt = fields.createdAt; } if (fields.updatedAt !== undefined) { this.updatedAt = fields.updatedAt; } if (fields.createdBy !== undefined) { this.createdBy = fields.createdBy; } if (fields.updatedBy !== undefined) { this.updatedBy = fields.updatedBy; } if (fields.viewCount !== undefined) { this.viewCount = fields.viewCount; } if (fields.isAiEnabled !== undefined) { this.isAiEnabled = fields.isAiEnabled; } if (fields.isCollaborationRestrictedToEnterprise !== undefined) { this.isCollaborationRestrictedToEnterprise = fields.isCollaborationRestrictedToEnterprise; } if (fields.canNonOwnersInvite !== undefined) { this.canNonOwnersInvite = fields.canNonOwnersInvite; } if (fields.canSharedLinkBeCreated !== undefined) { this.canSharedLinkBeCreated = fields.canSharedLinkBeCreated; } if (fields.canPublicSharedLinkBeCreated !== undefined) { this.canPublicSharedLinkBeCreated = fields.canPublicSharedLinkBeCreated; } if (fields.copyHubAccess !== undefined) { this.copyHubAccess = fields.copyHubAccess; } } } export function serializeHubV2025R0CopyHubAccessField( val: HubV2025R0CopyHubAccessField, ): SerializedData { return val; } export function deserializeHubV2025R0CopyHubAccessField( val: SerializedData, ): HubV2025R0CopyHubAccessField { if (val == 'all') { return val; } if (val == 'company') { return val; } if (val == 'none') { return val; } if (sdIsString(val)) { return val; } throw new BoxSdkError({ message: "Can't deserialize HubV2025R0CopyHubAccessField", }); } export function serializeHubV2025R0(val: HubV2025R0): SerializedData { const base: any = serializeHubBaseV2025R0(val); if (!sdIsMap(base)) { throw new BoxSdkError({ message: 'Expecting a map for "HubV2025R0"' }); } return { ...base, ...{ ['title']: val.title, ['description']: val.description, ['created_at']: val.createdAt == void 0 ? val.createdAt : serializeDateTime(val.createdAt), ['updated_at']: val.updatedAt == void 0 ? val.updatedAt : serializeDateTime(val.updatedAt), ['created_by']: val.createdBy == void 0 ? val.createdBy : serializeUserMiniV2025R0(val.createdBy), ['updated_by']: val.updatedBy == void 0 ? val.updatedBy : serializeUserMiniV2025R0(val.updatedBy), ['view_count']: val.viewCount, ['is_ai_enabled']: val.isAiEnabled, ['is_collaboration_restricted_to_enterprise']: val.isCollaborationRestrictedToEnterprise, ['can_non_owners_invite']: val.canNonOwnersInvite, ['can_shared_link_be_created']: val.canSharedLinkBeCreated, ['can_public_shared_link_be_created']: val.canPublicSharedLinkBeCreated, ['copy_hub_access']: val.copyHubAccess == void 0 ? val.copyHubAccess : serializeHubV2025R0CopyHubAccessField(val.copyHubAccess), }, }; } export function deserializeHubV2025R0(val: SerializedData): HubV2025R0 { if (!sdIsMap(val)) { throw new BoxSdkError({ message: 'Expecting a map for "HubV2025R0"' }); } if (!(val.title == void 0) && !sdIsString(val.title)) { throw new BoxSdkError({ message: 'Expecting string for "title" of type "HubV2025R0"', }); } const title: undefined | string = val.title == void 0 ? void 0 : val.title; if (!(val.description == void 0) && !sdIsString(val.description)) { throw new BoxSdkError({ message: 'Expecting string for "description" of type "HubV2025R0"', }); } const description: undefined | string = val.description == void 0 ? void 0 : val.description; if (!(val.created_at == void 0) && !sdIsString(val.created_at)) { throw new BoxSdkError({ message: 'Expecting string for "created_at" of type "HubV2025R0"', }); } const createdAt: undefined | DateTime = val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at); if (!(val.updated_at == void 0) && !sdIsString(val.updated_at)) { throw new BoxSdkError({ message: 'Expecting string for "updated_at" of type "HubV2025R0"', }); } const updatedAt: undefined | DateTime = val.updated_at == void 0 ? void 0 : deserializeDateTime(val.updated_at); const createdBy: undefined | UserMiniV2025R0 = val.created_by == void 0 ? void 0 : deserializeUserMiniV2025R0(val.created_by); const updatedBy: undefined | UserMiniV2025R0 = val.updated_by == void 0 ? void 0 : deserializeUserMiniV2025R0(val.updated_by); if (!(val.view_count == void 0) && !sdIsNumber(val.view_count)) { throw new BoxSdkError({ message: 'Expecting number for "view_count" of type "HubV2025R0"', }); } const viewCount: undefined | number = val.view_count == void 0 ? void 0 : val.view_count; if (!(val.is_ai_enabled == void 0) && !sdIsBoolean(val.is_ai_enabled)) { throw new BoxSdkError({ message: 'Expecting boolean for "is_ai_enabled" of type "HubV2025R0"', }); } const isAiEnabled: undefined | boolean = val.is_ai_enabled == void 0 ? void 0 : val.is_ai_enabled; if ( !(val.is_collaboration_restricted_to_enterprise == void 0) && !sdIsBoolean(val.is_collaboration_restricted_to_enterprise) ) { throw new BoxSdkError({ message: 'Expecting boolean for "is_collaboration_restricted_to_enterprise" of type "HubV2025R0"', }); } const isCollaborationRestrictedToEnterprise: undefined | boolean = val.is_collaboration_restricted_to_enterprise == void 0 ? void 0 : val.is_collaboration_restricted_to_enterprise; if ( !(val.can_non_owners_invite == void 0) && !sdIsBoolean(val.can_non_owners_invite) ) { throw new BoxSdkError({ message: 'Expecting boolean for "can_non_owners_invite" of type "HubV2025R0"', }); } const canNonOwnersInvite: undefined | boolean = val.can_non_owners_invite == void 0 ? void 0 : val.can_non_owners_invite; if ( !(val.can_shared_link_be_created == void 0) && !sdIsBoolean(val.can_shared_link_be_created) ) { throw new BoxSdkError({ message: 'Expecting boolean for "can_shared_link_be_created" of type "HubV2025R0"', }); } const canSharedLinkBeCreated: undefined | boolean = val.can_shared_link_be_created == void 0 ? void 0 : val.can_shared_link_be_created; if ( !(val.can_public_shared_link_be_created == void 0) && !sdIsBoolean(val.can_public_shared_link_be_created) ) { throw new BoxSdkError({ message: 'Expecting boolean for "can_public_shared_link_be_created" of type "HubV2025R0"', }); } const canPublicSharedLinkBeCreated: undefined | boolean = val.can_public_shared_link_be_created == void 0 ? void 0 : val.can_public_shared_link_be_created; const copyHubAccess: undefined | HubV2025R0CopyHubAccessField = val.copy_hub_access == void 0 ? void 0 : deserializeHubV2025R0CopyHubAccessField(val.copy_hub_access); if (val.id == void 0) { throw new BoxSdkError({ message: 'Expecting "id" of type "HubV2025R0" to be defined', }); } if (!sdIsString(val.id)) { throw new BoxSdkError({ message: 'Expecting string for "id" of type "HubV2025R0"', }); } const id: string = val.id; if (val.type == void 0) { throw new BoxSdkError({ message: 'Expecting "type" of type "HubV2025R0" to be defined', }); } const type: HubBaseV2025R0TypeField = deserializeHubBaseV2025R0TypeField( val.type, ); return { title: title, description: description, createdAt: createdAt, updatedAt: updatedAt, createdBy: createdBy, updatedBy: updatedBy, viewCount: viewCount, isAiEnabled: isAiEnabled, isCollaborationRestrictedToEnterprise: isCollaborationRestrictedToEnterprise, canNonOwnersInvite: canNonOwnersInvite, canSharedLinkBeCreated: canSharedLinkBeCreated, canPublicSharedLinkBeCreated: canPublicSharedLinkBeCreated, copyHubAccess: copyHubAccess, id: id, type: type, } satisfies HubV2025R0; }