feat: return sharees when returning a workflow (#4312) (no-changelog)

This commit is contained in:
Omar Ajoue
2022-10-11 16:40:39 +02:00
committed by GitHub
parent 7a2e5bde90
commit ab0f776df1
6 changed files with 227 additions and 62 deletions

View File

@@ -458,6 +458,13 @@ export function getWorkflowOwnerRole() {
});
}
export function getWorkflowEditorRole() {
return Db.collections.Role.findOneOrFail({
name: 'editor',
scope: 'workflow',
});
}
export function getCredentialOwnerRole() {
return Db.collections.Role.findOneOrFail({
name: 'owner',
@@ -607,6 +614,16 @@ export async function createWorkflow(attributes: Partial<WorkflowEntity> = {}, u
return workflow;
}
export async function shareWorkflowWithUsers(workflow: WorkflowEntity, users: User[]) {
const role = await getWorkflowEditorRole();
const sharedWorkflows = users.map((user) => ({
user,
workflow,
role,
}));
return Db.collections.SharedWorkflow.save(sharedWorkflows);
}
/**
* Store a workflow in the DB (with a trigger) and optionally assign it to a user.
* @param user user to assign the workflow to