Merge
This commit is contained in:
@@ -9,44 +9,52 @@ 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
|
||||
rows = 10;
|
||||
} else {
|
||||
rows = parseInt(req.query.rows)
|
||||
rows = parseInt(req.query.rows);
|
||||
}
|
||||
|
||||
if (!req.query?.page) {
|
||||
page = 0
|
||||
// eslint-disable-next-line eqeqeq
|
||||
page = 0;
|
||||
} else if (req.query.page <= 1) {
|
||||
page = 0
|
||||
page = 0;
|
||||
} else {
|
||||
page = req.query.page
|
||||
page = page * rows - rows
|
||||
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 search = req.query?.search ? req.query.search : null;
|
||||
|
||||
let sort = {};
|
||||
|
||||
if (req.query?.created_at) {
|
||||
sort.created_at = parseInt(req.query.created_at);
|
||||
}
|
||||
|
||||
if (req.query?.score) {
|
||||
sort.score = parseInt(req.query.score);
|
||||
}
|
||||
|
||||
if (Object.keys(sort).length === 0) {
|
||||
sort = { created_at: -1 };
|
||||
}
|
||||
|
||||
const filter = {
|
||||
userId: req.user_id,
|
||||
}
|
||||
};
|
||||
|
||||
if(search){
|
||||
filter.$or = [
|
||||
{ title: { $regex: search } },
|
||||
{ score: search },
|
||||
]
|
||||
if (search) {
|
||||
filter.$or = [
|
||||
{ title: new RegExp(search, 'i') },
|
||||
...(!isNaN(search) ? [{ score: Number(search) }] : []),
|
||||
];
|
||||
}
|
||||
|
||||
const score = await Score.find(filter).skip(page).limit(rows).sort(sort);
|
||||
const total = Math.ceil((await Score.countDocuments(filter)))
|
||||
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 })
|
||||
}
|
||||
const user = await User.findById(req.user_id).select('score');
|
||||
res.status(200).json({ data: score, score: user.score, total });
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user