nuxt-live-editor
Version:
My new Nuxt module
20 lines (19 loc) • 793 B
JavaScript
import { ref } from "vue";
export const useCheckEditorPermission = async (currentUser) => {
const canLiveEditor = ref(false);
const permissions = ref([]);
const checkEditorPermission = (user) => {
if (user?.role?.admin_access) {
canLiveEditor.value = true;
} else {
const permissionLiveEditor = permissions.value?.filter((p) => p.collection === "live_editor");
const updatePermission = permissionLiveEditor.find((p) => p.action === "update");
const createPermission = permissionLiveEditor.find((p) => p.action === "create");
canLiveEditor.value = !!(updatePermission && createPermission);
}
};
if (currentUser && currentUser.id && currentUser?.role?.admin_access) {
checkEditorPermission(currentUser);
}
return { canLiveEditor };
};