AdminConfig
AdminConfig =
object
Defined in: packages/admin/src/types.ts:299
Top-level configuration for createAdmin.
Combines the database factory, auth adapter, Drizzle schema, and optional customizations for tables, user management, and the dashboard.
Example
Section titled “Example”const admin = createAdmin({ db: (grants, user) => createDb({ d1: env.DB, schema, grants, user }), auth, schema, requiredRole: "admin", tables: { posts: { label: "Blog Posts" } }, users: { assignableRoles: ["user", "editor", "admin"] }, dashboard: { widgets: [{ type: "count", table: "users", label: "Total Users" }], },});Properties
Section titled “Properties”auth:
AdminAuthConfig
Defined in: packages/admin/src/types.ts:303
Auth adapter that provides user authentication, role management, and impersonation. See AdminAuthConfig.
dashboard?
Section titled “dashboard?”
optionaldashboard:DashboardConfig
Defined in: packages/admin/src/types.ts:311
Configuration for the admin dashboard index page. See DashboardConfig.
db:
CreateDbFn
Defined in: packages/admin/src/types.ts:301
Factory function that creates a permission-scoped DB instance per request. See CreateDbFn.
requiredRole?
Section titled “requiredRole?”
optionalrequiredRole:string
Defined in: packages/admin/src/types.ts:313
Role required to access the admin panel. Defaults to "admin".
schema
Section titled “schema”schema:
Record<string,unknown>
Defined in: packages/admin/src/types.ts:305
Your Drizzle schema object (e.g., import * as schema from "~/schema"). Non-table exports (Relations, helpers) are silently skipped.
tables?
Section titled “tables?”
optionaltables:Record<string,TableOverrides>
Defined in: packages/admin/src/types.ts:307
Per-table display and behavior overrides, keyed by table name. See TableOverrides.
users?
Section titled “users?”
optionalusers:UserManagementConfig
Defined in: packages/admin/src/types.ts:309
Configuration for the built-in user management views. See UserManagementConfig.