mirror of
https://github.com/stefanpejcic/openpanel
synced 2025-06-26 18:28:26 +00:00
packages
This commit is contained in:
53
packages/devtools-internal/src/get-resource-path.ts
Normal file
53
packages/devtools-internal/src/get-resource-path.ts
Normal file
@@ -0,0 +1,53 @@
|
||||
import {
|
||||
type DevtoolsEvent,
|
||||
type DevtoolsEventPayloads,
|
||||
type RefineHook,
|
||||
scopes,
|
||||
} from "@refinedev/devtools-shared";
|
||||
|
||||
export type Activity =
|
||||
DevtoolsEventPayloads[DevtoolsEvent.DEVTOOLS_ACTIVITY_UPDATE]["updatedActivities"][number];
|
||||
|
||||
export const getResourcePath = (
|
||||
hookName: RefineHook,
|
||||
legacyKey: boolean,
|
||||
): string | null => {
|
||||
if (scopes[hookName] === "auth") {
|
||||
return null;
|
||||
}
|
||||
if (hookName === "useCan") {
|
||||
if (legacyKey) {
|
||||
return "key[1].resource";
|
||||
}
|
||||
return "key[1]";
|
||||
}
|
||||
if (scopes[hookName] === "audit-log") {
|
||||
if (hookName === "useLog") {
|
||||
return "variables.resource";
|
||||
}
|
||||
return "key[1]";
|
||||
}
|
||||
if (scopes[hookName] === "data") {
|
||||
if (hookName === "useCustom" || hookName === "useCustomMutation") {
|
||||
return null;
|
||||
}
|
||||
switch (hookName) {
|
||||
case "useList":
|
||||
case "useInfiniteList":
|
||||
case "useOne":
|
||||
case "useMany":
|
||||
if (legacyKey) {
|
||||
return "key[1]";
|
||||
}
|
||||
return "key[2]";
|
||||
case "useCreate":
|
||||
case "useCreateMany":
|
||||
case "useDelete":
|
||||
case "useDeleteMany":
|
||||
case "useUpdate":
|
||||
case "useUpdateMany":
|
||||
return "variables.resource";
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
Reference in New Issue
Block a user