Skip to content

ClientUploadMap

ClientUploadMap = Record<StorageAdapterSlug, (file, uploadUrl) => Promise<{[key: string]: unknown; storageId: string; url?: string; }>>

Defined in: packages/core/src/config/types.ts:177

Client-side upload functions for each registered presigned-url adapter.

Keys are StorageAdapterSlug — only adapters whose type is "presigned-url" and whose name appears in the config are valid. After vex generate, this is narrowed to the exact set of adapter names in the project.

// apps/test/src/app/(vexcms)/admin/clientProviders.tsx
import { StorageAdapterContextProvider } from "@vexcms/react";
import { uploadFile } from "@vexcms/file-storage-convex/adapter";
// Pass the map to StorageAdapterContextProvider — one entry per registered adapter.
<StorageAdapterContextProvider adapterClients={{ convex: uploadFile }}>
{children}
</StorageAdapterContextProvider>