Skip to content

Commit d5236da

Browse files
Merge pull request #6288 from topcoder-platform/develop
Release v1.15.9
2 parents b82622f + c665679 commit d5236da

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ workflows:
364364
filters:
365365
branches:
366366
only:
367-
- free
367+
- sanitize-jobs-api
368368
# This is stage env for production QA releases
369369
- "build-prod-staging":
370370
context : org-global

src/server/services/recruitCRM.js

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ const CANDIDATE_FIELDS_RESPONSE = [
5151
'salary_expectation',
5252
'custom_fields',
5353
];
54+
const OMIT_CUSTOM_FIELDS = [
55+
'Candidates Link',
56+
'Account Executive',
57+
'Wipro Centralization SPOC',
58+
];
5459

5560
/**
5661
* Send email to Kiril/Nick for debuging gig application errors
@@ -72,6 +77,18 @@ function notifyKirilAndNick(error) {
7277
});
7378
}
7479

80+
/**
81+
* Sanitize Job before return
82+
* @param {Object} job data from recuitcrm api
83+
*/
84+
function sanitizeJob(job) {
85+
const sJob = _.pick(job, JOB_FIELDS_RESPONSE);
86+
sJob.custom_fields = _.filter(
87+
sJob.custom_fields, f => !_.includes(OMIT_CUSTOM_FIELDS, f.field_name),
88+
);
89+
return sJob;
90+
}
91+
7592
const updateProfileSchema = Joi.object().keys({
7693
phone: Joi.string().required(),
7794
availability: Joi.boolean().required(),
@@ -154,7 +171,9 @@ export default class RecruitCRMService {
154171
return res.send(error);
155172
}
156173
const data = await response.json();
157-
data.data = _.map(data.data, j => _.pick(j, JOB_FIELDS_RESPONSE));
174+
175+
data.data = _.map(data.data, j => sanitizeJob(j));
176+
158177
return res.send(data);
159178
} catch (err) {
160179
return next(err);
@@ -190,7 +209,7 @@ export default class RecruitCRMService {
190209
return res.send(error);
191210
}
192211
const data = await response.json();
193-
return res.send(_.pick(data, JOB_FIELDS_RESPONSE));
212+
return res.send(sanitizeJob(data));
194213
} catch (err) {
195214
return next(err);
196215
}
@@ -242,11 +261,11 @@ export default class RecruitCRMService {
242261
const pageData = await pageDataRsp.json();
243262
data.data = _.flatten(data.data.concat(pageData.data));
244263
}
245-
const toSend = _.map(data.data, j => _.pick(j, JOB_FIELDS_RESPONSE));
264+
const toSend = _.map(data.data, j => sanitizeJob(j));
246265
return toSend;
247266
});
248267
}
249-
const toSend = _.map(data.data, j => _.pick(j, JOB_FIELDS_RESPONSE));
268+
const toSend = _.map(data.data, j => sanitizeJob(j));
250269
return toSend;
251270
} catch (err) {
252271
return err;
@@ -303,15 +322,15 @@ export default class RecruitCRMService {
303322
const pageData = await pageDataRsp.json();
304323
data.data = _.flatten(data.data.concat(pageData.data));
305324
}
306-
const toSend = _.map(data.data, j => _.pick(j, JOB_FIELDS_RESPONSE));
325+
const toSend = _.map(data.data, j => sanitizeJob(j));
307326
gigsCache.set(CACHE_KEY, toSend);
308327
return res.send(toSend);
309328
})
310329
.catch(e => res.send({
311330
error: e,
312331
}));
313332
}
314-
const toSend = _.map(data.data, j => _.pick(j, JOB_FIELDS_RESPONSE));
333+
const toSend = _.map(data.data, j => sanitizeJob(j));
315334
gigsCache.set(CACHE_KEY, toSend);
316335
return res.send(toSend);
317336
} catch (err) {

0 commit comments

Comments
 (0)