diff --git a/server/controllers/GPS.InstalledDevice.js b/server/controllers/GPS.InstalledDevice.js index bd8dca5..57b2118 100644 --- a/server/controllers/GPS.InstalledDevice.js +++ b/server/controllers/GPS.InstalledDevice.js @@ -24,7 +24,8 @@ module.exports.deviceRegistration = [ deviceId: device.id, status: 0, registerDate: new Date(), - userId: req.user_id + userId: req.user_id, + IMEI: req.body.IMEI } const newRequest = await InstalledDevice.create(data); device.status = 1; @@ -53,7 +54,16 @@ module.exports.getAllForUser = async (req, res) => { page = req.query.page page = page * rows - rows } - const data = await InstalledDevice.find({ userId: req.user_id }).skip(page).limit(rows).sort({ created_at: -1 }).populate('deviceId') + + const search = req.query?.search ? req.query.search : "" + + + const data = await InstalledDevice.find({ + userId: req.user_id, + $or: [ + { IMEI: { $regex: search, $options: 'i' } }, + ], + }).skip(page).limit(rows).sort({ created_at: -1 }).populate('deviceId') const total = Math.ceil((await InstalledDevice.countDocuments({ userId: req.user_id }))) res.status(200).json({ data, total }) @@ -78,7 +88,13 @@ module.exports.getAllForAdmin = async (req, res) => { page = req.query.page page = page * rows - rows } - const data = await InstalledDevice.find({}).sort({ status: 1 }).skip(page).limit(rows) + const search = req.query?.search ? req.query.search : "" + + const data = await InstalledDevice.find({ + $or: [ + { IMEI: { $regex: search, $options: 'i' } }, + ] + }).sort({ status: 1 }).skip(page).limit(rows) .populate('deviceId') .populate('userId', 'shopName shopNumber shopAddress birthDate score first_name last_name profilePic') const total = Math.ceil((await InstalledDevice.estimatedDocumentCount())) @@ -108,12 +124,13 @@ module.exports.updateInstalled = [ device.status = 1; - user.walletBalance = device.profit + user.walletBalance = device.profit user.dollarBalance = device.dollarProfit user.score = device.score await Score.create({ + title:"ثبت دستگاه", deviceId: device.id, score: device.score, userId: installedDevice.userId diff --git a/server/controllers/GPS.Score.js b/server/controllers/GPS.Score.js index e1a882e..ff9e2f5 100644 --- a/server/controllers/GPS.Score.js +++ b/server/controllers/GPS.Score.js @@ -24,8 +24,16 @@ module.exports.getAll = async (req, res) => { page = req.query.page page = page * rows - rows } + const search = req.query?.search ? req.query.search : "" - const score = await Score.find({ userId: req.user_id }).skip(page).limit(rows); + + const score = await Score.find({ + userId: req.user_id, + $or: [ + { title: { $regex: search, $options: 'i' } }, + { score: { $regex: search, $options: 'i' } }, + ], + }).skip(page).limit(rows); const total = Math.ceil((await Score.countDocuments({ userId: req.user_id }))) const user = await User.findById(req.user_id).select('score') diff --git a/server/controllers/GPS.Withdraw.js b/server/controllers/GPS.Withdraw.js index 35d9480..5271ef5 100644 --- a/server/controllers/GPS.Withdraw.js +++ b/server/controllers/GPS.Withdraw.js @@ -58,8 +58,17 @@ module.exports.getAllForUser = async (req, res) => { page = req.query.page page = page * rows - rows } + const search = req.query?.search ? req.query.search : "" - const data = await Withdraw.find({ userId: req.user_id }).skip(page).limit(rows).sort({ created_at: -1 }); + + const data = await Withdraw.find({ + userId: req.user_id, + $or: [ + { amount: { $regex: search, $options: 'i' } }, + { dollarAmount: { $regex: search, $options: 'i' } }, + { trackingNumber: { $regex: search, $options: 'i' } }, + ], + }).skip(page).limit(rows).sort({ created_at: -1 }); const total = Math.ceil((await Withdraw.countDocuments({ userId: req.user_id }))) res.status(201).json({ data, total }) } diff --git a/server/models/GPS.InstalledDevice.js b/server/models/GPS.InstalledDevice.js index fc1d0f8..583964b 100644 --- a/server/models/GPS.InstalledDevice.js +++ b/server/models/GPS.InstalledDevice.js @@ -5,6 +5,7 @@ const InstalledDeviceSchema = mongoose.Schema({ type: String, ref: "Device" }, + IMEI:String, status: { type: Number, enum: [ diff --git a/server/models/GPS.Score.js b/server/models/GPS.Score.js index 47b02ac..5e40807 100644 --- a/server/models/GPS.Score.js +++ b/server/models/GPS.Score.js @@ -5,6 +5,7 @@ const ScoreSchema = mongoose.Schema({ type: String, ref: 'Device' }, + title:String, score: { type: Number, min: 0