This commit is contained in:
Leo
2024-01-27 05:54:35 +08:00
34 changed files with 2039 additions and 610 deletions

View File

@ -18,5 +18,8 @@ router.use('/sensor', [auth, APIlogger], require('./sensor.js'));
//sensor data route
router.use('/sensor-data', [auth, APIlogger], require('./sensorData.js'));
//latest sensor data to display on dashboard
router.use('/latest-sensor-data', [APIlogger], require('./latestsensorData.js'));
module.exports = router;

View File

@ -1,4 +1,5 @@
const { addUser, loginUser } = require("../functions/user");
const { addUser, loginUser, checkEmail } = require("../functions/user");
const { sendContactEmail } = require("../functions/nodeMail");
const express = require("express");
const router = express.Router();
@ -12,12 +13,11 @@ router.post("/register", async (req, res, next) => {
error.message = "The user failed to be craated";
error.status = 400;
return next(error);
} else {
return res.json({
message: "User created successfully",
});
}
else{
return res.json({
message: "User created successfully",
});
}
} catch (error) {
console.error(error);
next(error);
@ -29,20 +29,18 @@ router.post("/login", async (req, res, next) => {
try {
let Res = await loginUser(req.body);
if (Res == false) {
let error = new Error("User Login Failed");
let error = new Error("User Login Failed");
error.status = 400;
return next(error);
} else {
//pass res back to form to be set in local storage
return res.json({
message: "User login successfully",
token: Res.token,
userid: Res.userid,
username: Res.username,
});
}
else{
//pass res back to form to be set in local storage
return res.json({
message: "User login successfully",
token: Res.token,
userid: Res.userid,
username: Res.username,
});
}
} catch (error) {
console.error(error);
next(error);
@ -52,8 +50,26 @@ router.post("/login", async (req, res, next) => {
//contact
//auth/contact
router.post("/contact", async (req, res, next) => {
try {
//console.log(req.body);
let Res = await checkEmail(req.body.email);
if (!Res) {
let error = new Error("Email not found");
error.status = 400;
return next(error);
}
else{
//console.log(Res);
sendContactEmail(req.body.email, req.body.name, req.body.message);
return res.json({
message: "Email sent successfully",
});
}
} catch (error) {
console.error(error);
next(error);
}
});
module.exports = router;

View File

@ -0,0 +1,21 @@
const {
getLatestData,
} = require("../functions/sensorData");
const express = require("express");
const router = express.Router();
router.get("/data", async (req, res, next) => {
try {
console.log(req.query);
const data = await getLatestData();
res.status(200).json(data);
} catch (error) {
console.error(error);
next(error);
}
});
module.exports = router;

View File

@ -1,4 +1,7 @@
const { addToken } = require("../functions/api");
const { checkEmail , getUserByEmail } = require("../functions/user");
const { sendTokenEmail } = require("../functions/nodeMail");
const express = require("express");
@ -15,8 +18,29 @@ const router = express.Router();
//'{"userid": "5", "permission": "canRead" ,}'
router.post("/new", async (req, res, next) => {
try {
const token = await addToken(req.body.userid, req.body.permission , "2204-01-24 07:34:36" );
res.json({token: token});
//console.log(req.body);
const Res = await checkEmail(req.body.email);
if (!Res) {
let error = new Error("Email not found");
error.status = 400;
return next(error);
}
else
{
//console.log("email found");
let userid = await getUserByEmail(req.body.email);
if (!userid) return false;
const token = await addToken(userid.id, "canRead" , "2204-01-24 07:34:36" );
if (!token) return false;
sendTokenEmail(req.body.email, token);
res.json({
message: "Token generated successfully and sent to email",
})
}
//const token = await addToken(req.body.userid, "canRead" , "2204-01-24 07:34:36" );
//res.json({token: token});
} catch (error) {
console.error(error);
next(error);

View File

@ -8,7 +8,7 @@ const router = express.Router();
router.get("/me", async function (req, res, next) {
try {
let user = await getUserByID(req.user);
console.log(user);
//console.log(user);
res.json({
user: user,
});