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 { 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 { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration');
const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees');
@@ -13,7 +13,7 @@ const { checkIfProcessing } = require('../services/integration/processingStatus'
const { UI_TIMEZONE } = require('../constants/constants');
const getKnownOfficeResourceMappings = (req, res) => {
const dataToFetch = [getMappingsFromDatabase(), fetchOffices(), fetchResources() ];
const dataToFetch = [getMappingsFromDatabase(), fetchOffices(), fetchResources()];
Promise.all(dataToFetch)
.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 dateRange = {
startDate: req.params.startDate,
@@ -170,6 +186,7 @@ const getPracticeSummaryReport = (req, res) => {
module.exports = {
getKnownOfficeResourceMappings,
addNewMapping,
deleteMapping,
getAllIncidentsController,
getMemberIncidents,
addFees,

View File

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

View File

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