censis-archive/obrand/obrand-admin-server/O-BrandServer/server/app/companies.js
2016-06-06 11:45:51 +01:00

61 lines
1.7 KiB
JavaScript

/*jshint node:true*/
var db = require('../units/db-connector').dbConnection;
var dbCompany = require('../units/db-company')(db);
var $U = require('md-utils');
module.exports = function(app) {
var express = require('express');
var companiesRouter = express.Router();
companiesRouter.get('/:id', function(req, res) {
'use strict';
var id = req.params.id;
dbCompany.sqlGetSimpleCompany(id)
.then(function(data) {
const response = {
data: {
type: 'company', id: id, attributes: $U.reDashObject(data)
}
};
res.status(200).send(response);
})
.catch(function(err) {
console.error(err);
res.status(401).end();
});
});
companiesRouter.patch('/:id', function(req, res) {
'use strict';
if (/Bearer .+/.test(req.headers.authorization)) {
var updateData = $U.unDashObject(req.body.data.attributes);
dbCompany.addNewCompany(updateData)
.then(function(d) {
let response = {
data: {
type: 'company', id: d.cid, attributes: d
}
};
res.status(200).send(response);
})
.catch(function(e) {
console.error(e);
res.status(401).end();
});
}
});
companiesRouter.delete('/:id', function(req, res) {
res.status(204).end();
});
app.use('/api/companies', require('body-parser').json({type: 'application/vnd.api+json'}));
app.use('/api/companies', companiesRouter);
};