add structure for fetching member practice summary from backend

This commit is contained in:
Bilal Catic
2019-08-05 12:06:18 +02:00
parent df1266c51c
commit 72d06f53f5
7 changed files with 50 additions and 3 deletions

View File

@@ -4,21 +4,26 @@ import { Container, Button } from 'semantic-ui-react';
import MainMenu from '../../components/MainMenu';
import { fetchMemberPracticeSummaryReport } from '../../store/actions';
class MemberPracticeSummaryReport extends Component {
render () {
const { fetchMemberPracticeSummaryReport } = this.props;
return (
<Container>
<MainMenu/>
<h3>Member Practice Summary Report</h3>
<hr/>
<br/>
<Button>Generate Report</Button>
<Button onClick={fetchMemberPracticeSummaryReport}>Generate Report</Button>
</Container>
);
}
}
const mapStateToProps = (state) => ({});
const mapDispatchToProps = (dispatch) => ({});
const mapDispatchToProps = (dispatch) => ({
fetchMemberPracticeSummaryReport: () => fetchMemberPracticeSummaryReport(dispatch),
});
export default connect(mapStateToProps, mapDispatchToProps)(MemberPracticeSummaryReport);

View File

@@ -20,6 +20,9 @@ import {
CHECK_PROCESSING_PENDING,
CHECK_PROCESSING_SUCCESS,
CHECK_PROCESSING_FAILED,
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING,
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS,
FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED,
} from '../constants';
import API from '../../utilities/api';
@@ -109,3 +112,14 @@ export const checkProcessing = (dispatch) => {
dispatch({type: CHECK_PROCESSING_FAILED, payload: error.response});
});
};
export const fetchMemberPracticeSummaryReport = (dispatch) => {
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING});
API.get('integration/report/practiceSummary')
.then(response => {
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS, payload: response.data});
})
.catch(error => {
dispatch({type: FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED, payload: error.response});
});
};

View File

@@ -29,3 +29,7 @@ export const ADD_FEES_TO_ORD_FAILED = 'ADD_FEES_TO_ORD_FAILED';
export const CHECK_PROCESSING_PENDING = 'CHECK_PROCESSING_PENDING';
export const CHECK_PROCESSING_SUCCESS = 'CHECK_PROCESSING_SUCCESS';
export const CHECK_PROCESSING_FAILED = 'CHECK_PROCESSING_FAILED';
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_PENDING';
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_SUCCESS';
export const FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED = 'FETCH_MEMBER_PRACTICE_SUMMARY_REPORT_FAILED';

View File

@@ -68,6 +68,7 @@ const integrationServiceErrors = {
FAILED_TO_SAVE_DOOR_LOCK_ENTRIES: 'Failed to save door lock entries',
FAILED_TO_SAVE_DATA_GENERIC: 'Failed to save data',
INVALID_DATE_RANGE: 'Dates in date range are invalid',
FAILED_TO_GENERATE_MEMBER_PRACTICE_SUMMARY: 'Failed to generate Member Practice Summary',
};
const incidentType = {

View File

@@ -1,7 +1,7 @@
'use strict';
const { getMappingsFromDatabase, fetchOffices, fetchResources, saveNewMappingToDatabase } = require('../services/officeRnD/resources');
const { getAllIncidents } = require('../services/integration/reports');
const { getAllIncidents, getMemberPracticeSummaryReport } = require('../services/integration/reports');
const { getMembersFeesForDateRange } = require('../services/integration/invoiceIntegration');
const { deleteFeesFromORD, addFeesToORD } = require('../services/officeRnD/fees');
const { checkBookingChanges } = require('../services/integration/checkBookingChange');
@@ -126,6 +126,16 @@ const checkProcessingStatus = (req, res) => {
});
};
const getPracticeSummaryReport = (req, res) => {
getMemberPracticeSummaryReport()
.then(() => {
res.send();
})
.catch((error) => {
res.status(500).send(error);
});
};
module.exports = {
getKnownOfficeResourceMappings,
addNewMapping,
@@ -133,4 +143,5 @@ module.exports = {
getMemberIncidents,
addFees,
checkProcessingStatus,
getPracticeSummaryReport,
};

View File

@@ -10,6 +10,7 @@ const {
getMemberIncidents,
addFees,
checkProcessingStatus,
getPracticeSummaryReport,
} = require('../controllers/integration');
const { calculateDoorLockCharges } = require('../services/integration/doorLockCharges');
@@ -32,6 +33,10 @@ router.post('/integration/addFees', addFees);
router.get('/integration/processing', checkProcessingStatus);
router.get('/integration/report/practiceSummary', getPracticeSummaryReport);
// temporary route, manually trigger door lock charge calculations
router.get('/calculate', (req, res) => { calculateDoorLockCharges(); res.send();});

View File

@@ -313,6 +313,13 @@ const getAllIncidents = (dateRange, memberIds) => {
});
};
const getMemberPracticeSummaryReport = () => {
return new Promise((resolve, reject) => {
resolve();
});
};
module.exports = {
getAllIncidents,
getMemberPracticeSummaryReport,
};