mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
fix(editor): Add back credential use permission (#8023)
## Summary A shared credential is not selectable in NDV Aim If a credential is shared with a user they should be able to select it in node details view
This commit is contained in:
@@ -98,6 +98,26 @@ describe('Sharing', { disableAutoLogin: true }, () => {
|
||||
ndv.actions.close();
|
||||
});
|
||||
|
||||
it('should open W1, add node using C2 as U2', () => {
|
||||
cy.signin(INSTANCE_MEMBERS[0]);
|
||||
|
||||
cy.visit(workflowsPage.url);
|
||||
workflowsPage.getters.workflowCards().should('have.length', 2);
|
||||
workflowsPage.getters.workflowCard('Workflow W1').click();
|
||||
workflowPage.actions.addNodeToCanvas('Airtable', true, true);
|
||||
ndv.getters.credentialInput().find('input').should('have.value', 'Credential C2');
|
||||
ndv.actions.close();
|
||||
workflowPage.actions.saveWorkflowOnButtonClick();
|
||||
|
||||
workflowPage.actions.openNode('Notion');
|
||||
ndv.getters
|
||||
.credentialInput()
|
||||
.find('input')
|
||||
.should('have.value', 'Credential C1')
|
||||
.should('be.enabled');
|
||||
ndv.actions.close();
|
||||
});
|
||||
|
||||
it('should not have access to W2, as U3', () => {
|
||||
cy.signin(INSTANCE_MEMBERS[1]);
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ export function useNodeHelpers() {
|
||||
.getCredentialsByType(credentialTypeDescription.name)
|
||||
.filter((credential: ICredentialsResponse) => {
|
||||
const permissions = getCredentialPermissions(currentUser, credential);
|
||||
return permissions.read;
|
||||
return permissions.use;
|
||||
});
|
||||
|
||||
if (userCredentials === null) {
|
||||
|
||||
@@ -101,6 +101,10 @@ export const getCredentialPermissions = (user: IUser | null, credential: ICreden
|
||||
test: (permissions) =>
|
||||
hasPermission(['rbac'], { rbac: { scope: 'credential:delete' } }) || !!permissions.isOwner,
|
||||
},
|
||||
{
|
||||
name: 'use',
|
||||
test: (permissions) => !!permissions.isOwner || !!permissions.isSharee,
|
||||
},
|
||||
];
|
||||
|
||||
return parsePermissionsTable(user, table);
|
||||
|
||||
@@ -95,7 +95,7 @@ export const useUsersStore = defineStore(STORES.USERS, {
|
||||
return (resource: ICredentialsResponse): boolean => {
|
||||
const permissions = getCredentialPermissions(this.currentUser, resource);
|
||||
|
||||
return permissions.read;
|
||||
return permissions.use;
|
||||
};
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user