diff --git a/src/common/helper.js b/src/common/helper.js index f4a1aac2..45e4afe4 100644 --- a/src/common/helper.js +++ b/src/common/helper.js @@ -816,6 +816,7 @@ function setResHeaders (req, res, result) { res.set('X-Per-Page', result.perPage) res.set('X-Total', result.total) res.set('X-Total-Pages', totalPages) + res.set('X-Data-Source', result.fromDb ? 'database' : 'elasticsearch') // set Link header if (totalPages > 0) { let link = `<${getPageLink(req, 1)}>; rel="first", <${getPageLink( diff --git a/src/services/InterviewService.js b/src/services/InterviewService.js index a69a788c..3ddb1a3d 100644 --- a/src/services/InterviewService.js +++ b/src/services/InterviewService.js @@ -539,9 +539,10 @@ async function searchInterviews (currentUser, jobCandidateId, criteria) { limit: perPage, order: [[criteria.sortBy, criteria.sortOrder]] }) + const total = await Interview.count({ where: filter }) return { fromDb: true, - total: interviews.length, + total, page, perPage, result: _.map(interviews, interview => interview.dataValues) diff --git a/src/services/JobCandidateService.js b/src/services/JobCandidateService.js index 9a152c49..1f283512 100644 --- a/src/services/JobCandidateService.js +++ b/src/services/JobCandidateService.js @@ -316,9 +316,10 @@ async function searchJobCandidates (currentUser, criteria) { limit: perPage, order: [[criteria.sortBy, criteria.sortOrder]] }) + const total = await JobCandidate.count({ where: filter }) return { fromDb: true, - total: jobCandidates.length, + total, page, perPage, result: _.map(jobCandidates, jobCandidate => _.omit(jobCandidate.dataValues, omitList)) diff --git a/src/services/JobService.js b/src/services/JobService.js index 7291070b..06e3b67c 100644 --- a/src/services/JobService.js +++ b/src/services/JobService.js @@ -532,9 +532,10 @@ async function searchJobs (currentUser, criteria, options = { returnAll: false } required: false }] }) + const total = await Job.count({ where: filter }) return { fromDb: true, - total: jobs.length, + total, page, perPage, result: _.map(jobs, job => job.dataValues) diff --git a/src/services/WorkPeriodPaymentService.js b/src/services/WorkPeriodPaymentService.js index 80299628..38582f41 100644 --- a/src/services/WorkPeriodPaymentService.js +++ b/src/services/WorkPeriodPaymentService.js @@ -381,9 +381,10 @@ async function searchWorkPeriodPayments (currentUser, criteria, options = { retu limit: perPage, order: [[criteria.sortBy, criteria.sortOrder]] }) + const total = await WorkPeriodPayment.count({ where: filter }) return { fromDb: true, - total: workPeriodPayments.length, + total, page, perPage, result: workPeriodPayments diff --git a/src/services/WorkPeriodService.js b/src/services/WorkPeriodService.js index 9e555b90..648d2477 100644 --- a/src/services/WorkPeriodService.js +++ b/src/services/WorkPeriodService.js @@ -520,9 +520,10 @@ async function searchWorkPeriods (currentUser, criteria, options = { returnAll: }] } const workPeriods = await WorkPeriod.findAll(queryCriteria) + const total = await WorkPeriod.count({ where: filter }) return { fromDb: true, - total: workPeriods.length, + total, page, perPage, result: workPeriods