Skip to content

CollectionConfig

Defined in: packages/core/src/collections/types.ts:599

Resolved collection configuration after defaults are applied by defineCollection().

TFieldMeta extends object = { }

TCollectionMeta extends object = { }

TCollectionSlug extends CollectionSlug = CollectionSlug

TFields extends Record<string, AdminField> = Record<string, AdminField>

TComponent extends ComponentHKT = ComponentHKT

TDrafts extends boolean = boolean

TTimestamps extends boolean = boolean

TFieldSlug extends string = CollectionDataFieldSlug<TFields, TTimestamps>

admin: AdminCollectionConfig<TFieldSlug, TComponent, TCollectionSlug>

Defined in: packages/core/src/collections/types.ts:621

Resolved admin panel configuration for this collection.


fields: Partial<Record<"updatedAt", AdminField<TFieldMeta>>> & TFields

Defined in: packages/core/src/collections/types.ts:639

Resolved field definitions for this collection.

The ReservedCollectionFieldKey half covers the updatedAt field defineCollection injects. It is Partial because { timestamps: false } opts out, so reading it must be null-checked — the same reason stampUpdatedAt treats an absent entry as “do not stamp”.


hooks: CollectionHooks<TCollectionSlug>

Defined in: packages/core/src/collections/types.ts:650

Resolved lifecycle hooks. Always present; defaults to {}.


optional indexes?: object[]

Defined in: packages/core/src/collections/types.ts:643

Index definitions that create indexes on this collection in Convex.

optional draftStatus?: TDrafts extends true ? true | "both" : never

fields: NoInfer<TFieldSlug>[]

name: string


interfaceName: string

Defined in: packages/core/src/collections/types.ts:641

PascalCase identifier derived from slug, used as the TypeScript interface name in generated types (e.g. "posts" → "Posts").


labels: object

Defined in: packages/core/src/collections/types.ts:625

Display names shown in the admin panel — always present after defaults are applied.

plural: string

Plural display name (e.g. "Posts").

singular: string

Singular display name (e.g. "Post").


meta: TCollectionMeta

Defined in: packages/core/src/collections/types.ts:648


slug: TCollectionSlug

Defined in: packages/core/src/collections/types.ts:623

Convex table name for this collection.


versions: object

Defined in: packages/core/src/collections/types.ts:651

autosave: object

debounceMs: number

enabled: boolean

cascadeDelete: boolean

defaultStatus: "draft" | "published"

drafts: TDrafts