updateeeeeeeeeee

This commit is contained in:
mahyargdz
2024-12-31 15:10:46 +03:30
parent c7251f7c27
commit 27e27a9eb7
5 changed files with 154 additions and 169 deletions
+38 -42
View File
@@ -4,57 +4,53 @@
const Score = require('../models/GPS.Score')
const User = require('../models/GPS.User')
module.exports.getAll = async (req, res) => {
let page;
let rows;
let page
let rows
if (!req.query?.rows || req.query?.rows <= 5) {
rows = 10;
} else {
rows = parseInt(req.query.rows);
}
if (!req.query?.rows || req.query?.rows <= 5) {
rows = 10
} else {
rows = parseInt(req.query.rows)
}
if (!req.query?.page) {
page = 0;
} else if (req.query.page <= 1) {
page = 0;
} else {
page = req.query.page;
page = page * rows - rows;
}
if (!req.query?.page) {
page = 0
} 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;
const search = req.query?.search ? req.query.search : null
let sort = {};
let sort = {}
if (req.query?.created_at) {
sort.created_at = parseInt(req.query.created_at);
}
if (req.query?.created_at) {
sort.created_at = parseInt(req.query.created_at)
}
if (req.query?.score) {
sort.score = parseInt(req.query.score);
}
if (req.query?.score) {
sort.score = parseInt(req.query.score)
}
if (Object.keys(sort).length === 0) {
sort = { created_at: -1 };
}
if (Object.keys(sort).length === 0) {
sort = { created_at: -1 }
}
const filter = {
userId: req.user_id,
};
const filter = {
userId: req.user_id
}
if (search) {
filter.$or = [
{ title: new RegExp(search, 'i') },
...(!isNaN(search) ? [{ score: Number(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 score = await Score.find(filter).skip(page).limit(rows).sort(sort)
const userScore = await User.findById(req.user_id).select('score totalScore')
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 totalScore')
res.status(200).json({ data: score, score: user.score, total, totalScore: userScore.totalScore })
}