UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

40 lines (39 loc) 1.05 kB
import { PACKAGE_VERSION } from "../../version.mjs"; import { adminAc, userAc } from "./access/statement.mjs"; import { ADMIN_ERROR_CODES } from "./error-codes.mjs"; import { hasPermission } from "./has-permission.mjs"; //#region src/plugins/admin/client.ts const adminClient = (options) => { const roles = { admin: adminAc, user: userAc, ...options?.roles }; return { id: "admin-client", version: PACKAGE_VERSION, $InferServerPlugin: {}, getActions: () => ({ admin: { checkRolePermission: (data) => { return hasPermission({ role: data.role, options: { ac: options?.ac, roles }, permissions: data.permissions }); } } }), pathMethods: { "/admin/list-users": "GET", "/admin/impersonate-user": "POST", "/admin/stop-impersonating": "POST" }, atomListeners: [{ matcher: (path) => path === "/admin/impersonate-user" || path === "/admin/stop-impersonating", signal: "$sessionSignal" }], $ERROR_CODES: ADMIN_ERROR_CODES }; }; //#endregion export { ADMIN_ERROR_CODES, adminClient };