Skip to content

Commit 52bb08e

Browse files
Merge pull request #96 from topcoder-platform/PM-4961
PM-4961 Add TM to SFDC access roles
2 parents 218520e + 4eee0a8 commit 52bb08e

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

src/app-constants.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ const challengeReportAccessRoles = [
5555
UserRoles.TalentManager,
5656
] as const;
5757

58+
/** Human role mapping for SFDC report scopes (admins still bypass via `hasAdminRole`). */
59+
const sfdcReportsTalentManagerRoles = [UserRoles.TalentManager] as const;
60+
5861
export const ScopeRoleAccess: Record<string, readonly string[]> = {
5962
[Scopes.Challenge.History]: challengeReportAccessRoles,
6063
[Scopes.Challenge.Registrants]: challengeReportAccessRoles,
@@ -63,6 +66,13 @@ export const ScopeRoleAccess: Record<string, readonly string[]> = {
6366
[Scopes.Challenge.Submitters]: challengeReportAccessRoles,
6467
[Scopes.Challenge.ValidSubmitters]: challengeReportAccessRoles,
6568
[Scopes.Challenge.Winners]: challengeReportAccessRoles,
69+
[Scopes.SFDC.PaymentsReport]: sfdcReportsTalentManagerRoles,
70+
[Scopes.SFDC.ChallengesReport]: sfdcReportsTalentManagerRoles,
71+
[Scopes.SFDC.BA]: sfdcReportsTalentManagerRoles,
72+
[Scopes.SFDC.TaasJobs]: sfdcReportsTalentManagerRoles,
73+
[Scopes.SFDC.TaasResourceBookings]: sfdcReportsTalentManagerRoles,
74+
[Scopes.SFDC.TaasMemberVerification]: sfdcReportsTalentManagerRoles,
75+
[Scopes.SFDC.WesternUnionPayments]: sfdcReportsTalentManagerRoles,
6676
[Scopes.Member.EngagementData]: [UserRoles.TalentManager],
6777
[Scopes.Member.RecentMemberData]: [UserRoles.TalentManager],
6878
[Scopes.Member.MemberSearch]: [UserRoles.TalentManager],

src/auth/permissions.util.spec.ts

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,46 @@ describe("permissions.util", () => {
6464
),
6565
).toBe(false);
6666
});
67+
68+
it("allows talent manager role for SFDC payments report scope", () => {
69+
expect(
70+
hasAccessToScopes(
71+
{
72+
roles: ["Topcoder Talent Manager"],
73+
},
74+
[Scopes.SFDC.PaymentsReport],
75+
),
76+
).toBe(true);
77+
});
78+
79+
it("denies product manager role for SFDC payments report scope", () => {
80+
expect(
81+
hasAccessToScopes(
82+
{
83+
roles: ["Topcoder Product Manager"],
84+
},
85+
[Scopes.SFDC.PaymentsReport],
86+
),
87+
).toBe(false);
88+
});
89+
90+
it("allows administrator role for SFDC payments report scope", () => {
91+
expect(
92+
hasAccessToScopes(
93+
{
94+
roles: ["Administrator"],
95+
},
96+
[Scopes.SFDC.PaymentsReport],
97+
),
98+
).toBe(true);
99+
});
100+
101+
it("allows talent manager role for other SFDC report scopes", () => {
102+
expect(
103+
hasAccessToScopes(
104+
{ roles: ["Topcoder Talent Manager"] },
105+
[Scopes.SFDC.BA, Scopes.SFDC.ChallengesReport],
106+
),
107+
).toBe(true);
108+
});
67109
});

0 commit comments

Comments
 (0)