UNPKG

convex

Version:

Client for the Convex Cloud

35 lines (32 loc) 1.01 kB
import { StorageReader, StorageWriter, StorageId, FileMetadata, } from "../storage.js"; import { performAsyncSyscall } from "./syscall.js"; import { validateArg } from "./validate.js"; export function setupStorageReader(): StorageReader { return { getUrl: async (storageId: StorageId) => { validateArg(storageId, 1, "getUrl", "storageId"); return await performAsyncSyscall("storageGetUrl", { storageId }); }, getMetadata: async (storageId: StorageId): Promise<FileMetadata> => { return await performAsyncSyscall("storageGetMetadata", { storageId }); }, }; } export function setupStorageWriter(): StorageWriter { const reader = setupStorageReader(); return { generateUploadUrl: async () => { return await performAsyncSyscall("storageGenerateUploadUrl", {}); }, delete: async (storageId: StorageId) => { await performAsyncSyscall("storageDelete", { storageId }); }, getUrl: reader.getUrl, getMetadata: reader.getMetadata, }; }