UNPKG

acquia-dam-sdk

Version:
230 lines (227 loc) 12.4 kB
import { ListCategoriesResult } from '../categories/responses.js'; import { ListCollectionsParams } from '../collections/requests.js'; import { ListCollectionsResult } from '../collections/responses.js'; import { ApiClient } from '../../client/index.js'; import { CategoriesParams, CollectionsParams, CompleteChunkedUploadParams, CreateAssetParams, IdentifyAsset, GetAssetParams, RegisterIntegrationLinkParams, RenameAssetParams, SearchAssetsParams, UpdateMetadataParams, UpdateMetadataTypeParams, UpdateSecurityParams, UploadAlternatePreviewParams, UploadChunkParams } from './requests.js'; import { CompleteChunkedUploadResult, CreateAssetResult, GetAssetResult, GetMetadataResult, GetSecurityResult, ListAssetGroupsResult, ListIntegrationLinksResult, ListUploadProfilesResult, ListFileFormatsResult, ListVersionsResult, RegisterIntegrationLinkResult, SearchAssetsResult, StartChunkedUploadResult, UploadChunkResult } from './responses.js'; declare class AssetsApi { private _client; /** * Create an instance of the AssetsApi class. * * Asset objects represent stored files in the DAM system. The API allows you to create, update, and delete Assets. You can search for assets, matching specific search criteria or load an individual asset by unique ID. * * @param client Provide an instance of ApiClient. * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets} * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Assets} */ constructor(client: ApiClient); /** * Add an asset to one or more categories. * For bulk handling of assets, use the CategoriesApi. * @param params Information about the request * @returns Promise containing no data * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Categories/operation/updateCategoryAssets} */ addAssetToCategories(params: CategoriesParams): Promise<void>; /** * Add an asset to one or more collections. * For bulk handling of assets, use the CollectionsApi. * @param params Information about the request * @returns Promise containing no data * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Collections/operation/addOrRemoveAssetsFromCollections} */ addAssetToCollections(params: CollectionsParams): Promise<void>; /** * Call this after all file chunks have uploaded to signal the completion of a chunked upload session. * After calling this endpoint, provide the `file_id` to the `create` function to create a new asset. * @param params Information about the request * @returns Promise containing the `file_id` * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/uploadChunk3} */ completeChunkedUpload(params: CompleteChunkedUploadParams): Promise<CompleteChunkedUploadResult>; /** * Create a new asset using a URL, file data, or a `file_id` provided by a chunked upload. * For larger files, use a chunked upload. * @param params Information about the request * @returns Promise containing the asset's `id` * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/uploadAsset} */ createAsset(params: CreateAssetParams): Promise<CreateAssetResult>; /** * Remove an alternate preview from an asset. * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/alternatePreviewDelete} */ deleteAlternatePreview(params: IdentifyAsset): Promise<void>; /** * Send an asset to the Pending Delete queue. * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetDelete} */ deleteAsset(params: IdentifyAsset): Promise<void>; /** * Find an asset's UUID by searching via filename or embed ID (external ID). * @param params Information about the request * @returns Promise containing the asset's `id` */ findAssetId(params: IdentifyAsset): Promise<string>; /** * Retrieve information about an individual asset. * @param params Information about the request * @returns Promise containing the asset data * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetRetrieveById} * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetRetrieveByIdAndVersion} */ getAsset(params: GetAssetParams): Promise<GetAssetResult>; /** * Metadata subresource simply returns the `metadata` property of the asset. * The object structure returned by search endpoint and this method are identical. * All assigned fields for the asset will be included. Empty fields are repesented with an empty array. * @param params Information about the request * @returns Promise containing the asset's metadata only * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetMetadataRetrieve} */ getMetadata(params: IdentifyAsset): Promise<GetMetadataResult>; /** * Security subresource simply returns the `security` property of the asset. * The object structure returned by search endpoint and this method are identical. * @param params Information about the request * @returns Promise containing the asset's security only * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetRetrieveSecurity} */ getSecurity(params: IdentifyAsset): Promise<GetSecurityResult>; /** * Get a list of Asset Groups that the calling User has permission to view. * @returns Promise containing a list of security groups * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetGroupsGet} */ listAssetGroups(): Promise<ListAssetGroupsResult>; /** * Retrieve a list of child categories. * @param categoryPath Optional parent category name. If omitted, the top-level categories will be returned. * @returns Promise containing a list of asset categories * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Categories/operation/listAssetCategories} */ listCategories(categoryPath?: string): Promise<ListCategoriesResult>; /** * Retrieve a list of collections. * @param params Information about the request * @returns Promise containing a list of collections * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Collections/operation/listCollections} */ listCollections(params: ListCollectionsParams): Promise<ListCollectionsResult>; /** * Retrieve a list of integration links * @returns a Promise containing a list of integration links * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Integration-Links/operation/getIntegrationLinks} */ listIntegrationLinks(): Promise<ListIntegrationLinksResult>; /** * Retrieve a list of upload profiles. * @returns a Promise containing a list of Upload Profiles * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/uploadAssetProfilesList} */ listUploadProfiles(): Promise<ListUploadProfilesResult>; /** * Retrieve a list of recognized file formats. * @returns a Promise containing a list of file formats * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/File-Formats/operation/getFileFormats} */ listFileFormats(): Promise<ListFileFormatsResult>; /** * Retrieve a list of asset versions. * @param params Information about the request * @returns Promise containing a list of asset versions * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Assets/operation/getAssetVersions} */ listVersions(params: IdentifyAsset): Promise<ListVersionsResult>; /** * Remove an asset from one or more categories. * For bulk handling of assets, use the CategoriesApi. * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Categories/operation/updateCategoryAssets} */ removeAssetFromCatgories(params: CategoriesParams): Promise<void>; /** * Remove an asset from one or more collections. * For bulk handling of assets, use the CollectionsApi. * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Collections/operation/addOrRemoveAssetsFromCollections} */ removeAssetFromCollections(params: CollectionsParams): Promise<void>; /** * Remove an integration link. * @param uuid The Integration Link UUID * @returns a Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Integration-Links/operation/removeLink} */ removeIntegrationLink(uuid: string): Promise<void>; /** * Register a new Integration Link. * @param params Information about the request * @returns a Promise containing information about the created Integration Link * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Integration-Links/operation/createLink} */ registerIntegrationLink(params: RegisterIntegrationLinkParams): Promise<RegisterIntegrationLinkResult>; /** * Change an asset's `filename` * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetRename} */ renameAsset(params: RenameAssetParams): Promise<void>; /** * Search for a list of assets via a query * @param params Information about the request * @returns Promise containing a list of assets that meet the search criteria * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetListBySearchQuery} */ searchAssets(params?: SearchAssetsParams): Promise<SearchAssetsResult>; /** * Begins a chunked uploading session. The `session_id` in the response must be used for subsequent upload chunk and complete chunk calls. This `session_id` is good for 7 days. * @returns Promise containing the `session_id` * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/uploadChunk0} */ startChunkedUpload(): Promise<StartChunkedUploadResult>; /** * Update an asset's `metadata` fields * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetMetadataUpdate} */ updateMetadata(params: UpdateMetadataParams): Promise<void>; /** * Change an asset's metadata type * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v1#tag/Assets/operation/updateMetadataType} */ updateMetadataType(params: UpdateMetadataTypeParams): Promise<void>; /** * Update an asset's `security` fields * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/assetUpdateSecurity} */ updateSecurity(params: UpdateSecurityParams): Promise<void>; /** * Upload a new file as an alternate preview to an Asset * @param params Information about the request * @returns Promise containing no information * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/alternatePreviewUpload} */ uploadAlternatePreview(params: UploadAlternatePreviewParams): Promise<void>; /** * Upload each piece of the file. The `tag` in each Upload Chunk response must be used in the Complete Chunked Upload call * @param params Information about the request * @returns Promise containing the tag for the chunk * @see {@link https://docs.acquia.com/acquia-dam/api-v2#tag/Assets/operation/uploadChunk1} */ uploadChunk(params: UploadChunkParams): Promise<UploadChunkResult>; } export { AssetsApi };