const express = require("express") const router = express.Router() const { requireAuth } = require("./../middleware/authmiddleware") const User = require("./../model/user.js") const games = require("./../model/games.js") const bodyParser = require("body-parser") router.use(bodyParser.json()) router.post("/api/users/search", async (req, res) => { const resultsPerPage = 12 let page = req.body.page ?? 0 if (page != 0) { page -= 1 } let { searchquery } = req.body function escapeRegex(text) { return text?.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&") } const regex = new RegExp(escapeRegex(searchquery), "gi") //const pages = await User.countDocuments({username: regex})/resultsPerPage const response = await User.find({ username: regex }) .limit(resultsPerPage) .skip(0 + parseFloat(page) * resultsPerPage) .select(["userid", "username"]) .lean() let responsecount = await User.countDocuments({ username: regex }) res.json({ data: response, pages: Math.ceil(Math.max(responsecount / resultsPerPage, 1)), }) }) router.get( ["/users/:userid/canmanage/:gameid", "//users/:userid/canmanage/:gameid"], async (req, res) => { const user = await User.findOne({ userid: req.params.userid, }) /*.lean()*/ if (!user) { return res.json({ Success: false, CanManage: false }) } const game = await games.findOne({ idofgame: req.params.gameid }).lean() if (!game) { return res.json({ Success: false, CanManage: false }) } if ( game.useridofowner === user.userid || user.userid === 0 || user.userid === 18 ) { return res.json({ Success: true, CanManage: true }) } return res.json({ Success: true, CanManage: false }) }, ) module.exports = router