Skip to content

Commit 041d4f9

Browse files
author
Vikas Agarwal
committed
Added project members to the request context for managerOrAdmin permission policy to allow reporting routes to use the members
Removed console log statements
1 parent 74bfc3b commit 041d4f9

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
1+
import _ from 'lodash';
12
import util from '../util';
23
import { MANAGER_ROLES } from '../constants';
4+
import models from '../models';
35

46

57
/**
68
* Only Connect Manager, Connect Admin, and administrator are allowed to perform the operations
79
* @param {Object} req the express request instance
810
* @return {Promise} returns a promise
911
*/
10-
module.exports = req => new Promise((resolve, reject) => {
12+
module.exports = req => new Promise(async (resolve, reject) => {
1113
const hasAccess = util.hasRoles(req, MANAGER_ROLES);
1214

1315
if (!hasAccess) {
1416
return reject(new Error('You do not have permissions to perform this action'));
1517
}
18+
let projectId = req.params.projectId;
19+
if (projectId) {
20+
projectId = _.parseInt(projectId);
21+
const members = await models.ProjectMember.getActiveProjectMembers(projectId);
22+
req.context = req.context || {};
23+
req.context.currentProjectMembers = members;
24+
}
1625

1726
return resolve(true);
1827
});

src/permissions/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,5 +141,5 @@ module.exports = () => {
141141
Authorizer.setPolicy('projectEstimation.item.list', copilotAndAbove);
142142

143143
// Project Reporting
144-
Authorizer.setPolicy('projectReporting.managers', copilotAndAbove);
144+
Authorizer.setPolicy('projectReporting.managers', connectManagerOrAdmin);
145145
};

src/routes/projectReports/getEmbedReport.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import _ from 'lodash';
44
import { middleware as tcMiddleware } from 'tc-core-library-js';
55
import util from '../../util';
6-
import { PROJECT_MEMBER_MANAGER_ROLES, USER_ROLE, PROJECT_MEMBER_ROLE } from '../../constants';
6+
import { USER_ROLE } from '../../constants';
77
import lookerSerivce from '../../services/lookerService';
88

99
const permissions = tcMiddleware.permissions;
@@ -20,17 +20,11 @@ module.exports = [
2020
// check if auth user has acecss to this project
2121
const members = req.context.currentProjectMembers;
2222
let member = _.find(members, m => m.userId === req.authUser.userId);
23-
const isManager = member && PROJECT_MEMBER_MANAGER_ROLES.indexOf(member.role) > -1;
2423
const isAdmin = util.hasRoles(req, [USER_ROLE.CONNECT_ADMIN, USER_ROLE.TOPCODER_ADMIN]);
25-
const isCopilot = member && member.role === PROJECT_MEMBER_ROLE.COPILOT;
26-
const isCustomer = member && member.role === PROJECT_MEMBER_ROLE.CUSTOMER;
27-
console.log(isAdmin, 'isAdmin');
28-
console.log(member, 'member');
2924
if (!member && isAdmin) {
3025
const token = await util.getM2MToken();
31-
console.log(token);
3226
const adminUser = await util.getTopcoderUser(authUser.userId, token, req.log);
33-
console.log(adminUser, 'adminUser');
27+
req.log.debug(adminUser, 'adminUser');
3428
member = {
3529
firstName: adminUser.firstName,
3630
lastName: adminUser.lastName,

0 commit comments

Comments
 (0)