feat(API): Add user management endpoints to the Projects Public API (#12329)

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
Co-authored-by: Danny Martini <danny@n8n.io>
Co-authored-by: Andreas Fitzek <andreas.fitzek@n8n.io>
Co-authored-by: Guillaume Jacquart <jacquart.guillaume@gmail.com>
This commit is contained in:
Marc Littlemore
2025-05-30 12:04:38 +01:00
committed by GitHub
parent c229e915ea
commit 4459c7e7b1
25 changed files with 1391 additions and 71 deletions

View File

@@ -72,7 +72,7 @@ describe('WorkflowSharingService', () => {
// ARRANGE
//
const project = await projectService.createTeamProject(member, { name: 'Team Project' });
await projectService.addUser(project.id, anotherMember.id, 'project:admin');
await projectService.addUser(project.id, { userId: anotherMember.id, role: 'project:admin' });
const workflow = await createWorkflow(undefined, project);
//
@@ -96,8 +96,14 @@ describe('WorkflowSharingService', () => {
const workflow1 = await createWorkflow(undefined, project1);
const project2 = await projectService.createTeamProject(member, { name: 'Team Project 2' });
const workflow2 = await createWorkflow(undefined, project2);
await projectService.addUser(project1.id, anotherMember.id, 'project:admin');
await projectService.addUser(project2.id, anotherMember.id, 'project:viewer');
await projectService.addUser(project1.id, {
userId: anotherMember.id,
role: 'project:admin',
});
await projectService.addUser(project2.id, {
userId: anotherMember.id,
role: 'project:viewer',
});
//
// ACT

View File

@@ -54,7 +54,6 @@ const { objectContaining, arrayContaining, any } = expect;
const activeWorkflowManagerLike = mockInstance(ActiveWorkflowManager);
let projectRepository: ProjectRepository;
let projectService: ProjectService;
beforeEach(async () => {
await testDb.truncate([
@@ -68,7 +67,6 @@ beforeEach(async () => {
'User',
]);
projectRepository = Container.get(ProjectRepository);
projectService = Container.get(ProjectService);
owner = await createOwner();
authOwnerAgent = testServer.authAgentFor(owner);
member = await createMember();
@@ -288,7 +286,10 @@ describe('POST /workflows', () => {
type: 'team',
}),
);
await projectService.addUser(project.id, owner.id, 'project:admin');
await Container.get(ProjectService).addUser(project.id, {
userId: owner.id,
role: 'project:admin',
});
//
// ACT
@@ -362,7 +363,10 @@ describe('POST /workflows', () => {
type: 'team',
}),
);
await projectService.addUser(project.id, member.id, 'project:viewer');
await Container.get(ProjectService).addUser(project.id, {
userId: member.id,
role: 'project:viewer',
});
//
// ACT