refactor(editor): Apply Prettier (no-changelog) (#4920)
* ⚡ Adjust `format` script * 🔥 Remove exemption for `editor-ui` * 🎨 Prettify * 👕 Fix lint
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
* @usage getCredentialPermissions(user, credential).isOwner;
|
||||
*/
|
||||
|
||||
import {IUser, ICredentialsResponse, IRootState, IWorkflowDb} from "@/Interface";
|
||||
import {EnterpriseEditionFeature, PLACEHOLDER_EMPTY_WORKFLOW_ID} from "@/constants";
|
||||
import { useSettingsStore } from "./stores/settings";
|
||||
import { IUser, ICredentialsResponse, IRootState, IWorkflowDb } from '@/Interface';
|
||||
import { EnterpriseEditionFeature, PLACEHOLDER_EMPTY_WORKFLOW_ID } from '@/constants';
|
||||
import { useSettingsStore } from './stores/settings';
|
||||
|
||||
export enum UserRole {
|
||||
InstanceOwner = 'isInstanceOwner',
|
||||
@@ -32,15 +32,13 @@ export type IPermissionsTable = IPermissionsTableRow[];
|
||||
* @param user
|
||||
* @param table
|
||||
*/
|
||||
export const parsePermissionsTable = (user: IUser | null, table: IPermissionsTable): IPermissions => {
|
||||
const genericTable = [
|
||||
{ name: UserRole.InstanceOwner, test: () => user?.isOwner },
|
||||
];
|
||||
export const parsePermissionsTable = (
|
||||
user: IUser | null,
|
||||
table: IPermissionsTable,
|
||||
): IPermissions => {
|
||||
const genericTable = [{ name: UserRole.InstanceOwner, test: () => user?.isOwner }];
|
||||
|
||||
return [
|
||||
...genericTable,
|
||||
...table,
|
||||
].reduce((permissions: IPermissions, row) => {
|
||||
return [...genericTable, ...table].reduce((permissions: IPermissions, row) => {
|
||||
permissions[row.name] = Array.isArray(row.test)
|
||||
? row.test.some((ability) => permissions[ability])
|
||||
: (row.test as IPermissionsTableRowTestFn)(permissions);
|
||||
@@ -55,19 +53,37 @@ export const parsePermissionsTable = (user: IUser | null, table: IPermissionsTab
|
||||
|
||||
export const getCredentialPermissions = (user: IUser | null, credential: ICredentialsResponse) => {
|
||||
const settingsStore = useSettingsStore();
|
||||
const isSharingEnabled = settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.Sharing);
|
||||
const isSharingEnabled = settingsStore.isEnterpriseFeatureEnabled(
|
||||
EnterpriseEditionFeature.Sharing,
|
||||
);
|
||||
|
||||
const table: IPermissionsTable = [
|
||||
{ name: UserRole.ResourceOwner, test: () => !!(credential && credential.ownedBy && credential.ownedBy.id === user?.id) || !isSharingEnabled },
|
||||
{ name: UserRole.ResourceReader, test: () => !!(credential && credential.sharedWith && credential.sharedWith.find((sharee) => sharee.id === user?.id)) },
|
||||
{ name: 'read', test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader] },
|
||||
{
|
||||
name: UserRole.ResourceOwner,
|
||||
test: () =>
|
||||
!!(credential && credential.ownedBy && credential.ownedBy.id === user?.id) ||
|
||||
!isSharingEnabled,
|
||||
},
|
||||
{
|
||||
name: UserRole.ResourceReader,
|
||||
test: () =>
|
||||
!!(
|
||||
credential &&
|
||||
credential.sharedWith &&
|
||||
credential.sharedWith.find((sharee) => sharee.id === user?.id)
|
||||
),
|
||||
},
|
||||
{
|
||||
name: 'read',
|
||||
test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader],
|
||||
},
|
||||
{ name: 'save', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'updateName', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'updateConnection', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateSharing', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateNodeAccess', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'delete', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'use', test: [UserRole.ResourceOwner, UserRole.ResourceReader] },
|
||||
{ name: 'updateConnection', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateSharing', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateNodeAccess', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'delete', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'use', test: [UserRole.ResourceOwner, UserRole.ResourceReader] },
|
||||
];
|
||||
|
||||
return parsePermissionsTable(user, table);
|
||||
@@ -75,20 +91,41 @@ export const getCredentialPermissions = (user: IUser | null, credential: ICreden
|
||||
|
||||
export const getWorkflowPermissions = (user: IUser | null, workflow: IWorkflowDb) => {
|
||||
const settingsStore = useSettingsStore();
|
||||
const isSharingEnabled = settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.WorkflowSharing);
|
||||
const isSharingEnabled = settingsStore.isEnterpriseFeatureEnabled(
|
||||
EnterpriseEditionFeature.WorkflowSharing,
|
||||
);
|
||||
const isNewWorkflow = workflow.id === PLACEHOLDER_EMPTY_WORKFLOW_ID;
|
||||
|
||||
const table: IPermissionsTable = [
|
||||
{ name: UserRole.ResourceOwner, test: () => !!(isNewWorkflow || workflow && workflow.ownedBy && workflow.ownedBy.id === user?.id) || !isSharingEnabled },
|
||||
{ name: UserRole.ResourceReader, test: () => !!(workflow && workflow.sharedWith && workflow.sharedWith.find((sharee) => sharee.id === user?.id)) },
|
||||
{ name: 'read', test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader] },
|
||||
{
|
||||
name: UserRole.ResourceOwner,
|
||||
test: () =>
|
||||
!!(isNewWorkflow || (workflow && workflow.ownedBy && workflow.ownedBy.id === user?.id)) ||
|
||||
!isSharingEnabled,
|
||||
},
|
||||
{
|
||||
name: UserRole.ResourceReader,
|
||||
test: () =>
|
||||
!!(
|
||||
workflow &&
|
||||
workflow.sharedWith &&
|
||||
workflow.sharedWith.find((sharee) => sharee.id === user?.id)
|
||||
),
|
||||
},
|
||||
{
|
||||
name: 'read',
|
||||
test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader],
|
||||
},
|
||||
{ name: 'save', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'updateName', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'updateConnection', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateSharing', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateNodeAccess', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'delete', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{ name: 'use', test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader] },
|
||||
{ name: 'updateConnection', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateSharing', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'updateNodeAccess', test: [UserRole.ResourceOwner] },
|
||||
{ name: 'delete', test: [UserRole.ResourceOwner, UserRole.InstanceOwner] },
|
||||
{
|
||||
name: 'use',
|
||||
test: [UserRole.ResourceOwner, UserRole.InstanceOwner, UserRole.ResourceReader],
|
||||
},
|
||||
];
|
||||
|
||||
return parsePermissionsTable(user, table);
|
||||
|
||||
Reference in New Issue
Block a user