update person

This commit is contained in:
xfarrow 2023-10-19 14:58:06 +02:00
parent 0071ded9e9
commit bb1fbfa1f2
2 changed files with 26 additions and 8 deletions

View File

@ -23,6 +23,7 @@ app.use(cors());
app.post('/blinkapi/register', api_controller.registerPerson); // Register a Person
app.post('/blinkapi/login', api_controller.login); // Login
app.get('/blinkapi/person/:id', api_controller.verifyToken, api_controller.getPerson); // Obtain Person's details
app.put('/blinkapi/person/:id', api_controller.verifyToken, api_controller.updatePerson); // Update Person's details
app.delete('/blinkapi/person/delete', api_controller.verifyToken, api_controller.deletePerson); // Delete a Person
app.post('/blinkapi/organization', api_controller.verifyToken, api_controller.createOrganization); // Create organization
app.get('/blinkapi/organization/:id', api_controller.verifyToken, api_controller.getOrganization); // Get Organization data
@ -30,7 +31,6 @@ app.delete('/blinkapi/organization/:id', api_controller.verifyToken, api_control
app.post('/blinkapi/organization/post', api_controller.verifyToken, api_controller.createOrganizationPost); // Create a organization's post
app.delete('/blinkapi/organization/post/:id', api_controller.verifyToken, api_controller.deleteOrganizationPost); // Delete a organization's post
app.post('/blinkapi/organization/admin', api_controller.verifyToken, api_controller.addOrganizationAdmin); // Add Organization Administrator
app.delete('/blinkapi/organization/admin/:id', api_controller.verifyToken, api_controller.removeOrganizationAdmin); // Remove Organization Administrator
// Start the server
app.listen(process.env.API_SERVER_PORT, () => {

View File

@ -122,6 +122,29 @@ async function getPerson(req, res){
}
}
// PUT
async function updatePerson(req, res){
if (req.jwt.person_id != req.params.id){
return res.status(403).json({ error : "Forbidden"});
}
try {
await knex('Person')
.where('id', req.params.id)
.update({
display_name: req.body.display_name,
date_of_birth: req.body.date_of_birth,
available: req.body.available,
place_of_living: req.body.place_of_living
});
return res.status(200).json({ success : "true"});
}
catch (error) {
console.log("Error while updating a Person: " + error);
return res.status(500).json({ error : "Internal server error"});
}
}
// GET
async function deletePerson(req, res) {
// A user can only delete themselves
@ -336,11 +359,6 @@ async function addOrganizationAdmin(req, res){
}
}
// DELETE
async function removeOrganizationAdmin(req, res){
}
// ======== END API ENDPOINTS ========
async function checkUserCredentials(email, password){
@ -407,6 +425,7 @@ module.exports = {
registerPerson,
login,
getPerson,
updatePerson,
deletePerson,
verifyToken,
createOrganization,
@ -414,6 +433,5 @@ module.exports = {
deleteOrganization,
createOrganizationPost,
deleteOrganizationPost,
addOrganizationAdmin,
removeOrganizationAdmin
addOrganizationAdmin
};