added some endpoint

This commit is contained in:
kicap1992
2022-06-26 00:47:48 +08:00
parent 07299cbc62
commit 0f8229d8ec
5 changed files with 170 additions and 63 deletions

View File

@ -92,12 +92,22 @@ app.prepare().then(() => {
io1.on('connection', (socket) => {
console.log('socket connected');
socket.on('coba2', (_) => {
console.log(_.toString() +" ini di dia");
io1.emit('coba1', {
data: 'coba2'
console.log(_ , " ini di dia coba2");
io1.emit('percobaan1', {
data: 'percobaan1',
message:"ini terkirim ke user"
})
});
socket.on('pengiriman_create', (_) => {
console.log(_ ," ini dia pengiriman_create");
io1.emit('pengiriman_create'+_.id_pengirim, {
message: 'Pengiriman Baru Untuk Anda',
id_pengiriman : _.id_pengiriman,
})
})
})
// io2.on('connection', (socket) => {

View File

@ -21,15 +21,43 @@ const pengirimanBarangSchema = new mongoose.Schema({
lng: {
type: String,
required: true,
}
},
kelurahan_desa: {
type: String,
required: true,
},
},
kordinat_permulaan: {
lat: {
type: String,
required: true,
},
lng: {
type: String,
required: true,
}
},
foto_pengiriman: {
type: String
},
status_pengiriman: {
type: String,
default: 'Dalam Pengesahan Kurir',
},
biaya : {
biaya_minimal: {
type: Number,
required: true,
},
biaya_maksimal: {
type: Number,
required: true,
},
biaya_per_kilo: {
type: Number,
required: true,
}
},
kurir: {
type: mongoose.Schema.Types.ObjectId,
ref: 'tb_kurir'

View File

@ -3,7 +3,8 @@ const router = express.Router();
const md5 = require('md5');
const { pengaturanPengirimanModel } = require('../models/kurir_model');
const { kurirModel, loginUserModel } = require('../models/users_model');
const { kurirModel, loginUserModel , pengirimModel} = require('../models/users_model');
const { pengirimanBarangModel } = require('../models/pengirim_model');
let googlenya = require('../google/googleapi.js');
const pengirim_folder_id = process.env.PENGIRIM_FOLDER_ID;
@ -91,5 +92,33 @@ router.get('/pengaturan', cek_user_kurir, async (req, res) => {
res.status(200).send({ message: 'Pengaturan pengiriman berhasil ditemukan', data: cek_data });
})
// create '/pengiriman_kurir_dalam_pengesahan' get route
router.get('/pengiriman_kurir_dalam_pengesahan', async (req, res) => {
try {
console.log('masuk get pengiriman_kurir_dalam_pengesahan');
const cek_data = await pengirimanBarangModel.find({
kurir: req.query.id,
status: 'Dalam Pengesahan Kurir'
}).select(' -kurir -__v ').populate({
path: 'pengirim',
select: '-__v -created_at -updated_at -status'
});
res.status(200).send({ message: 'Data berhasil ditemukan', data: cek_data });
} catch (error) {
res.status(500).send({ message: 'Internal Server Error', data: null });
}
})
// create '/pengirim' get route
router.get('/pengirim', async (req, res) => {
console.log('masuk get pengirim');
// get all pengirim
const cek_data = await pengirimModel.find().select('-__v -created_at -updated_at');
res.status(200).send({ message: 'Data berhasil ditemukan', data: cek_data });
})
module.exports = router;

View File

@ -57,7 +57,7 @@ router.get('/', async (req, res) => {
return;
}
console.log(user);
// console.log(user);
res.status(200).send({
status: true,
@ -108,8 +108,8 @@ router.post('/daftar1', async (req, res) => {
// check if data.no_telp is exists
let isExist2 = await kurirModel.findOne({ no_telp: data.no_telp });
console.log(isExist2)
console.log("ini untuk no telpon")
// console.log(isExist2)
// console.log("ini untuk no telpon")
if (isExist2) {
let message = (isExist2.status == 'Evaluasi') ? 'No Telpon ini telah terdaftar sebelumnya dan sekarang dalam evaluasi tim kami.\n Jika anda pemilik no telpon ini, Tim kami akan mengirim ke email yang anda daftarkan sebelumnya untuk konfirmasi pendaftaran' : 'No Telpon Sudah Terdaftar dan sudah diaktifkan';
res.status(400).send({
@ -122,8 +122,8 @@ router.post('/daftar1', async (req, res) => {
// check if data.email is exists
let isExist3 = await kurirModel.findOne({ email: data.email });
console.log(isExist3)
console.log("ini untuk email")
// console.log(isExist3)
// console.log("ini untuk email")
if (isExist3) {
let message = (isExist3.status == 'Evaluasi') ? 'Email ini telah terdaftar sebelumnya dan sekarang dalam evaluasi tim kami.\nTim kami akan mengirim ke email ini yang anda daftarkan sebelumnya untuk konfirmasi pendaftaran' : 'Email Sudah Terdaftar dan sudah diaktifkan';
res.status(400).send({
@ -146,15 +146,15 @@ router.post('/daftar1', async (req, res) => {
res.send({ status: true, message: 'Anda akan mendapat notifikasi di email anda dan juga no telpon jika admin menyetujui ataupun membatalkan pendaftaran anda' });
console.log(data)
// console.log(data)
let new_kurir = new kurirModel(data);
let new_login = new loginUserModel(data);
new_login._idnya = new_kurir._id;
await new_kurir.save();
await new_login.save();
console.log(new_kurir)
console.log(new_login)
// console.log(new_kurir)
// console.log(new_login)
// add photo_url to new_kurir
@ -247,13 +247,13 @@ router.post('/daftar1', async (req, res) => {
new_pengirim.photo_url = `https://drive.google.com/uc?export=view&id=${await id_photo}`
console.log(new_pengirim)
// console.log(new_pengirim)
let new_login = new loginUserModel(data);
// push new_pengirim._id to new_login._idnya
new_login._idnya = new_pengirim._id;
console.log(new_login);
// console.log(new_login);
await new_pengirim.save();
await new_login.save();

View File

@ -17,6 +17,9 @@ const ktp_holding_kurir_folder_id = process.env.KTP_HOLDING_KURIR_FOLDER_ID;
const kenderaan_kurir_folder_id = process.env.KENDERAAN_KURIR_FOLDER_ID;
const foto_barangan_pengiriman_folder_id = process.env.FOTO_BARANG_PENGIRIMAN_ID;
const io = require("socket.io-client");
const socket = io("http://localhost:3001/");
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({
@ -45,7 +48,7 @@ router.get('/kurir', async (req, res) => {
try {
const data = await kurirModel.find({
status: 'Aktif'
}).select('-email -created_at -updated_at -__v -ktp_url -alamat').populate(
}).select(' -created_at -updated_at -__v -ktp_url -alamat').populate(
{
path: 'pengaturan_pengiriman',
}
@ -120,54 +123,69 @@ router.get('/kurir/filter/', cek_user_pengirim, async (req, res) => {
})
// create '/pengiriman_barang' post route
router.post('/pengiriman_barang', async (req, res) => {
router.post('/pengiriman_barang', cek_user_pengirim, async (req, res) => {
const id = req.query.id;
const id_kurir = req.body.id_kurir;
const nama_penerima = req.body.nama_penerima;
const no_telpon_penerima = req.body.no_telpon_penerima;
const alamat_penerima = req.body.alamat_penerima;
const lat_lokasi_pengiriman = req.body.lat_lokasi_pengiriman;
const long_lokasi_pengiriman = req.body.long_lokasi_pengiriman;
const kelurahan_desa = req.body.kelurahan_desa;
const data = (req.body.data != null && req.body.data != '') ? JSON.parse(req.body.data) : null;
const id_kurir = data.id_kurir;
const nama_penerima = data.nama_penerima;
const no_telpon_penerima = data.no_telpon_penerima;
const alamat_penerima = data.alamat_penerima;
const lokasi_pengiriman = data.lokasi_pengiriman;
const kelurahan_desa_pengiriman = data.kelurahan_desa_pengiriman;
const lokasi_permulaan = data.lokasi_permulaan;
const biaya = data.biaya;
const foto_pengiriman = req.files.foto_pengiriman;
const data = await pengirimanBarangModel.create({
// console.log(id , id_kurir , nama_penerima , no_telpon_penerima , alamat_penerima , lokasi_pengiriman[0] , kelurahan_desa_pengiriman , lokasi_permulaan[1] , ":ini datanya");
const data_created = await pengirimanBarangModel.create({
nama_penerima: nama_penerima,
no_telpon_penerima: no_telpon_penerima,
alamat_penerima: alamat_penerima,
kordinat_pengiriman: {
lat: lat_lokasi_pengiriman,
lng: long_lokasi_pengiriman
lat: lokasi_pengiriman[0],
lng: lokasi_pengiriman[1],
kelurahan_desa: kelurahan_desa_pengiriman,
},
kelurahan_desa: kelurahan_desa,
// foto_pengiriman: "ini url foto",
kordinat_permulaan: {
lat: lokasi_permulaan[0],
lng: lokasi_permulaan[1],
},
biaya: biaya,
kurir: id_kurir,
pengirim: id,
});
// console.log(data._id , "ini data pengiriman barang")
console.log(data_created._id, "ini data pengiriman barang")
await pengirimModel.findByIdAndUpdate(id, {
$push: {
pengiriman_barang: data._id
pengiriman_barang: data_created._id
}
})
await kurirModel.findByIdAndUpdate(id_kurir, {
$push: {
pengiriman_barang: data._id
pengiriman_barang: data_created._id
}
})
res.status(200).send({ message: 'connected to pengiriman_barang' })
res.status(200).send({ message: 'Berhasil menambahkan pengiriman barang' });
let id_photo = googlenya.uploadFile(data._id+".jpg", foto_pengiriman.path,foto_barangan_pengiriman_folder_id,"ini photo barang kiriman");
let id_photo = googlenya.uploadFile(data_created._id + ".jpg", foto_pengiriman.path, foto_barangan_pengiriman_folder_id, "ini photo barang kiriman");
const photo_url = `https://drive.google.com/uc?export=view&id=${await id_photo}`
await pengirimanBarangModel.findByIdAndUpdate(data._id, {
await pengirimanBarangModel.findByIdAndUpdate(data_created._id, {
foto_pengiriman: photo_url
})
socket.emit('pengiriman_create', {
id_pengiriman: data_created._id,
id_pengirim: id,
})
// const idnya= "62940077b44339ec97fe519e"
// const id_pengirim = '6260ba6b7b7d7a951d03d285'
@ -194,4 +212,26 @@ router.post('/pengiriman_barang', async (req, res) => {
})
// create '/log_kiriman' get route
// router.get('/log_kiriman', cek_user_pengirim, async (req, res) => {
router.get('/log_kiriman', async (req, res) => {
const id = req.query.id;
const data = await pengirimanBarangModel.find({
pengirim: id,
}).select('-pengirim -__v').populate({
path: 'kurir',
select: '-email -created_at -updated_at -__v -ktp_url -alamat -pengiriman_barang -ktp_holding_url -nik',
})
res.status(200).send({ data: data });
})
// create '/coba2' get route
router.get('/coba2', async (req, res) => {
console.log("sini berlaku coba2 notif")
socket.emit('coba2', {
data: 'coba2'
})
res.status(200).send({ message: 'coba2' });
})
module.exports = router;