createAdmin
createAdmin(
config):object
Defined in: packages/admin/src/create-admin.ts:40
Create a complete admin panel from your Drizzle schema.
Introspects your schema, applies any TableOverrides, and produces a
{ loader, action, Component } triple that you mount on a single React Router
route. The admin panel includes list views, detail views, create/edit forms,
user management, and a dashboard — all derived from your schema and permissions.
For server/client code splitting, use the individual factories (createAdminLoader, createAdminAction, createAdminComponent) instead.
Parameters
Section titled “Parameters”config
Section titled “config”The admin configuration including DB factory, auth adapter, and schema.
Returns
Section titled “Returns”object
An object with loader, action, and Component to mount on a React Router route.
action()
Section titled “action()”action: (
request) =>Promise<Response|AdminActionResult>
Parameters
Section titled “Parameters”request
Section titled “request”Request
Returns
Section titled “Returns”Promise<Response | AdminActionResult>
Component()
Section titled “Component()”Component: () =>
ReactElement
Returns
Section titled “Returns”ReactElement
loader()
Section titled “loader()”loader: (
request) =>Promise<AdminLoaderData>
Parameters
Section titled “Parameters”request
Section titled “request”Request
Returns
Section titled “Returns”Promise<AdminLoaderData>
Example
Section titled “Example”import { createAdmin } from "@cfast/admin";import * as schema from "~/schema";
const admin = createAdmin({ db: (grants, user) => createDb({ d1: env.DB, schema, grants, user }), auth, schema, requiredRole: "admin",});
export const loader = admin.loader;export const action = admin.action;export default admin.Component;