/opt/canhelp/node_modules/better-auth/dist/plugins/organization
NameSizeModeActions
access/-0755rm
routes/-0755rm
adapter.d.mts235080644editdlrm
adapter.mjs167610644editdlrm
adapter.mjs.map412370644editdlrm
call.mjs7020644editdlrm
call.mjs.map17020644editdlrm
client.d.mts192590644editdlrm
client.mjs34130644editdlrm
client.mjs.map111280644editdlrm
error-codes.d.mts75960644editdlrm
error-codes.mjs51060644editdlrm
error-codes.mjs.map62290644editdlrm
has-permission.d.mts7060644editdlrm
has-permission.mjs16190644editdlrm
has-permission.mjs.map36280644editdlrm
index.d.mts15510644editdlrm
index.mjs2310644editdlrm
organization.d.mts143990644editdlrm
organization.mjs121120644editdlrm
organization.mjs.map451790644editdlrm
permission.d.mts4320644editdlrm
permission.mjs6820644editdlrm
permission.mjs.map16470644editdlrm
schema.d.mts110810644editdlrm
schema.mjs19370644editdlrm
schema.mjs.map139300644editdlrm
types.d.mts196880644editdlrm
Edit: /opt/canhelp/node_modules/better-auth/dist/plugins/organization/has-permission.mjs (1619B)
import { APIError } from "../../api/index.mjs"; import { defaultRoles } from "./access/statement.mjs"; import "./access/index.mjs"; import { cacheAllRoles, hasPermissionFn } from "./permission.mjs"; import * as z from "zod"; //#region src/plugins/organization/has-permission.ts const hasPermission = async (input, ctx) => { let acRoles = { ...input.options.roles || defaultRoles }; if (ctx && input.organizationId && input.options.dynamicAccessControl?.enabled && input.options.ac && !input.useMemoryCache) { const roles = await ctx.context.adapter.findMany({ model: "organizationRole", where: [{ field: "organizationId", value: input.organizationId }] }); for (const { role, permission: permissionsString } of roles) { const result = z.record(z.string(), z.array(z.string())).safeParse(JSON.parse(permissionsString)); if (!result.success) { ctx.context.logger.error("[hasPermission] Invalid permissions for role " + role, { permissions: JSON.parse(permissionsString) }); throw new APIError("INTERNAL_SERVER_ERROR", { message: "Invalid permissions for role " + role }); } const merged = { ...acRoles[role]?.statements }; for (const [key, actions] of Object.entries(result.data)) merged[key] = [...new Set([...merged[key] ?? [], ...actions])]; acRoles[role] = input.options.ac.newRole(merged); } } if (input.useMemoryCache) acRoles = cacheAllRoles.get(input.organizationId) || acRoles; cacheAllRoles.set(input.organizationId, acRoles); return hasPermissionFn(input, acRoles); }; //#endregion export { hasPermission }; //# sourceMappingURL=has-permission.mjs.map