diff options
Diffstat (limited to 'src/api/endpoints/aggregation/users.ts')
| -rw-r--r-- | src/api/endpoints/aggregation/users.ts | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/src/api/endpoints/aggregation/users.ts b/src/api/endpoints/aggregation/users.ts deleted file mode 100644 index e38ce92ff9..0000000000 --- a/src/api/endpoints/aggregation/users.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Module dependencies - */ -import $ from 'cafy'; -import User from '../../models/user'; - -/** - * Aggregate users - * - * @param {any} params - * @return {Promise<any>} - */ -module.exports = params => new Promise(async (res, rej) => { - // Get 'limit' parameter - const [limit = 365, limitErr] = $(params.limit).optional.number().range(1, 365).$; - if (limitErr) return rej('invalid limit param'); - - const users = await User - .find({}, { - sort: { - _id: -1 - }, - fields: { - _id: false, - created_at: true, - deleted_at: true - } - }); - - const graph = []; - - for (let i = 0; i < limit; i++) { - let dayStart = new Date(new Date().setDate(new Date().getDate() - i)); - dayStart = new Date(dayStart.setMilliseconds(0)); - dayStart = new Date(dayStart.setSeconds(0)); - dayStart = new Date(dayStart.setMinutes(0)); - dayStart = new Date(dayStart.setHours(0)); - - let dayEnd = new Date(new Date().setDate(new Date().getDate() - i)); - dayEnd = new Date(dayEnd.setMilliseconds(999)); - dayEnd = new Date(dayEnd.setSeconds(59)); - dayEnd = new Date(dayEnd.setMinutes(59)); - dayEnd = new Date(dayEnd.setHours(23)); - // day = day.getTime(); - - const total = users.filter(u => - u.created_at < dayEnd && (u.deleted_at == null || u.deleted_at > dayEnd) - ).length; - - const created = users.filter(u => - u.created_at < dayEnd && u.created_at > dayStart - ).length; - - graph.push({ - total: total, - created: created - }); - } - - res(graph); -}); |