mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 10:31:15 +00:00
feat: Add workflow sharing functionality and permissions (#4370)
* feat(editor): extract credentials view into reusable layout components for workflows view * feat(editor): add workflow card and start work on empty state * feat: add hoverable card and finish workflows empty state * fix: undo workflows response interface changes * chore: fix linting issues. * fix: remove enterprise sharing env schema * fix(editor): fix workflows resource view when sharing is enabled * fix: change owner tag design and order * feat: add personalization survey on workflows page * fix: update component snapshots * feat: refactored workflow card to use workflow-activator properly * fix: fix workflow activator and proptypes * fix: hide owner tag for workflow card until sharing is available * fix: fixed ownedBy and sharedWith appearing for workflows list * feat: update tags component design * refactor: change resource filter select to n8n-user-select * fix: made telemetry messages reusable * chore: remove unused import * refactor: fix component name casing * refactor: use Vue.set to make workflow property reactive * feat: add support for clicking on tags for filtering * chore: fix tags linting issues * fix: fix resources list layout when title words are very long * refactor: add active and inactive status text to workflow activator * fix: fix credentials and workflows sorting when name contains leading whitespace * fix: remove wrongfully added style tag * feat: add translations and storybook examples for truncated tags * fix: remove enterprise sharing env from schema * refactor: fix workflows module and workflows field store naming conflict * feat: add workflow share button and open dummy modal * feat: add workflow sharing modal (in progress) * feat: add message when sharing disabled * feat: add sharing messages based on flags * feat: add workflow sharing api integration and readonly state handling * fix: change how foreign credentials are handled * refactor: migrate newly added workflow sharing store methods to pinia * fix: update foreign credentials handler and add executable prop to node-settings * fix: fix credentials display issue caused by addCredentials override * fix: fix various issues when sharing from empty state * fix: update node duplication credentials * fix: revert defautl values for sharing env * feat: hide share button behind feature flag * chore: add env variable for sharing feature (testing only) * fix: change enterprise-edition component casing
This commit is contained in:
@@ -37,6 +37,7 @@ import {
|
||||
NodeParameterValueType,
|
||||
} from 'n8n-workflow';
|
||||
import { FAKE_DOOR_FEATURES } from './constants';
|
||||
import {ICredentialsDb} from "n8n";
|
||||
|
||||
export * from 'n8n-design-system/src/types';
|
||||
|
||||
@@ -320,6 +321,7 @@ export interface IWorkflowDb {
|
||||
sharedWith?: Array<Partial<IUser>>;
|
||||
ownedBy?: Partial<IUser>;
|
||||
hash: string;
|
||||
usedCredentials?: Array<Partial<ICredentialsDb>>;
|
||||
}
|
||||
|
||||
// Identical to cli.Interfaces.ts
|
||||
@@ -332,6 +334,14 @@ export interface IWorkflowShortResponse {
|
||||
tags: ITag[];
|
||||
}
|
||||
|
||||
export interface IWorkflowsShareResponse {
|
||||
id: string;
|
||||
createdAt: number | string;
|
||||
updatedAt: number | string;
|
||||
sharedWith?: Array<Partial<IUser>>;
|
||||
ownedBy?: Partial<IUser>;
|
||||
}
|
||||
|
||||
|
||||
// Identical or almost identical to cli.Interfaces.ts
|
||||
|
||||
@@ -346,12 +356,17 @@ export interface IShareCredentialsPayload {
|
||||
shareWithIds: string[];
|
||||
}
|
||||
|
||||
export interface IShareWorkflowsPayload {
|
||||
shareWithIds: string[];
|
||||
}
|
||||
|
||||
export interface ICredentialsResponse extends ICredentialsEncrypted {
|
||||
id: string;
|
||||
createdAt: number | string;
|
||||
updatedAt: number | string;
|
||||
sharedWith?: Array<Partial<IUser>>;
|
||||
ownedBy?: Partial<IUser>;
|
||||
currentUserHasAccess?: boolean;
|
||||
}
|
||||
|
||||
export interface ICredentialsBase {
|
||||
@@ -987,7 +1002,6 @@ export interface ICredentialMap {
|
||||
export interface ICredentialsState {
|
||||
credentialTypes: ICredentialTypeMap;
|
||||
credentials: ICredentialMap;
|
||||
foreignCredentials?: ICredentialMap;
|
||||
}
|
||||
|
||||
export interface ITagsState {
|
||||
@@ -1112,7 +1126,7 @@ export type IFakeDoor = {
|
||||
uiLocations: IFakeDoorLocation[],
|
||||
};
|
||||
|
||||
export type IFakeDoorLocation = 'settings' | 'credentialsModal';
|
||||
export type IFakeDoorLocation = 'settings' | 'credentialsModal' | 'workflowShareModal';
|
||||
|
||||
export type INodeFilterType = "Regular" | "Trigger" | "All";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user