UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

52 lines (51 loc) 2.38 kB
import { C as computed, It as ref } from "./vue.runtime.esm-bundler-tP5dCd7J.js"; import { Fs as createProjectRole, Is as deleteProjectRole, Ls as getRoleBySlug, Rs as getRoles, gs as useSettingsStore, zs as updateProjectRole } from "./builder.store-sBTWwxRU.js"; import { Ao as PROJECT_CHAT_USER_ROLE_SLUG, jo as PROJECT_OWNER_ROLE_SLUG } from "./constants-BbpucWL4.js"; import { k as defineStore, r as useRootStore } from "./_baseOrderBy-B_6CV8x6.js"; const useRolesStore = defineStore("roles", () => { const rootStore = useRootStore(); const settingsStore = useSettingsStore(); const roles = ref({ global: [], project: [], credential: [], workflow: [] }); const projectRoleOrder = ref([ "project:viewer", "project:chatUser", "project:editor", "project:admin" ]); const projectRoleOrderMap = computed(() => new Map(projectRoleOrder.value.map((role, idx) => [role, idx]))); const processedProjectRoles = computed(() => roles.value.project.filter((role) => role.slug !== PROJECT_OWNER_ROLE_SLUG).filter((role) => settingsStore.isChatFeatureEnabled || role.slug !== "project:chatUser").sort((a, b) => (projectRoleOrderMap.value.get(a.slug) ?? Number.MAX_SAFE_INTEGER) - (projectRoleOrderMap.value.get(b.slug) ?? Number.MAX_SAFE_INTEGER))); const processedCredentialRoles = computed(() => roles.value.credential.filter((role) => role.slug !== "credential:owner")); const processedWorkflowRoles = computed(() => roles.value.workflow.filter((role) => role.slug !== "workflow:owner")); const fetchRoles = async () => { roles.value = await getRoles(rootStore.restApiContext); }; const createProjectRole$1 = async (body) => { return await createProjectRole(rootStore.restApiContext, body); }; const fetchRoleBySlug = async (payload) => { return await getRoleBySlug(rootStore.restApiContext, payload); }; const deleteProjectRole$1 = async (slug) => { return await deleteProjectRole(rootStore.restApiContext, slug); }; const updateProjectRole$1 = async (slug, body) => { return await updateProjectRole(rootStore.restApiContext, slug, body); }; return { roles, processedProjectRoles, processedCredentialRoles, processedWorkflowRoles, fetchRoles, createProjectRole: createProjectRole$1, fetchRoleBySlug, updateProjectRole: updateProjectRole$1, deleteProjectRole: deleteProjectRole$1 }; }); export { useRolesStore as t };