mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat: RBAC (#8922)
Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> Co-authored-by: Val <68596159+valya@users.noreply.github.com> Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in> Co-authored-by: Valya Bullions <valya@n8n.io> Co-authored-by: Danny Martini <danny@n8n.io> Co-authored-by: Danny Martini <despair.blue@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com> Co-authored-by: oleg <me@olegivaniv.com> Co-authored-by: Michael Kret <michael.k@radency.com> Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com> Co-authored-by: Elias Meire <elias@meire.dev> Co-authored-by: Giulio Andreini <andreini@netseven.it> Co-authored-by: Giulio Andreini <g.andreini@gmail.com> Co-authored-by: Ayato Hayashi <go12limchangyong@gmail.com>
This commit is contained in:
@@ -7,6 +7,7 @@ import { SharedCredentialsRepository } from '@db/repositories/sharedCredentials.
|
||||
import { SharedWorkflowRepository } from '@db/repositories/sharedWorkflow.repository';
|
||||
import { UserRepository } from '@db/repositories/user.repository';
|
||||
import { BaseCommand } from '../BaseCommand';
|
||||
import { ProjectRepository } from '@/databases/repositories/project.repository';
|
||||
|
||||
const defaultUserProps = {
|
||||
firstName: null,
|
||||
@@ -23,9 +24,12 @@ export class Reset extends BaseCommand {
|
||||
|
||||
async run(): Promise<void> {
|
||||
const owner = await this.getInstanceOwner();
|
||||
const personalProject = await Container.get(ProjectRepository).getPersonalProjectForUserOrFail(
|
||||
owner.id,
|
||||
);
|
||||
|
||||
await Container.get(SharedWorkflowRepository).makeOwnerOfAllWorkflows(owner);
|
||||
await Container.get(SharedCredentialsRepository).makeOwnerOfAllCredentials(owner);
|
||||
await Container.get(SharedWorkflowRepository).makeOwnerOfAllWorkflows(personalProject);
|
||||
await Container.get(SharedCredentialsRepository).makeOwnerOfAllCredentials(personalProject);
|
||||
|
||||
await Container.get(UserRepository).deleteAllExcept(owner);
|
||||
await Container.get(UserRepository).save(Object.assign(owner, defaultUserProps));
|
||||
@@ -38,7 +42,7 @@ export class Reset extends BaseCommand {
|
||||
const newSharedCredentials = danglingCredentials.map((credentials) =>
|
||||
Container.get(SharedCredentialsRepository).create({
|
||||
credentials,
|
||||
user: owner,
|
||||
projectId: personalProject.id,
|
||||
role: 'credential:owner',
|
||||
}),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user