This commit is contained in:
xfarrow 2024-10-31 15:16:06 +01:00
parent a29a8877d5
commit 7378c85d50
2 changed files with 29 additions and 5 deletions

View File

@ -14,15 +14,22 @@
const knex = require('../utils/knex_config'); const knex = require('../utils/knex_config');
async function insert(personId, infoContent, infoType) { async function insert(personId, infoContent, infoType) {
return await knex('PersonContactInfo') const contactInfo = await knex('PersonContactInfo')
.insert({ .insert({
person_id: personId, person_id: personId,
info: infoContent, info: infoContent,
info_type: infoType info_type: infoType
}) })
.returning("*"); .returning("*");
return contactInfo[0];
}
async function getInfoByPerson(personId) {
return await knex('PersonContactInfo')
.where('person_id', personId);
} }
module.exports = { module.exports = {
insert insert,
getInfoByPerson
} }

View File

@ -13,13 +13,13 @@
const express = require('express'); const express = require('express');
const jwtUtils = require('../utils/jwt_utils'); const jwtUtils = require('../utils/jwt_utils');
const PersonContactInfo = require('../models/person_contact_info'); const PersonContactInfo = require('../models/person_contact_info_model');
async function insert(req, res) { async function insert(req, res) {
try { try {
const contactInfo = PersonContactInfo.insert(req.jwt.person_id, req.body.content, req.body.info_type); const contactInfo = await PersonContactInfo.insert(req.jwt.person_id, req.body.content, req.body.info_type);
res.set('Location', `/api/persons/${req.jwt.person_id}/contactinfos/${contactInfo.id}`); res.set('Location', `/api/persons/${req.jwt.person_id}/contactinfos/${contactInfo.id}`);
return res.status(201).json(application); return res.status(201).json(contactInfo);
} catch (error) { } catch (error) {
console.error(`Error in function ${insert.name}: ${error}`); console.error(`Error in function ${insert.name}: ${error}`);
res.status(500).json({ res.status(500).json({
@ -28,8 +28,25 @@ async function insert(req, res) {
} }
} }
async function findByPerson(req, res) {
try {
const infos = await PersonContactInfo.getInfoByPerson(req.params.personId);
return res.status(200).json(infos);
} catch (error) {
console.error(`Error in function ${insert.name}: ${error}`);
res.status(500).json({
error: 'Internal server error'
});
}
}
async function remove(req, res){
}
const routes = express.Router(); const routes = express.Router();
routes.post('/myself/contactinfos', jwtUtils.extractToken, insert); routes.post('/myself/contactinfos', jwtUtils.extractToken, insert);
routes.get('/:personId/contactinfos', jwtUtils.extractToken, findByPerson)
module.exports = { module.exports = {
routes routes
}; };