box-node-sdk
Version:
Official SDK for Box Platform APIs
227 lines (226 loc) • 8.18 kB
text/typescript
import { serializeFileVersionBaseTypeField } from './fileVersionBase';
import { deserializeFileVersionBaseTypeField } from './fileVersionBase';
import { serializeFileVersionBase } from './fileVersionBase';
import { deserializeFileVersionBase } from './fileVersionBase';
import { serializeFileVersionMini } from './fileVersionMini';
import { deserializeFileVersionMini } from './fileVersionMini';
import { serializeUserMini } from './userMini';
import { deserializeUserMini } from './userMini';
import { serializeDateTime } from '../internal/utils';
import { deserializeDateTime } from '../internal/utils';
import { FileVersionBaseTypeField } from './fileVersionBase';
import { FileVersionBase } from './fileVersionBase';
import { FileVersionMini } from './fileVersionMini';
import { UserMini } from './userMini';
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 class FileVersion extends FileVersionMini {
readonly name?: string;
readonly size?: number;
readonly createdAt?: DateTime;
readonly modifiedAt?: DateTime;
readonly modifiedBy?: UserMini;
readonly trashedAt?: DateTime | null;
readonly trashedBy?: UserMini;
readonly restoredAt?: DateTime | null;
readonly restoredBy?: UserMini;
readonly purgedAt?: DateTime | null;
readonly uploaderDisplayName?: string;
constructor(fields: FileVersion) {
super(fields);
if (fields.name !== undefined) {
this.name = fields.name;
}
if (fields.size !== undefined) {
this.size = fields.size;
}
if (fields.createdAt !== undefined) {
this.createdAt = fields.createdAt;
}
if (fields.modifiedAt !== undefined) {
this.modifiedAt = fields.modifiedAt;
}
if (fields.modifiedBy !== undefined) {
this.modifiedBy = fields.modifiedBy;
}
if (fields.trashedAt !== undefined) {
this.trashedAt = fields.trashedAt;
}
if (fields.trashedBy !== undefined) {
this.trashedBy = fields.trashedBy;
}
if (fields.restoredAt !== undefined) {
this.restoredAt = fields.restoredAt;
}
if (fields.restoredBy !== undefined) {
this.restoredBy = fields.restoredBy;
}
if (fields.purgedAt !== undefined) {
this.purgedAt = fields.purgedAt;
}
if (fields.uploaderDisplayName !== undefined) {
this.uploaderDisplayName = fields.uploaderDisplayName;
}
}
}
export function serializeFileVersion(val: FileVersion): SerializedData {
const base: any = serializeFileVersionMini(val);
if (!sdIsMap(base)) {
throw new BoxSdkError({ message: 'Expecting a map for "FileVersion"' });
}
return {
...base,
...{
['name']: val.name,
['size']: val.size,
['created_at']:
val.createdAt == void 0
? val.createdAt
: serializeDateTime(val.createdAt),
['modified_at']:
val.modifiedAt == void 0
? val.modifiedAt
: serializeDateTime(val.modifiedAt),
['modified_by']:
val.modifiedBy == void 0
? val.modifiedBy
: serializeUserMini(val.modifiedBy),
['trashed_at']:
val.trashedAt == void 0
? val.trashedAt
: serializeDateTime(val.trashedAt),
['trashed_by']:
val.trashedBy == void 0
? val.trashedBy
: serializeUserMini(val.trashedBy),
['restored_at']:
val.restoredAt == void 0
? val.restoredAt
: serializeDateTime(val.restoredAt),
['restored_by']:
val.restoredBy == void 0
? val.restoredBy
: serializeUserMini(val.restoredBy),
['purged_at']:
val.purgedAt == void 0 ? val.purgedAt : serializeDateTime(val.purgedAt),
['uploader_display_name']: val.uploaderDisplayName,
},
};
}
export function deserializeFileVersion(val: SerializedData): FileVersion {
if (!sdIsMap(val)) {
throw new BoxSdkError({ message: 'Expecting a map for "FileVersion"' });
}
if (!(val.name == void 0) && !sdIsString(val.name)) {
throw new BoxSdkError({
message: 'Expecting string for "name" of type "FileVersion"',
});
}
const name: undefined | string = val.name == void 0 ? void 0 : val.name;
if (!(val.size == void 0) && !sdIsNumber(val.size)) {
throw new BoxSdkError({
message: 'Expecting number for "size" of type "FileVersion"',
});
}
const size: undefined | number = val.size == void 0 ? void 0 : val.size;
if (!(val.created_at == void 0) && !sdIsString(val.created_at)) {
throw new BoxSdkError({
message: 'Expecting string for "created_at" of type "FileVersion"',
});
}
const createdAt: undefined | DateTime =
val.created_at == void 0 ? void 0 : deserializeDateTime(val.created_at);
if (!(val.modified_at == void 0) && !sdIsString(val.modified_at)) {
throw new BoxSdkError({
message: 'Expecting string for "modified_at" of type "FileVersion"',
});
}
const modifiedAt: undefined | DateTime =
val.modified_at == void 0 ? void 0 : deserializeDateTime(val.modified_at);
const modifiedBy: undefined | UserMini =
val.modified_by == void 0 ? void 0 : deserializeUserMini(val.modified_by);
if (!(val.trashed_at == void 0) && !sdIsString(val.trashed_at)) {
throw new BoxSdkError({
message: 'Expecting string for "trashed_at" of type "FileVersion"',
});
}
const trashedAt: undefined | DateTime =
val.trashed_at == void 0 ? void 0 : deserializeDateTime(val.trashed_at);
const trashedBy: undefined | UserMini =
val.trashed_by == void 0 ? void 0 : deserializeUserMini(val.trashed_by);
if (!(val.restored_at == void 0) && !sdIsString(val.restored_at)) {
throw new BoxSdkError({
message: 'Expecting string for "restored_at" of type "FileVersion"',
});
}
const restoredAt: undefined | DateTime =
val.restored_at == void 0 ? void 0 : deserializeDateTime(val.restored_at);
const restoredBy: undefined | UserMini =
val.restored_by == void 0 ? void 0 : deserializeUserMini(val.restored_by);
if (!(val.purged_at == void 0) && !sdIsString(val.purged_at)) {
throw new BoxSdkError({
message: 'Expecting string for "purged_at" of type "FileVersion"',
});
}
const purgedAt: undefined | DateTime =
val.purged_at == void 0 ? void 0 : deserializeDateTime(val.purged_at);
if (
!(val.uploader_display_name == void 0) &&
!sdIsString(val.uploader_display_name)
) {
throw new BoxSdkError({
message:
'Expecting string for "uploader_display_name" of type "FileVersion"',
});
}
const uploaderDisplayName: undefined | string =
val.uploader_display_name == void 0 ? void 0 : val.uploader_display_name;
if (!(val.sha1 == void 0) && !sdIsString(val.sha1)) {
throw new BoxSdkError({
message: 'Expecting string for "sha1" of type "FileVersion"',
});
}
const sha1: undefined | string = val.sha1 == void 0 ? void 0 : val.sha1;
if (val.id == void 0) {
throw new BoxSdkError({
message: 'Expecting "id" of type "FileVersion" to be defined',
});
}
if (!sdIsString(val.id)) {
throw new BoxSdkError({
message: 'Expecting string for "id" of type "FileVersion"',
});
}
const id: string = val.id;
if (val.type == void 0) {
throw new BoxSdkError({
message: 'Expecting "type" of type "FileVersion" to be defined',
});
}
const type: FileVersionBaseTypeField = deserializeFileVersionBaseTypeField(
val.type,
);
return {
name: name,
size: size,
createdAt: createdAt,
modifiedAt: modifiedAt,
modifiedBy: modifiedBy,
trashedAt: trashedAt,
trashedBy: trashedBy,
restoredAt: restoredAt,
restoredBy: restoredBy,
purgedAt: purgedAt,
uploaderDisplayName: uploaderDisplayName,
sha1: sha1,
id: id,
type: type,
} satisfies FileVersion;
}