@curvenote/cli
Version:
CLI Client library for Curvenote
28 lines • 1.33 kB
TypeScript
import type { ISession } from '../session/types.js';
import type { UploadStagingDTO } from '@curvenote/common';
import type { SiteUploadRequest } from '@curvenote/blocks';
/**
* POST an arbitrary upload request to the stage API. Does not scan session.sitePath().
* Use this for single-file or custom folder uploads (e.g. uploadSingleFileToCdn).
*
* @param session
* @param uploadRequest - { files: [{ path, content_type, md5, size }] }
* @returns Staging DTO (cdnKey, cached_items, upload_items)
*/
export declare function stageWithRequest(session: ISession, uploadRequest: SiteUploadRequest): Promise<UploadStagingDTO>;
/**
* Scans the project folder, gets the list of files to upload and then asked the
* API to stage them. The response contains the cdnKey to use, and maps (keyed by md5)
* of cached files and files that need to be uploaded.
*
* @param session
* @returns cdnKey to be used for upload, cached and upload maps and a filtered files
* listing containing only the files that need to be uploaded.
*/
export declare function stageUploads(session: ISession): Promise<{
files: import("./types.js").FileInfo[];
cdnKey: string;
cached_items: import("@curvenote/common").UploadFileInfo[];
upload_items: import("@curvenote/common").FileUploadResponse[];
}>;
//# sourceMappingURL=stage.d.ts.map