Skip to content

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.

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" }],
},
});

auth: AdminAuthConfig

Defined in: packages/admin/src/types.ts:303

Auth adapter that provides user authentication, role management, and impersonation. See AdminAuthConfig.


optional dashboard: 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.


optional requiredRole: string

Defined in: packages/admin/src/types.ts:313

Role required to access the admin panel. Defaults to "admin".


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.


optional tables: Record<string, TableOverrides>

Defined in: packages/admin/src/types.ts:307

Per-table display and behavior overrides, keyed by table name. See TableOverrides.


optional users: UserManagementConfig

Defined in: packages/admin/src/types.ts:309

Configuration for the built-in user management views. See UserManagementConfig.