UNPKG

box-ui-elements

Version:
34 lines (33 loc) 2.14 kB
import API from '../../api'; import type { MetadataQuery as MetadataQueryType, MetadataQueryResponseData } from '../../common/types/metadataQueries'; import type { MetadataTemplateSchemaResponse, MetadataTemplate, MetadataFieldValue } from '../../common/types/metadata'; import type { ElementsXhrError } from '../../common/types/api'; import type { Collection } from '../../common/types/core'; type SuccessCallback = (metadataQueryCollection: Collection, metadataTemplate: MetadataTemplate) => void; type ErrorCallback = (e: ElementsXhrError) => void; export default class MetadataQueryAPIHelper { api: API; metadataQueryResponseData: MetadataQueryResponseData; metadataTemplate: MetadataTemplate; templateKey: string; templateScope: string; metadataQuery: MetadataQueryType; constructor(api: API); createJSONPatchOperations: (field: string, oldValue: MetadataFieldValue | null, newValue: MetadataFieldValue | null) => JSONPatchOperations; getMetadataQueryFields: () => string[]; flattenMetadata: (metadata?: MetadataType) => MetadataType; getDataWithTypes: (templateSchemaResponse?: MetadataTemplateSchemaResponse) => Collection; getTemplateSchemaInfo: (data: MetadataQueryResponseData) => Promise<MetadataTemplateSchemaResponse | void>; queryMetadata: () => Promise<MetadataQueryResponseData>; fetchMetadataQueryResults: (metadataQuery: MetadataQueryType, successCallback: SuccessCallback, errorCallback: ErrorCallback) => Promise<void>; updateMetadata: (file: BoxItem, field: string, oldValue: MetadataFieldValue | null, newValue: MetadataFieldValue | null, successCallback: () => void, errorCallback: ErrorCallback) => Promise<void>; /** * Verify that the metadata query has required fields and update it if necessary * For a file item, default fields included in the response are "type", "id", "etag" * * @param {MetadataQueryType} metadataQuery metadata query object * @return {MetadataQueryType} updated metadata query object with required fields */ verifyQueryFields: (metadataQuery: MetadataQueryType) => MetadataQueryType; } export {};