Merge branch 'Dev-branch'

This commit is contained in:
newtbot
2024-01-21 03:59:15 +08:00
27 changed files with 1229 additions and 442 deletions

View File

@ -1,10 +1,14 @@
'use strict';
const router = require('express').Router();
const { auth } = require("../middleware/authChecker")
router.use('/user', require('./user'));
router.use('/auth', require('./auth'));
router.use('/apikey', require('./apikey'));
router.use('/user', auth ,require('./user'));
module.exports = router;

View File

@ -0,0 +1,56 @@
const { addUser, loginUser } = require("../functions/apiDatabase.js");
const express = require("express");
const router = express.Router();
// /user/register
router.post("/register", async (req, res, next) => {
try {
console.log(req.body);
let Res = await addUser(req.body);
if (Res == false) {
let error = new Error("UserRegFailed");
error.message = "The user failed to be craated";
error.status = 400;
return next(error);
}
else{
return res.json({
message: "User created successfully",
});
}
} catch (error) {
console.error(error);
next(error);
}
});
//login
router.post("/login", async (req, res, next) => {
try {
let Res = await loginUser(req.body);
if (Res == false) {
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
console.log("my res" , Res);
return res.json({
message: "User login successfully",
token: Res.token,
userid: Res.userid,
username: Res.username,
});
}
} catch (error) {
console.error(error);
next(error);
}
});
module.exports = router;

View File

@ -61,4 +61,14 @@ router.get('/contact', function(req, res, next) {
res.render('contact');
});
//api doc
router.get('/api', function(req, res, next) {
res.render('api');
});
//profile page
router.get('/profile', function(req, res, next) {
res.render('profile');
});
module.exports = router;

View File

@ -1,100 +1,58 @@
const { addUser, loginUser } = require("../functions/apiDatabase.js");
const { getUserID , deleteUserToken } = require("../functions/apiDatabase.js");
const express = require("express");
const router = express.Router();
// /user/register
router.post("/register", async (req, res, next) => {
try {
let Res = await addUser(req.body);
if (Res == false) {
let error = new Error("UserRegFailed");
error.message = "The user failed to be craated";
error.status = 400;
return next(error);
}
else{
return res.json({
message: "User created successfully",
});
//api/v0/user/me
//getbyid
router.get("/me", async function (req, res, next) {
try {
//console.log(req.user);
let user = await getUserID(req.user);
if (!user) {
let error = new Error("User not found");
error.status = 400;
return next(error);
}
res.json({
user: user,
});
} catch (error) {
next(error);
}
} catch (error) {
console.error(error);
next(error);
}
});
//login
router.post("/login", async (req, res, next) => {
try {
let Res = await loginUser(req.body);
if (Res == false) {
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
console.log(Res);
return res.json({
message: "User login successfully",
token: Res.token,
userId: Res.userid,
username: Res.username,
});
//logout
router.delete('/logout', async function(req, res, next){
try{
/*
let authToken = req.header('auth-token');
let userDel = await deleteUserToken(authToken);
if (!userDel) {
let error = new Error("User not found");
error.status = 400;
return next(error);
}
*/
//destroy method call on seq object
req.token.destroy();
// DO NOT CALL THIS!!! IT WILL DESTROY USERMODEL SEQ OBJ
//req.user.destroy();
res.json({
message: "User logged out successfully",
});
}catch(error){
next(error);
}
} catch (error) {
console.error(error);
next(error);
}
});
});
//update
//delete
//getbyid
module.exports = router;
/*
curl localhost/api/v0/user/register -H "Content-Type: application/json" -X POST -d '{"username":
"testuser123", "password": "thisisthesystemuserpasswordnoob", "email": "testuser123@ecosaver.com", "address":
"Nanyang Polytechnic 180 Ang Mo Kio Avenue 8 Singapore 569830", "phone": "12345678"}'
'use strict';
const router = require('express').Router();
const {User} = require('../models/user');
router.get('/', async function(req, res, next){
try{
return res.json({
results: await User[req.query.detail ? "listDetail" : "list"]()
});
}catch(error){
next(error);
}
});
router.get('/me', async function(req, res, next){
try{
return res.json(await User.get({uid: req.user.uid}));
}catch(error){
next(error);
}
});
router.get('/:uid', async function(req, res, next){
try{
return res.json({
results: await User.get(req.params.uid),
});
}catch(error){
next(error);
}
});
module.exports = router;
*/