From 834afd0786c466358ddb7ea6be826e459b85d49a Mon Sep 17 00:00:00 2001 From: Dominik Date: Mon, 25 Mar 2019 20:33:31 +0100 Subject: [PATCH] Add total-count in response header. --- src/controllers/errorTicketController.js | 4 +++- src/controllers/matchController.js | 4 +++- src/controllers/messageController.js | 6 ++++-- src/controllers/pendingMatchController.js | 4 +++- src/controllers/privilegedUserController.js | 4 +++- src/controllers/userController.js | 4 +++- 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/controllers/errorTicketController.js b/src/controllers/errorTicketController.js index 8c74979..5f74b5f 100644 --- a/src/controllers/errorTicketController.js +++ b/src/controllers/errorTicketController.js @@ -1,9 +1,10 @@ import ErrorTicket from '../models/ErrorTicket'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 10; + const count = await ErrorTicket.estimatedDocumentCount(); return ErrorTicket.find({}) .populate({ path: 'user', @@ -15,6 +16,7 @@ export default { success: false, message: 'Error tickets not found.' }); + res.append('total-count', count); res.status(200).json({ success: true, data: item diff --git a/src/controllers/matchController.js b/src/controllers/matchController.js index dc6ced2..a431281 100644 --- a/src/controllers/matchController.js +++ b/src/controllers/matchController.js @@ -1,9 +1,10 @@ import Match from '../models/Match'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 100; + const count = await Match.estimatedDocumentCount(); return Match.find({}) .populate({ path: 'user1', @@ -19,6 +20,7 @@ export default { success: false, message: 'Matches not found.' }); + res.append('total-count', count); res.status(200).json({ success: true, data: item diff --git a/src/controllers/messageController.js b/src/controllers/messageController.js index 02eb856..5a36f33 100644 --- a/src/controllers/messageController.js +++ b/src/controllers/messageController.js @@ -2,9 +2,10 @@ import Message from '../models/Message'; import Match from '../models/Match'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 100; + const count = await Message.estimatedDocumentCount(); return Message.find({}) .populate({ path: 'recipient', @@ -23,7 +24,8 @@ export default { success: false, message: 'Messages not found.' }); - return res.status(200).json({ + res.append('total-count', count); + res.status(200).json({ success: true, data: item }); diff --git a/src/controllers/pendingMatchController.js b/src/controllers/pendingMatchController.js index a9c95fc..0e4bcfa 100644 --- a/src/controllers/pendingMatchController.js +++ b/src/controllers/pendingMatchController.js @@ -2,9 +2,10 @@ import PendingMatch from '../models/PendingMatch'; import Match from '../models/Match'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 10; + const count = await PendingMatch.estimatedDocumentCount(); return PendingMatch.find({}).skip(offset).limit(perPage) .populate({ path: 'user1', @@ -19,6 +20,7 @@ export default { success: false, message: 'Pending matches not found.' }); + res.append('total-count', count); res.status(200).json({ success: true, data: item diff --git a/src/controllers/privilegedUserController.js b/src/controllers/privilegedUserController.js index b9e33d0..16583cc 100644 --- a/src/controllers/privilegedUserController.js +++ b/src/controllers/privilegedUserController.js @@ -1,9 +1,10 @@ import PrivilegedUser from '../models/PrivilegedUser'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 10; + const count = await PrivilegedUser.estimatedDocumentCount(); return PrivilegedUser.find({}).skip(offset).limit(perPage) .populate({ path: 'user', @@ -14,6 +15,7 @@ export default { success: false, message: 'Privileged users not found.' }); + res.append('total-count', count); res.status(200).json({ success: true, data: item diff --git a/src/controllers/userController.js b/src/controllers/userController.js index 6c7cfb4..d118cf3 100644 --- a/src/controllers/userController.js +++ b/src/controllers/userController.js @@ -2,15 +2,17 @@ import User from '../models/User'; import moment from 'moment'; export default { - getAll(req, res) { + async getAll(req, res) { const offset = parseInt(req.query.offset) || 0; const perPage = parseInt(req.query.perPage) || 3; + const count = await User.estimatedDocumentCount(); return User.find({}).skip(offset).limit(perPage) .then(item => { if(!item.length || !item) return res.status(404).json({ success: false, message: 'Users not found.' }); + res.append('total-count', count); res.status(200).json({ success: true, data: item