From 2131e98ff5530c7440ff50ec0da46cc317d0a4ae Mon Sep 17 00:00:00 2001 From: box-sdk-build <94016436+box-sdk-build@users.noreply.github.com> Date: Wed, 11 Sep 2024 11:15:50 +0200 Subject: [PATCH] fix: Fix variants in metadata query results (box/box-openapi#456) (#349) --- .codegen.json | 2 +- src/schemas/fileFull.generated.ts | 12 +++--- src/schemas/fileFullOrFolderFull.generated.ts | 40 +++++++++++++++++++ src/schemas/folderFull.generated.ts | 12 +++--- src/schemas/metadataQueryResults.generated.ts | 20 +++++----- 5 files changed, 64 insertions(+), 22 deletions(-) create mode 100644 src/schemas/fileFullOrFolderFull.generated.ts diff --git a/.codegen.json b/.codegen.json index 73767a8b..97171765 100644 --- a/.codegen.json +++ b/.codegen.json @@ -1 +1 @@ -{ "engineHash": "5b7aecf", "specHash": "915b38a", "version": "1.5.1" } +{ "engineHash": "5b7aecf", "specHash": "b21666d", "version": "1.5.1" } diff --git a/src/schemas/fileFull.generated.ts b/src/schemas/fileFull.generated.ts index cde02a6d..a14401c9 100644 --- a/src/schemas/fileFull.generated.ts +++ b/src/schemas/fileFull.generated.ts @@ -20,8 +20,8 @@ import { serializeUserMini } from './userMini.generated.js'; import { deserializeUserMini } from './userMini.generated.js'; import { serializeFileOrFolderScope } from './fileOrFolderScope.generated.js'; import { deserializeFileOrFolderScope } from './fileOrFolderScope.generated.js'; -import { serializeMetadata } from './metadata.generated.js'; -import { deserializeMetadata } from './metadata.generated.js'; +import { serializeMetadataFull } from './metadataFull.generated.js'; +import { deserializeMetadataFull } from './metadataFull.generated.js'; import { serializeDateTime } from '../internal/utils.js'; import { deserializeDateTime } from '../internal/utils.js'; import { FileBaseTypeField } from './fileBase.generated.js'; @@ -35,7 +35,7 @@ import { FileItemStatusField } from './file.generated.js'; import { File } from './file.generated.js'; import { UserMini } from './userMini.generated.js'; import { FileOrFolderScope } from './fileOrFolderScope.generated.js'; -import { Metadata } from './metadata.generated.js'; +import { MetadataFull } from './metadataFull.generated.js'; import { DateTime } from '../internal/utils.js'; import { BoxSdkError } from '../box/errors.js'; import { SerializedData } from '../serialization/json.js'; @@ -155,7 +155,7 @@ export type FileFullAllowedInviteeRolesField = export interface FileFullMetadataField { readonly extraData?: { readonly [key: string]: { - readonly [key: string]: Metadata; + readonly [key: string]: MetadataFull; }; }; } @@ -782,7 +782,7 @@ export function deserializeFileFullMetadataField( | undefined | { readonly [key: string]: { - readonly [key: string]: Metadata; + readonly [key: string]: MetadataFull; }; } = val == void 0 @@ -796,7 +796,7 @@ export function deserializeFileFullMetadataField( ? (Object.fromEntries( Object.entries(v).map(([k, v]: [string, any]) => [ k, - deserializeMetadata(v), + deserializeMetadataFull(v), ]) ) as { readonly [key: string]: any; diff --git a/src/schemas/fileFullOrFolderFull.generated.ts b/src/schemas/fileFullOrFolderFull.generated.ts new file mode 100644 index 00000000..42c40dbe --- /dev/null +++ b/src/schemas/fileFullOrFolderFull.generated.ts @@ -0,0 +1,40 @@ +import { serializeFileFull } from './fileFull.generated.js'; +import { deserializeFileFull } from './fileFull.generated.js'; +import { serializeFolderFull } from './folderFull.generated.js'; +import { deserializeFolderFull } from './folderFull.generated.js'; +import { FileFull } from './fileFull.generated.js'; +import { FolderFull } from './folderFull.generated.js'; +import { BoxSdkError } from '../box/errors.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 FileFullOrFolderFull = FileFull | FolderFull; +export function serializeFileFullOrFolderFull(val: any): SerializedData { + if (val.type == 'file') { + return serializeFileFull(val); + } + if (val.type == 'folder') { + return serializeFolderFull(val); + } + throw new BoxSdkError({ message: 'unknown type' }); +} +export function deserializeFileFullOrFolderFull( + val: SerializedData +): FileFullOrFolderFull { + if (!sdIsMap(val)) { + throw new BoxSdkError({ + message: 'Expecting a map for "FileFullOrFolderFull"', + }); + } + if (val.type == 'file') { + return deserializeFileFull(val); + } + if (val.type == 'folder') { + return deserializeFolderFull(val); + } + throw new BoxSdkError({ message: "Can't deserialize FileFullOrFolderFull" }); +} diff --git a/src/schemas/folderFull.generated.ts b/src/schemas/folderFull.generated.ts index befece89..16b94173 100644 --- a/src/schemas/folderFull.generated.ts +++ b/src/schemas/folderFull.generated.ts @@ -20,8 +20,8 @@ import { serializeItems } from './items.generated.js'; import { deserializeItems } from './items.generated.js'; import { serializeFolder } from './folder.generated.js'; import { deserializeFolder } from './folder.generated.js'; -import { serializeMetadata } from './metadata.generated.js'; -import { deserializeMetadata } from './metadata.generated.js'; +import { serializeMetadataFull } from './metadataFull.generated.js'; +import { deserializeMetadataFull } from './metadataFull.generated.js'; import { FolderBaseTypeField } from './folderBase.generated.js'; import { FolderBase } from './folderBase.generated.js'; import { FolderMini } from './folderMini.generated.js'; @@ -33,7 +33,7 @@ import { FolderFolderUploadEmailField } from './folder.generated.js'; import { FolderItemStatusField } from './folder.generated.js'; import { Items } from './items.generated.js'; import { Folder } from './folder.generated.js'; -import { Metadata } from './metadata.generated.js'; +import { MetadataFull } from './metadataFull.generated.js'; import { BoxSdkError } from '../box/errors.js'; import { SerializedData } from '../serialization/json.js'; import { sdIsEmpty } from '../serialization/json.js'; @@ -76,7 +76,7 @@ export interface FolderFullPermissionsField { export interface FolderFullMetadataField { readonly extraData?: { readonly [key: string]: { - readonly [key: string]: Metadata; + readonly [key: string]: MetadataFull; }; }; } @@ -296,7 +296,7 @@ export function deserializeFolderFullMetadataField( | undefined | { readonly [key: string]: { - readonly [key: string]: Metadata; + readonly [key: string]: MetadataFull; }; } = val == void 0 @@ -310,7 +310,7 @@ export function deserializeFolderFullMetadataField( ? (Object.fromEntries( Object.entries(v).map(([k, v]: [string, any]) => [ k, - deserializeMetadata(v), + deserializeMetadataFull(v), ]) ) as { readonly [key: string]: any; diff --git a/src/schemas/metadataQueryResults.generated.ts b/src/schemas/metadataQueryResults.generated.ts index 20260ef3..61fa920e 100644 --- a/src/schemas/metadataQueryResults.generated.ts +++ b/src/schemas/metadataQueryResults.generated.ts @@ -1,6 +1,6 @@ -import { serializeFileOrFolder } from './fileOrFolder.generated.js'; -import { deserializeFileOrFolder } from './fileOrFolder.generated.js'; -import { FileOrFolder } from './fileOrFolder.generated.js'; +import { serializeFileFullOrFolderFull } from './fileFullOrFolderFull.generated.js'; +import { deserializeFileFullOrFolderFull } from './fileFullOrFolderFull.generated.js'; +import { FileFullOrFolderFull } from './fileFullOrFolderFull.generated.js'; import { BoxSdkError } from '../box/errors.js'; import { SerializedData } from '../serialization/json.js'; import { sdIsEmpty } from '../serialization/json.js'; @@ -17,7 +17,7 @@ export interface MetadataQueryResults { * By default, this endpoint returns only the most basic info about the * items. To get additional fields for each item, including any of the * metadata, use the `fields` attribute in the query. */ - readonly entries?: readonly FileOrFolder[]; + readonly entries?: readonly FileFullOrFolderFull[]; /** * The limit that was used for this search. This will be the same as the * `limit` query parameter unless that value exceeded the maximum value @@ -34,8 +34,10 @@ export function serializeMetadataQueryResults( ['entries']: val.entries == void 0 ? void 0 - : (val.entries.map(function (item: FileOrFolder): SerializedData { - return serializeFileOrFolder(item); + : (val.entries.map(function ( + item: FileFullOrFolderFull + ): SerializedData { + return serializeFileFullOrFolderFull(item); }) as readonly any[]), ['limit']: val.limit == void 0 ? void 0 : val.limit, ['next_marker']: val.nextMarker == void 0 ? void 0 : val.nextMarker, @@ -54,12 +56,12 @@ export function deserializeMetadataQueryResults( message: 'Expecting array for "entries" of type "MetadataQueryResults"', }); } - const entries: undefined | readonly FileOrFolder[] = + const entries: undefined | readonly FileFullOrFolderFull[] = val.entries == void 0 ? void 0 : sdIsList(val.entries) - ? (val.entries.map(function (itm: SerializedData): FileOrFolder { - return deserializeFileOrFolder(itm); + ? (val.entries.map(function (itm: SerializedData): FileFullOrFolderFull { + return deserializeFileFullOrFolderFull(itm); }) as readonly any[]) : []; if (!(val.limit == void 0) && !sdIsNumber(val.limit)) {