Skip to content

VexMediaDocument

Defined in: packages/core/src/api/convex.ts:58

Type for media documents returned from Convex queries.

Extends VexDocument with all required media fields: alt, filename, mimeType, size, storageId, deleted, src (the file URL), and optional width/height. Use this instead of TDocument in media collection views to avoid casting fields like row.original.src as string.

const src = doc.src; // string | undefined, no cast needed
const alt = doc.alt ?? "";

TDocument for the base document type with custom shape support

[key: string]: unknown

Field values defined by the collection schema.

_creationTime: number

Defined in: packages/core/src/api/convex.ts:26

Unix timestamp (milliseconds) when the document was created.

VexDocument._creationTime


_id: string

Defined in: packages/core/src/api/convex.ts:24

Convex document ID string.

VexDocument._id


alt: string

Defined in: packages/core/src/api/convex.ts:60

Alt text for accessibility and SEO.


deleted: boolean

Defined in: packages/core/src/api/convex.ts:70

Whether this media item has been soft-deleted.


filename: string

Defined in: packages/core/src/api/convex.ts:62

Original filename of the uploaded file.


optional height?: number

Defined in: packages/core/src/api/convex.ts:76

Image height in pixels (if applicable).


mimeType: string

Defined in: packages/core/src/api/convex.ts:64

MIME type (e.g., “image/jpeg”, “application/pdf”).


size: number

Defined in: packages/core/src/api/convex.ts:66

File size in bytes.


src: string

Defined in: packages/core/src/api/convex.ts:72

URL to the file.


storageId: string

Defined in: packages/core/src/api/convex.ts:68

Storage adapter ID for the uploaded file.


optional width?: number

Defined in: packages/core/src/api/convex.ts:74

Image width in pixels (if applicable).