Commit 9f142ace authored by Jayawardena K R U S's avatar Jayawardena K R U S

Added the backend Delivery Routing System

parent 05c2424c
# corierAPI
const express = require("express");
const cors = require("cors");
const deliveryRoutes = require("./routes/delivery");
const orderRoutes = require("./routes/order");
const app = express();
app.use(cors());
app.use(express.json());
app.use("/delivery", deliveryRoutes);
app.use("/order", orderRoutes);
app.listen(3001, () => {
console.log(`Server is running on port ${3001}`);
});
const mysql = require("mysql");
const dbConfig = mysql.createConnection({
host: "dcsrp-db-01.cvqssef8vzgx.ap-southeast-1.rds.amazonaws.com",
user: "dcsrp_thathsara",
password: "i6cLWGPsFXaQkB",
database: "dcsrp_db",
port: 3306,
// host: "localhost",
// user: "root",
// password: "admin",
// database: "dcsrp_db",
// port: 3306,
});
//Create connection
dbConfig.connect((err) => {
if (err) {
console.log(err);
throw err;
} else {
console.log("Database Connected");
}
});
module.exports = dbConfig;
This diff is collapsed.
{
"name": "backend",
"version": "1.0.0",
"description": "performance tracker backend APIs",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "uditha nayanajith 0766574153",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"express": "^4.18.2",
"mysql": "^2.18.1"
}
}
const express = require("express");
const router = express.Router();
const OrderController = require("./orderController");
router.get("/", OrderController.IndexController);
router.get("/customers", OrderController.GetAllCustomers);
router.get("/pakages", OrderController.GetAllPackages);
router.get("/:id", OrderController.IndexGetByIdController);
router.post("/", OrderController.IndexPostController);
router.delete("/:id", OrderController.IndexDeleteController);
router.put("/:id", OrderController.IndexUpdateController);
module.exports = router;
const dbConfig = require("../lib/db");
exports.IndexController = (req, res) => {
try {
const getOrders = `SELECT id,vehicle,
destination,
order_id,
status,
estimated_date,
departure_date FROM delivery`;
dbConfig.query(getOrders, (err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
});
} catch (error) {}
};
exports.IndexGetByIdController = (req, res) => {
try {
dbConfig.query(
"SELECT * FROM `delivery` WHERE id = ?",
[req.params.id],
(err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
}
);
} catch (error) {}
};
exports.IndexPostController = (req, res) => {
const dataFromAPI = req.body;
try {
const insertQuery = `
INSERT INTO delivery (
package_id,
branch_pickup,
vehicle,
date,
destination,
order_id,
status,
estimated_date,
customer_id,
telephone_number,
departure_date
)
VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`;
dbConfig.query(
insertQuery,
[
dataFromAPI.packageId,
dataFromAPI.branch_pickup,
dataFromAPI.vehicle,
dataFromAPI.date,
dataFromAPI.destination,
dataFromAPI.orderId,
dataFromAPI.status,
dataFromAPI.estimated_date,
dataFromAPI.customerId,
dataFromAPI.telephone_number,
dataFromAPI.departure_date,
],
(error, results) => {
if (error) {
if (error.code === "ER_DUP_ENTRY") {
res
.status(400)
.json({ error: "Duplicate customer_id and order_id" });
} else {
console.error(error);
res.status(500).json({ error: "Internal server error" });
}
} else {
res.status(201).json({ message: "Delivery created successfully" });
}
}
);
} catch (error) {
console.error(error);
res.status(500).json({ error: "Internal server error" });
}
};
exports.IndexDeleteController = (req, res) => {
try {
dbConfig.query(
"DELETE FROM `delivery` WHERE `id` = ?",
[req.params.id],
(err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
}
);
} catch (error) {
console.log(error);
}
};
exports.IndexUpdateController = (req, res) => {
try {
dbConfig.query(
"UPDATE `delivery` SET ? WHERE id = ?",
[req.body, req.params.id],
(err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
}
);
} catch (error) {
console.log(error);
}
};
exports.GetAllCustomers = (req, res) => {
try {
const getOrders = `SELECT id FROM customers`;
dbConfig.query(getOrders, (err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
});
} catch (error) {}
};
exports.GetAllPackages = (req, res) => {
try {
const getOrders = `SELECT id FROM packages`;
dbConfig.query(getOrders, (err, result) => {
if (err) throw err;
res.status(200).json({ data: result });
});
} catch (error) {}
};
# Courier_Service
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment