added pengirim and maps api

This commit is contained in:
kicap1992
2022-05-26 06:18:34 +08:00
parent 73ea1fe511
commit daa648e4df
11 changed files with 333 additions and 4 deletions

View File

@ -0,0 +1,80 @@
const express = require('express');
const router = express.Router();
const md5 = require('md5');
const { pengaturanPengirimanModel } = require('../models/kurir_model');
const { kurirModel, loginUserModel } = require('../models/users_model');
let googlenya = require('../google/googleapi.js');
const pengirim_folder_id = process.env.PENGIRIM_FOLDER_ID;
const kurir_folder_id = process.env.KURIR_FOLDER_ID;
const ktp_kurir_folder_id = process.env.KTP_KURIR_FOLDER_ID;
const ktp_holding_kurir_folder_id = process.env.KTP_HOLDING_KURIR_FOLDER_ID;
const kenderaan_kurir_folder_id = process.env.KENDERAAN_KURIR_FOLDER_ID;
async function cek_user_kurir(req, res, next) {
if (req.query.username == null && req.query.password == null && req.query.id == null) return res.status(401).send({ message: 'Not Authorized' });
const cek_login = await loginUserModel.findOne({
username: req.query.username,
password: req.query.password,
role: 'kurir'
})
if (!cek_login) return res.status(401).send({ message: 'Not Authorized' });
const cek_kurir = await kurirModel.findOne({
_id: req.query.id
})
if (!cek_kurir) return res.status(401).send({ message: 'Not Authorized' });
next()
}
// create '/pengaturan' post route
router.post('/pengaturan', cek_user_kurir, async (req, res) => {
// console.log('masuk post pengaturan');
const minimal_biaya_pengiriman = req.body.minimal_biaya_pengiriman;
const maksimal_biaya_pengiriman = req.body.maksimal_biaya_pengiriman;
const biaya_per_kilo = req.body.biaya_per_kilo;
const cek_data = await pengaturanPengirimanModel.findOne({
id_kurir: req.query.id
});
let message, datanya;
if (cek_data) {
datanya = await pengaturanPengirimanModel.findOneAndUpdate({
id_kurir: req.query.id,
}, {
biaya_minimal: minimal_biaya_pengiriman,
biaya_maksimal: maksimal_biaya_pengiriman,
biaya_per_kilo: biaya_per_kilo,
updated_at: new Date()
})
message = 'Pengaturan pengiriman berhasil diubah';
} else {
datanya = new pengaturanPengirimanModel({
id_kurir: req.query.id,
biaya_minimal: minimal_biaya_pengiriman,
biaya_maksimal: maksimal_biaya_pengiriman,
biaya_per_kilo,
created_at: new Date(),
updated_at: new Date()
});
await datanya.save();
message = 'Pengaturan biaya pengiriman berhasil dibuat';
console.log("data baru");
}
res.status(200).send({ message: message, data: datanya });
})
// create '/pengaturan' get route
router.get('/pengaturan', cek_user_kurir, async (req, res) => {
// console.log('masuk get pengaturan');
const cek_data = await pengaturanPengirimanModel.findOne({
id_kurir: req.query.id
});
if (!cek_data) return res.status(200).send({ message: 'Pengaturan tidak ditemukan' , data: null});
res.status(200).send({ message: 'Pengaturan pengiriman berhasil ditemukan', data: cek_data });
})
module.exports = router;

View File

@ -0,0 +1,37 @@
const express = require('express');
const router = express.Router();
const {pengirimModel, loginUserModel} = require('../models/users_model');
let googlenya = require('../google/googleapi.js');
const pengirim_folder_id = process.env.PENGIRIM_FOLDER_ID;
const kurir_folder_id = process.env.KURIR_FOLDER_ID;
const ktp_kurir_folder_id = process.env.KTP_KURIR_FOLDER_ID;
const ktp_holding_kurir_folder_id = process.env.KTP_HOLDING_KURIR_FOLDER_ID;
const kenderaan_kurir_folder_id = process.env.KENDERAAN_KURIR_FOLDER_ID;
async function cek_user_pengirim(req, res, next) {
if (req.query.username == null && req.query.password == null && req.query.id == null) return res.status(401).send({ message: 'Not Authorized' });
const cek_login = await loginUserModel.findOne({
username: req.query.username,
password: req.query.password,
role: 'pengirim'
})
if (!cek_login) return res.status(401).send({ message: 'Not Authorized' });
const cek_pengirim = await pengirimModel.findOne({
_id: req.query.id
})
if (!cek_pengirim) return res.status(401).send({ message: 'Not Authorized' });
next()
}
// create get route
router.get('/', cek_user_pengirim, async (req, res) => {
console.log("sini router get pengirim");
res.status(200).send({ message: 'connected to pengirim' })
})
module.exports = router;

View File

@ -0,0 +1,56 @@
const express = require('express');
const router = express.Router();
const { petaKecamatanModel, petaKelurahanDesaModel } = require('../models/peta_model');
// create get route
router.get('/', async (req, res) => {
console.log("sini router get peta");
res.status(200).send({ message: 'connected to peta' })
})
// create '/kecamatan' get route
router.get('/kecamatan', async (req, res) => {
try {
// const nama = req.query.nama;
let data;
// if (nama == null) {
// data = await petaKecamatanModel.find({});
// }else
data = await petaKecamatanModel.findOne({
kecamatan: "Enrekang"
});
console.log("sini cari kecamatan");
res.status(200).send({ data: data });
} catch (error) {
console.log(error, " ini error di peta kecamatan");
res.status(500).send({ message: 'Internal Server Error' });
}
})
// create '/kelurahan_desa' get route
router.get('/kelurahan_desa', async (req, res) => {
try {
const kelurahan_desa = req.query.kelurahan_desa;
let data;
if(kelurahan_desa != null && kelurahan_desa != ""){
data = await petaKelurahanDesaModel.findOne({
kelurahan_desa: kelurahan_desa
});
}else{
// exclude polygon
data = await petaKelurahanDesaModel.find().select('-polygon');
}
console.log("sini cari kelurahan_desa");
res.status(200).send({ data: data });
} catch (error) {
console.log(error, " ini error di peta kelurahan desa");
res.status(500).send({ message: 'Internal Server Error' });
}
})
module.exports = router;