add delete mapping route, controller and implementation

This commit is contained in:
Bilal Catic
2019-08-28 09:30:19 +02:00
parent 8128247a74
commit 94f0bcc748
3 changed files with 26 additions and 2 deletions

View File

@@ -2,7 +2,7 @@
const moment = require('moment-timezone'); const moment = require('moment-timezone');
const { getMappingsFromDatabase, fetchOffices, fetchResources, saveNewMappingToDatabase } = require('../services/officeRnD/resources'); const { getMappingsFromDatabase, fetchOffices, fetchResources, saveNewMappingToDatabase, deleteMappingById } = require('../services/officeRnD/resources');
const { getAllIncidents, getMemberPracticeSummaryReport } = require('../services/integration/reports'); const { getAllIncidents, getMemberPracticeSummaryReport } = require('../services/integration/reports');
const { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration'); const { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration');
const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees'); const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees');
@@ -13,7 +13,7 @@ const { checkIfProcessing } = require('../services/integration/processingStatus'
const { UI_TIMEZONE } = require('../constants/constants'); const { UI_TIMEZONE } = require('../constants/constants');
const getKnownOfficeResourceMappings = (req, res) => { const getKnownOfficeResourceMappings = (req, res) => {
const dataToFetch = [getMappingsFromDatabase(), fetchOffices(), fetchResources() ]; const dataToFetch = [getMappingsFromDatabase(), fetchOffices(), fetchResources()];
Promise.all(dataToFetch) Promise.all(dataToFetch)
.then(result => { .then(result => {
@@ -41,6 +41,22 @@ const addNewMapping = (req, res) => {
} }
}; };
const deleteMapping = (req, res) => {
const mappingId = req.params.mappingId;
if (mappingId && parseInt(mappingId)){
deleteMappingById(mappingId)
.then(() => {
getKnownOfficeResourceMappings(req, res);
})
.catch((error) => {
console.log('Error deleting mapping with id = ', mappingId);
console.log(error);
res.status(500).send();
});
}
};
const getAllIncidentsController = (req, res) => { const getAllIncidentsController = (req, res) => {
const dateRange = { const dateRange = {
startDate: req.params.startDate, startDate: req.params.startDate,
@@ -170,6 +186,7 @@ const getPracticeSummaryReport = (req, res) => {
module.exports = { module.exports = {
getKnownOfficeResourceMappings, getKnownOfficeResourceMappings,
addNewMapping, addNewMapping,
deleteMapping,
getAllIncidentsController, getAllIncidentsController,
getMemberIncidents, getMemberIncidents,
addFees, addFees,

View File

@@ -6,6 +6,7 @@ const { fetchMembersList } = require('../controllers/officeRnD');
const { const {
getKnownOfficeResourceMappings, getKnownOfficeResourceMappings,
addNewMapping, addNewMapping,
deleteMapping,
getAllIncidentsController, getAllIncidentsController,
getMemberIncidents, getMemberIncidents,
addFees, addFees,
@@ -23,6 +24,7 @@ router.get('/', apiStatusCheck);
router.post('/doorLock/upload', uploadDoorLockData); router.post('/doorLock/upload', uploadDoorLockData);
router.get('/integration/mappings', getKnownOfficeResourceMappings); router.get('/integration/mappings', getKnownOfficeResourceMappings);
router.post('/integration/mappings', addNewMapping); router.post('/integration/mappings', addNewMapping);
router.delete('/integration/mappings/:mappingId', deleteMapping);
router.get('/integration/report/member/:memberId/:startDate/:endDate', getMemberIncidents); router.get('/integration/report/member/:memberId/:startDate/:endDate', getMemberIncidents);
router.get('/integration/report/allIncidents/:startDate/:endDate', getAllIncidentsController); router.get('/integration/report/allIncidents/:startDate/:endDate', getAllIncidentsController);

View File

@@ -73,6 +73,10 @@ const getMappingsFromDatabase = () => {
return db.officeResourceMapping.findAll(); return db.officeResourceMapping.findAll();
}; };
const deleteMappingById = (id) => {
return db.officeResourceMapping.destroy({where: {id}});
};
const saveNewMappingToDatabase = (mapping) => { const saveNewMappingToDatabase = (mapping) => {
return db.officeResourceMapping.findOrCreate({where: {...mapping}, defaults: {...mapping}}); return db.officeResourceMapping.findOrCreate({where: {...mapping}, defaults: {...mapping}});
}; };
@@ -83,4 +87,5 @@ module.exports = {
fetchResources, fetchResources,
getResourceMappings, getResourceMappings,
saveNewMappingToDatabase, saveNewMappingToDatabase,
deleteMappingById,
}; };