backend code refactoring
This commit is contained in:
91
backend/controllers/skill.js
Normal file
91
backend/controllers/skill.js
Normal file
@@ -0,0 +1,91 @@
|
||||
var express = require ('express'), router = express.Router ();
|
||||
const constants = require ('../config/constants');
|
||||
var databaseHelper = require ('../helpers/database');
|
||||
var amazonHelper = require ('../helpers/amazon');
|
||||
var bodyParser = require ('body-parser');
|
||||
var alexa = require ('../components/alexa');
|
||||
|
||||
router.get ('/:id', async (req, res, next) => {
|
||||
const id = req.params.id;
|
||||
|
||||
if (id.length !== constants.skillIDLength) {
|
||||
res.json ([]);
|
||||
} else {
|
||||
databaseHelper
|
||||
.getSkill (id)
|
||||
.then (result => {
|
||||
res.json (result);
|
||||
})
|
||||
.catch (err => {
|
||||
res.json ([]);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
router.post ('/:id', bodyParser.json (), async (req, res, next) => {
|
||||
let id = req.params.id;
|
||||
let dataFromWeb = JSON.stringify (req.body);
|
||||
let skill = JSON.parse (dataFromWeb);
|
||||
let updateOnAmazon = skill.updateOnAmazon;
|
||||
|
||||
delete skill.updateOnAmazon;
|
||||
delete skill._id;
|
||||
|
||||
console.log ('id = ' + id);
|
||||
|
||||
if (id !== '-1') {
|
||||
if (updateOnAmazon) {
|
||||
amazonHelper
|
||||
.updateSkill (skill)
|
||||
.then (amazonResult => {
|
||||
console.log ('Amazon : ' + amazonResult);
|
||||
if (
|
||||
amazonResult === constants.amazonResultCodes.ok ||
|
||||
amazonResult === constants.amazonResultCodes.accepted
|
||||
) {
|
||||
//Skill uploaded, it's ok to update databaseI
|
||||
databaseHelper
|
||||
.updateSkill (id, skill)
|
||||
.then (result => {
|
||||
res.json ({result: constants.apiResultCodes.ok, message: ''});
|
||||
alexa.updateIntentsJSON ();
|
||||
})
|
||||
.catch (e => {
|
||||
res.json ({
|
||||
result: constants.apiResultCodes.databaseError,
|
||||
message: '',
|
||||
});
|
||||
});
|
||||
} else {
|
||||
res.json ({
|
||||
result: constants.apiResultCodes.amazonError,
|
||||
message: amazonResult,
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch (e => {
|
||||
res.json ({
|
||||
result: constants.apiResultCodes.amazonError,
|
||||
message: 'unknown',
|
||||
});
|
||||
});
|
||||
} else {
|
||||
databaseHelper
|
||||
.updateSkill (id, skill)
|
||||
.then (result => {
|
||||
res.json ({result: constants.apiResultCodes.ok, message: ''});
|
||||
alexa.updateIntentsJSON ();
|
||||
})
|
||||
.catch (e => {
|
||||
res.json ({
|
||||
result: constants.apiResultCodes.databaseError,
|
||||
message: '',
|
||||
});
|
||||
});
|
||||
}
|
||||
} else {
|
||||
//no new skills for now
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user