131 lines
3.2 KiB
JavaScript
131 lines
3.2 KiB
JavaScript
//create express router
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
|
|
const { pengirimModel, kurirModel } = require('../models/users_model');
|
|
|
|
|
|
var ironSession = require("iron-session/express").ironSession;
|
|
var session = ironSession({
|
|
cookieName: "myapp_cookiename",
|
|
// password: process.env.SECRET_COOKIE_PASSWORD,
|
|
password: process.env.IRON_SESSION,
|
|
cookieOptions: {
|
|
secure: process.env.NODE_ENV === "production",
|
|
},
|
|
});
|
|
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
// create '/get_all_kurir' get method
|
|
router.get('/get_all_kurir_verifikasi', session, authenticateToken, async (req, res) => {
|
|
try {
|
|
const kurir = await kurirModel.find({
|
|
status : 'Evaluasi'
|
|
}).sort({ created_at: -1 })
|
|
return res.status(200).send({ status: true, data: kurir })
|
|
}
|
|
catch (error) {
|
|
console.log(error);
|
|
res.status(500).send({ message: error.message });
|
|
}
|
|
})
|
|
|
|
// create '/get_all_kurir' get method
|
|
router.get('/get_all_kurir', session, authenticateToken, async (req, res) => {
|
|
try {
|
|
const kurir = await kurirModel.find({
|
|
status : 'Aktif'
|
|
}).sort({ created_at: -1 })
|
|
return res.status(200).send({ status: true, data: kurir })
|
|
}
|
|
catch (error) {
|
|
console.log(error);
|
|
res.status(500).send({ message: error.message });
|
|
}
|
|
})
|
|
|
|
|
|
router.get('/get_all_pengirim', session, authenticateToken, async (req, res) => {
|
|
try {
|
|
const pengirim = await pengirimModel.find().sort({ created_at: -1 })
|
|
return res.status(200).send({ status: true, data: pengirim })
|
|
}
|
|
catch (error) {
|
|
console.log(error);
|
|
res.status(500).send({ message: error.message });
|
|
}
|
|
})
|
|
|
|
|
|
// create 'verifikasi_kurir' post method
|
|
router.post('/verifikasi_kurir', session, authenticateToken, async (req, res) => {
|
|
try {
|
|
const { id_kurir } = req.body;
|
|
console.log(id_kurir, "ini id kurir di server")
|
|
|
|
|
|
const kurir = await kurirModel.findByIdAndUpdate(id_kurir, {
|
|
status : 'Aktif'
|
|
});
|
|
|
|
const kurir_all = await kurirModel.find({
|
|
status : 'Evaluasi'
|
|
});
|
|
return res.status(200).send({ status: true, data: kurir_all })
|
|
}
|
|
catch (error) {
|
|
console.log(error);
|
|
res.status(500).send({ message: error.message });
|
|
}
|
|
})
|
|
|
|
|
|
// create 'verifikasi_kurir' post method
|
|
router.post('/batalkan_kurir', session, authenticateToken, async (req, res) => {
|
|
try {
|
|
const { id_kurir } = req.body;
|
|
console.log(id_kurir, "ini id kurir di server")
|
|
|
|
|
|
const kurir = await kurirModel.findByIdAndUpdate(id_kurir, {
|
|
status : 'Ditolak'
|
|
});
|
|
|
|
const kurir_all = await kurirModel.find({
|
|
status : 'Evaluasi'
|
|
});
|
|
return res.status(200).send({ status: true, data: kurir_all })
|
|
}
|
|
catch (error) {
|
|
console.log(error);
|
|
res.status(500).send({ message: error.message });
|
|
}
|
|
})
|
|
|
|
function authenticateToken(req, res, next) {
|
|
// console.log(req.session, " ini authenticate")
|
|
const authHeader = req.headers['authorization']
|
|
const token = authHeader && authHeader.split(' ')[1]
|
|
if (token == null) {
|
|
req.session.destroy();
|
|
return res.sendStatus(401);
|
|
}
|
|
|
|
|
|
jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err, user) => {
|
|
if (err) {
|
|
req.session.destroy();
|
|
return res.sendStatus(403);
|
|
}
|
|
|
|
req.user = user
|
|
next()
|
|
})
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = router; |