UNPKG

@intuitionrobotics/file-upload

Version:

File Uploader - Express & Typescript based backend framework

45 lines (44 loc) 1.5 kB
import { ApiWithBody } from "@intuitionrobotics/thunderstorm"; import { DB_Object } from "@intuitionrobotics/firebase"; import { AuditBy, ObjectTS } from "@intuitionrobotics/ts-common"; import { MessageType } from "@intuitionrobotics/push-pub-sub"; export declare const fileUploadedKey = "file-uploaded"; export type Payload_FileUploaded = { message: string; result: string; cause?: any; }; export type Push_FileUploaded = MessageType<"file-uploaded", { feId: string; }, Payload_FileUploaded>; export declare enum UploadResult { Success = "Success", Failure = "Failure" } export type Request_Uploader = { name: string; mimeType: string; key?: string; public?: boolean; metadata?: ObjectTS; }; export type BaseUploaderFile = Request_Uploader & { feId: string; }; export type DB_Temp_File = DB_Object & BaseUploaderFile & Required<Pick<BaseUploaderFile, "key">> & { path: string; _audit: AuditBy; bucketName: string; }; export type Request_GetUploadUrl = BaseUploaderFile[]; export type TempSecureUrl = { secureUrl: string; tempDoc: DB_Temp_File; }; export type Body_GetUploadUrlWithBucketName = { files: BaseUploaderFile[]; bucketName: string; pathPrefix?: string; }; export type Api_GetUploadUrl = ApiWithBody<"/v1/upload/get-url", BaseUploaderFile[], TempSecureUrl[]>; export type Api_GetUploadUrlWithBucketName = ApiWithBody<"/v1/upload/get-url-with-bucket-name", Body_GetUploadUrlWithBucketName, TempSecureUrl[]>;