From cf7aeacc2a66ce3c0af6733655441873c5efa776 Mon Sep 17 00:00:00 2001 From: xxcxy Date: Fri, 11 Jun 2021 23:15:32 +0800 Subject: [PATCH 1/2] fix #337 --- src/common/helper.js | 1 + src/services/InterviewService.js | 3 ++- src/services/JobCandidateService.js | 3 ++- src/services/JobService.js | 3 ++- src/services/WorkPeriodPaymentService.js | 3 ++- src/services/WorkPeriodService.js | 5 +++-- 6 files changed, 12 insertions(+), 6 deletions(-) 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..71108e46 100644 --- a/src/services/WorkPeriodService.js +++ b/src/services/WorkPeriodService.js @@ -519,10 +519,11 @@ async function searchWorkPeriods (currentUser, criteria, options = { returnAll: required: false }] } - const workPeriods = await WorkPeriod.findAll(queryCriteria) + const workPeriods = await WorkPeriod.findAndCountAll(queryCriteria) + const total = await WorkPeriod.count({ where: filter }) return { fromDb: true, - total: workPeriods.length, + total, page, perPage, result: workPeriods From fb3bcc8e467a5d7fb2d8beaa27378c8158d16e6f Mon Sep 17 00:00:00 2001 From: xxcxy Date: Sat, 12 Jun 2021 15:10:46 +0800 Subject: [PATCH 2/2] fix search WorkPeriod --- src/services/WorkPeriodService.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/WorkPeriodService.js b/src/services/WorkPeriodService.js index 71108e46..648d2477 100644 --- a/src/services/WorkPeriodService.js +++ b/src/services/WorkPeriodService.js @@ -519,7 +519,7 @@ async function searchWorkPeriods (currentUser, criteria, options = { returnAll: required: false }] } - const workPeriods = await WorkPeriod.findAndCountAll(queryCriteria) + const workPeriods = await WorkPeriod.findAll(queryCriteria) const total = await WorkPeriod.count({ where: filter }) return { fromDb: true,