mirror of
https://github.com/xfarrow/blink
synced 2025-06-27 09:03:02 +02:00
Create experience endpoint (beta)
This commit is contained in:
@ -28,7 +28,7 @@ const serverRoutes = require('./routes/server_routes.js');
|
||||
const resetPasswordRoutes = require('./routes/reset_password_routes.js');
|
||||
const applicationRoutes = require('./routes/job_application_routes.js');
|
||||
const personContactInfosRoutes = require('./routes/person_contact_info_routes.js');
|
||||
|
||||
const experienceRoutes = require('./routes/experience_routes.js');
|
||||
/*
|
||||
===== END IMPORTING MODULES =====
|
||||
*/
|
||||
@ -59,7 +59,7 @@ app.use('/api/organizations', organizationAdminRoutes.routes);
|
||||
app.use('/api/resetpassword', resetPasswordRoutes.routes);
|
||||
app.use('/api/organizations', applicationRoutes.routes);
|
||||
app.use('/api/people', personContactInfosRoutes.routes);
|
||||
|
||||
app.use('/api/experiences', experienceRoutes.routes);
|
||||
/*
|
||||
===== END ROUTE HANDLING =====
|
||||
*/
|
||||
|
@ -9,4 +9,34 @@
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
*/
|
||||
*/
|
||||
|
||||
const knex = require('../utils/knex_config');
|
||||
|
||||
function createExperience(title, description, organizationId, organizationName, date, person_id, type) {
|
||||
const experience = {
|
||||
title,
|
||||
description,
|
||||
organization_id: organizationId,
|
||||
organization_name: organizationName,
|
||||
date,
|
||||
person_id,
|
||||
type
|
||||
};
|
||||
return experience;
|
||||
}
|
||||
|
||||
async function insert(experience){
|
||||
const insertedExperience = await knex('Experience')
|
||||
.insert(experience)
|
||||
.returning('*');
|
||||
return insertedExperience[0];
|
||||
}
|
||||
|
||||
// Exporting a function
|
||||
// means making a JavaScript function defined in one
|
||||
// module available for use in another module.
|
||||
module.exports = {
|
||||
createExperience,
|
||||
insert
|
||||
};
|
@ -9,4 +9,36 @@
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
*/
|
||||
*/
|
||||
|
||||
const Experience = require('../models/experience_model');
|
||||
const express = require('express');
|
||||
const jwtUtils = require('../utils/jwt_utils');
|
||||
|
||||
async function addExperience(req, res) {
|
||||
try {
|
||||
const experienceToInsert = Experience.createExperience(
|
||||
req.body.title,
|
||||
req.body.description,
|
||||
req.body.organizationId,
|
||||
req.body.organizationName,
|
||||
req.body.date,
|
||||
req.jwt.person_id,
|
||||
req.body.type
|
||||
)
|
||||
const insertedExperience = await Experience.insert(experienceToInsert);
|
||||
return res.status(201).json(insertedExperience);
|
||||
} catch (error) {
|
||||
console.error(`Error in function ${addExperience.name}: ${error}`);
|
||||
return res.status(500).json({
|
||||
error: 'Internal server error'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const routes = express.Router();
|
||||
routes.post('/', jwtUtils.extractToken, addExperience);
|
||||
|
||||
module.exports = {
|
||||
routes
|
||||
};
|
Reference in New Issue
Block a user