mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 22:23:11 +02:00
110 lines
2.7 KiB
JavaScript
110 lines
2.7 KiB
JavaScript
const router = require("express").Router();
|
|
const Entry = require("../models/Entry");
|
|
const bcrypt = require('bcrypt');
|
|
|
|
|
|
//Create Entry
|
|
router.post("/", async(request, response)=>{
|
|
const newEntry = new Entry(request.body);
|
|
try{
|
|
const savedEntry = newEntry.save();
|
|
response.status(200).json(savedEntry);
|
|
return;
|
|
}catch(err){
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
})
|
|
|
|
//Update Entry
|
|
router.put("/:id", async(request, response)=>{
|
|
console.log("test");
|
|
const newEntry = new Entry(request.body);
|
|
try{
|
|
const entry = await Entry.findById(request.params.id);
|
|
if(entry.login === request.body.login){
|
|
try{
|
|
const updatedEntry = await Entry.findByIdAndUpdate(
|
|
request.params.id,
|
|
{
|
|
$set: request.body,
|
|
},
|
|
{ new : true }
|
|
);
|
|
response.status(200).json(updatedEntry);
|
|
return;
|
|
}catch(err){
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
}else{
|
|
response.status(401).json("You can not update entry that is not yours")
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
}catch(err){
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
})
|
|
|
|
//Delete Entry
|
|
router.delete("/:id", async(request, response)=>{
|
|
console.log("test");
|
|
const newEntry = new Entry(request.body);
|
|
try{
|
|
const entry = await Entry.findById(request.params.id);
|
|
if(entry.login === request.body.login){
|
|
try{
|
|
await entry.delete();
|
|
response.status(200).json("Entry deleted");
|
|
return;
|
|
}catch(err){
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
}else{
|
|
response.status(401).json("You can not delete entry that is not yours")
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
}catch(err){
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
})
|
|
//Get Entry
|
|
router.get("/:id", async (request, response) => {
|
|
try {
|
|
const entry = await Entry.findById(request.params.id);
|
|
response.status(200).json(entry);
|
|
return;
|
|
} catch (err) {
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
})
|
|
|
|
//Get all entries
|
|
router.get("/", async (request, response) => {
|
|
const login = request.query.login;
|
|
try {
|
|
let entries;
|
|
if(login){
|
|
entries = await Entry.find({login});
|
|
} else {
|
|
entries = await Entry.find();
|
|
}
|
|
response.status(200).json(entries);
|
|
return;
|
|
} catch (err) {
|
|
response.status(500).json(err);
|
|
return;
|
|
}
|
|
})
|
|
|
|
module.exports = router; |