Skip to content

Commit d1d1a74

Browse files
chore: remove deprecated method from project-service (#9498)
Depends on bricks-software/unleash-enterprise#137 This method has been deprecated and has an alternative. Migrating to that alternative
1 parent ffb17d4 commit d1d1a74

File tree

3 files changed

+66
-117
lines changed

3 files changed

+66
-117
lines changed

src/lib/features/project/project-service.e2e.test.ts

+62-72
Original file line numberDiff line numberDiff line change
@@ -476,16 +476,11 @@ test('should add a member user to the project', async () => {
476476

477477
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
478478

479-
await projectService.addUser(
480-
project.id,
481-
memberRole.id,
482-
projectMember1.id,
483-
auditUser,
484-
);
485-
await projectService.addUser(
479+
await projectService.addAccess(
486480
project.id,
487-
memberRole.id,
488-
projectMember2.id,
481+
[memberRole.id],
482+
[], // no groups
483+
[projectMember1.id, projectMember2.id],
489484
auditUser,
490485
);
491486

@@ -917,16 +912,11 @@ test('should add admin users to the project', async () => {
917912

918913
const ownerRole = await stores.roleStore.getRoleByName(RoleName.OWNER);
919914

920-
await projectService.addUser(
921-
project.id,
922-
ownerRole.id,
923-
projectAdmin1.id,
924-
auditUser,
925-
);
926-
await projectService.addUser(
915+
await projectService.addAccess(
927916
project.id,
928-
ownerRole.id,
929-
projectAdmin2.id,
917+
[ownerRole.id],
918+
[], // no groups
919+
[projectAdmin1.id, projectAdmin2.id],
930920
auditUser,
931921
);
932922

@@ -944,7 +934,7 @@ test('should add admin users to the project', async () => {
944934
await isProjectUser(adminUsers[2].id, project.id, true);
945935
});
946936

947-
test('add user should fail if user already have access', async () => {
937+
test('add user do nothing if user already has access', async () => {
948938
const project = {
949939
id: 'add-users-twice',
950940
name: 'New project',
@@ -961,23 +951,25 @@ test('add user should fail if user already have access', async () => {
961951

962952
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
963953

964-
await projectService.addUser(
954+
await projectService.addAccess(
965955
project.id,
966-
memberRole.id,
967-
projectMember1.id,
956+
[memberRole.id],
957+
[], // no groups
958+
[projectMember1.id],
968959
auditUser,
969960
);
961+
const access = await projectService.getAccessToProject(project.id);
962+
expect(access.users).toHaveLength(2);
970963

971-
await expect(async () =>
972-
projectService.addUser(
973-
project.id,
974-
memberRole.id,
975-
projectMember1.id,
976-
auditUser,
977-
),
978-
).rejects.toThrow(
979-
new Error('User already has access to project=add-users-twice'),
964+
await projectService.addAccess(
965+
project.id,
966+
[memberRole.id],
967+
[], // no groups
968+
[projectMember1.id],
969+
auditUser,
980970
);
971+
const accessAfter = await projectService.getAccessToProject(project.id);
972+
expect(accessAfter.users).toHaveLength(2);
981973
});
982974

983975
test('should remove user from the project', async () => {
@@ -997,10 +989,11 @@ test('should remove user from the project', async () => {
997989

998990
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
999991

1000-
await projectService.addUser(
992+
await projectService.addAccess(
1001993
project.id,
1002-
memberRole.id,
1003-
projectMember1.id,
994+
[memberRole.id],
995+
[], // no groups
996+
[projectMember1.id],
1004997
auditUser,
1005998
);
1006999
await projectService.removeUser(
@@ -1360,10 +1353,11 @@ test('should add a user to the project with a custom role', async () => {
13601353
SYSTEM_USER_AUDIT,
13611354
);
13621355

1363-
await projectService.addUser(
1356+
await projectService.addAccess(
13641357
project.id,
1365-
customRole.id,
1366-
projectMember1.id,
1358+
[customRole.id],
1359+
[], // no groups
1360+
[projectMember1.id],
13671361
auditUser,
13681362
);
13691363

@@ -1414,16 +1408,11 @@ test('should delete role entries when deleting project', async () => {
14141408
SYSTEM_USER_AUDIT,
14151409
);
14161410

1417-
await projectService.addUser(
1418-
project.id,
1419-
customRole.id,
1420-
user1.id,
1421-
auditUser,
1422-
);
1423-
await projectService.addUser(
1411+
await projectService.addAccess(
14241412
project.id,
1425-
customRole.id,
1426-
user2.id,
1413+
[customRole.id],
1414+
[], // no groups
1415+
[user1.id, user2.id],
14271416
auditUser,
14281417
);
14291418

@@ -1469,10 +1458,11 @@ test('should change a users role in the project', async () => {
14691458
);
14701459
const member = await stores.roleStore.getRoleByName(RoleName.MEMBER);
14711460

1472-
await projectService.addUser(
1461+
await projectService.addAccess(
14731462
project.id,
1474-
member.id,
1475-
projectUser.id,
1463+
[member.id],
1464+
[], // no groups
1465+
[projectUser.id],
14761466
auditUser,
14771467
);
14781468
const { users } = await projectService.getAccessToProject(project.id);
@@ -1487,13 +1477,13 @@ test('should change a users role in the project', async () => {
14871477
projectUser.id,
14881478
auditUser,
14891479
);
1490-
await projectService.addUser(
1480+
await projectService.addAccess(
14911481
project.id,
1492-
customRole.id,
1493-
projectUser.id,
1482+
[customRole.id],
1483+
[], // no groups
1484+
[projectUser.id],
14941485
auditUser,
14951486
);
1496-
14971487
const { users: updatedUsers } = await projectService.getAccessToProject(
14981488
project.id,
14991489
);
@@ -1522,10 +1512,11 @@ test('should update role for user on project', async () => {
15221512
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
15231513
const ownerRole = await stores.roleStore.getRoleByName(RoleName.OWNER);
15241514

1525-
await projectService.addUser(
1515+
await projectService.addAccess(
15261516
project.id,
1527-
memberRole.id,
1528-
projectMember1.id,
1517+
[memberRole.id],
1518+
[], // no groups
1519+
[projectMember1.id],
15291520
auditUser,
15301521
);
15311522
await projectService.changeRole(
@@ -1566,10 +1557,11 @@ test('should able to assign role without existing members', async () => {
15661557

15671558
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
15681559

1569-
await projectService.addUser(
1560+
await projectService.addAccess(
15701561
project.id,
1571-
memberRole.id,
1572-
projectMember1.id,
1562+
[memberRole.id],
1563+
[], // no groups
1564+
[projectMember1.id],
15731565
auditUser,
15741566
);
15751567
await projectService.changeRole(
@@ -1680,10 +1672,11 @@ describe('ensure project has at least one owner', () => {
16801672
RoleName.MEMBER,
16811673
);
16821674

1683-
await projectService.addUser(
1675+
await projectService.addAccess(
16841676
project.id,
1685-
memberRole.id,
1686-
projectMember1.id,
1677+
[memberRole.id],
1678+
[], // no groups
1679+
[projectMember1.id],
16871680
auditUser,
16881681
);
16891682

@@ -2328,20 +2321,17 @@ test('should get correct amount of project members for current and past window',
23282321
);
23292322
const memberRole = await stores.roleStore.getRoleByName(RoleName.MEMBER);
23302323

2331-
await Promise.all(
2332-
createdUsers.map((createdUser) =>
2333-
projectService.addUser(
2334-
project.id,
2335-
memberRole.id,
2336-
createdUser.id,
2337-
auditUser,
2338-
),
2339-
),
2324+
await projectService.addAccess(
2325+
project.id,
2326+
[memberRole.id],
2327+
[], // no groups
2328+
createdUsers.map((u) => u.id),
2329+
auditUser,
23402330
);
23412331

23422332
const result = await projectService.getStatusUpdates(project.id);
23432333
expect(result.updates.projectMembersAddedCurrentWindow).toBe(6); // 5 members + 1 owner
2344-
expect(result.updates.projectActivityCurrentWindow).toBe(6);
2334+
expect(result.updates.projectActivityCurrentWindow).toBe(2);
23452335
expect(result.updates.projectActivityPastWindow).toBe(0);
23462336
});
23472337

src/lib/features/project/project-service.ts

-42
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ import {
4848
ProjectGroupUpdateRoleEvent,
4949
ProjectRevivedEvent,
5050
ProjectUpdatedEvent,
51-
ProjectUserAddedEvent,
5251
ProjectUserRemovedEvent,
5352
ProjectUserUpdateRoleEvent,
5453
RoleName,
@@ -655,47 +654,6 @@ export default class ProjectService {
655654
return this.accessService.getProjectRoleAccess(projectId);
656655
}
657656

658-
/**
659-
* @deprecated see addAccess instead.
660-
*/
661-
async addUser(
662-
projectId: string,
663-
roleId: number,
664-
userId: number,
665-
auditUser: IAuditUser,
666-
): Promise<void> {
667-
const { roles, users } =
668-
await this.accessService.getProjectRoleAccess(projectId);
669-
const user = await this.accountStore.get(userId);
670-
671-
const role = roles.find((r) => r.id === roleId);
672-
if (!role) {
673-
throw new NotFoundError(
674-
`Could not find roleId=${roleId} on project=${projectId}`,
675-
);
676-
}
677-
678-
const alreadyHasAccess = users.some((u) => u.id === userId);
679-
if (alreadyHasAccess) {
680-
throw new Error(`User already has access to project=${projectId}`);
681-
}
682-
683-
await this.accessService.addUserToRole(userId, role.id, projectId);
684-
685-
await this.eventService.storeEvent(
686-
new ProjectUserAddedEvent({
687-
project: projectId,
688-
auditUser,
689-
data: {
690-
roleId,
691-
userId,
692-
roleName: role.name,
693-
email: user.email,
694-
},
695-
}),
696-
);
697-
}
698-
699657
/**
700658
* @deprecated use removeUserAccess
701659
*/

src/test/e2e/services/access-service.e2e.test.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -684,10 +684,11 @@ test('Should be denied access to delete a role that is in use', async () => {
684684
},
685685
]);
686686

687-
await projectService.addUser(
687+
await projectService.addAccess(
688688
project.id,
689-
customRole.id,
690-
projectMember.id,
689+
[customRole.id],
690+
[], // no groups
691+
[projectMember.id],
691692
SYSTEM_USER_AUDIT,
692693
);
693694

0 commit comments

Comments
 (0)