// const { body, param, validationResult } = require('express-validator') // const { _sr } = require('../plugins/serverResponses') // const { checkValidations } = require('../plugins/controllersHelperFunctions') const Score = require('../models/GPS.Score') const User = require('../models/GPS.User') module.exports.getAll = async (req, res) => { let page; let rows; if (!req.query?.rows || req.query?.rows <= 5) { rows = 10 } else { rows = parseInt(req.query.rows) } if (!req.query?.page) { page = 0 // eslint-disable-next-line eqeqeq } else if (req.query.page <= 1) { page = 0 } else { page = req.query.page page = page * rows - rows } const search = req.query?.search ? req.query.search : null let sort if(req.query?.sort){ sort= req.query?.sort }else{ sort= { created_at: -1 } } const filter = { userId: req.user_id, } if(search){ filter.$or = [ { title: { $regex: search } }, { score: search }, ] } const score = await Score.find(filter).skip(page).limit(rows).sort(sort); const total = Math.ceil((await Score.countDocuments(filter))) const user = await User.findById(req.user_id).select('score') res.status(200).json({ data: score, score: user.score, total }) }