@datocms/cma-client-node
Version:
NodeJS client for DatoCMS REST Content Management API
56 lines (55 loc) • 2.52 kB
TypeScript
import { Resources, type SimpleSchemaTypes } from '@datocms/cma-client';
import { type CancelablePromise } from '@datocms/rest-client-utils';
import { type OnProgressInfo } from '../utils/uploadLocalFileAndReturnPath';
export type OnProgressCreatingUploadObjectInfo = {
type: 'CREATING_UPLOAD_OBJECT';
};
export type OnUploadProgressInfo = OnProgressInfo | OnProgressCreatingUploadObjectInfo;
export type CreateUploadFromLocalFileSchema = Omit<SimpleSchemaTypes.UploadCreateSchema, 'path'> & {
localPath: string;
filename?: string;
skipCreationIfAlreadyExists?: boolean;
onProgress?: (info: OnUploadProgressInfo) => void;
};
export type UpdateUploadFromLocalFileSchema = Omit<SimpleSchemaTypes.UploadUpdateSchema, 'path'> & {
localPath: string;
filename?: string;
onProgress?: (info: OnUploadProgressInfo) => void;
};
export type CreateUploadFromUrlSchema = Omit<SimpleSchemaTypes.UploadCreateSchema, 'path'> & {
url: string;
filename?: string;
skipCreationIfAlreadyExists?: boolean;
onProgress?: (info: OnUploadProgressInfo) => void;
};
export type UpdateUploadFromUrlSchema = Omit<SimpleSchemaTypes.UploadUpdateSchema, 'path'> & {
url: string;
filename?: string;
onProgress?: (info: OnUploadProgressInfo) => void;
};
export default class Upload extends Resources.Upload {
/**
* Create a new upload from a local file path
*
* Read more: https://www.datocms.com/docs/content-management-api/resources/upload/create
*/
createFromLocalFile(body: CreateUploadFromLocalFileSchema): CancelablePromise<SimpleSchemaTypes.Upload>;
/**
* Create a new upload from a remote URL
*
* Read more: https://www.datocms.com/docs/content-management-api/resources/upload/create
*/
createFromUrl(body: CreateUploadFromUrlSchema): CancelablePromise<SimpleSchemaTypes.Upload>;
/**
* Replaces asset of an upload entity with a local file path
*
* Read more: https://www.datocms.com/docs/content-management-api/resources/upload/update
*/
updateFromLocalFile(uploadId: string | SimpleSchemaTypes.UploadData, body: UpdateUploadFromLocalFileSchema): CancelablePromise<SimpleSchemaTypes.Upload>;
/**
* Create a new upload from a remote URL
*
* Read more: https://www.datocms.com/docs/content-management-api/resources/upload/update
*/
updateFromUrl(uploadId: string | SimpleSchemaTypes.UploadData, body: UpdateUploadFromUrlSchema): CancelablePromise<SimpleSchemaTypes.Upload>;
}