UNPKG

trc-client-core

Version:
53 lines (40 loc) 1.75 kB
var Reflux = require('reflux'); var xhr = require('trc-client-core/src/utils/xhr'); var SodataActions = Reflux.createActions({ 'fetchOverEnrolledSoItems': {asyncResult: true}, 'fetchOverEnrolledSoItem': {asyncResult: true}, 'fetchSoData': {asyncResult: true}, 'fetchTechnicalTrainers': {asyncResult: true}, 'fetchCourseCalendar': {asyncResult: true}, //this is a temporary fix 'fetchSoItem': {asyncResult: true}, 'postSingleEnrollment': {asyncResult: true}, // TODO: remove post bulk enrol 'fetchUpcomingSessions': {asyncResult: true} }); SodataActions.fetchSoData.listenAndPromise(function(soId) { return xhr.get('/api/soData/' + soId); }); SodataActions.fetchOverEnrolledSoItems.listenAndPromise(function() { return xhr.get('/api/v1/so_data/find', { over_enroll: true }); }); SodataActions.fetchOverEnrolledSoItem.listenAndPromise(function(soId) { SodataActions.fetchSoData(soId); return xhr.get('/api/admin/so/' + soId + '/enrolled_registrations'); }); SodataActions.fetchCourseCalendar.listenAndPromise(function(query){ return xhr.get('/api/v1/course_calender', query); }); SodataActions.fetchSoItem.listenAndPromise(function(query){ if(query && query.participantId && query.courseCode) { return xhr.get('/careerPathway/enrolment/' + query.courseCode, query); } return Promise.reject(new Error('query requires participantId & courseCode')); }); SodataActions.postSingleEnrollment.listenAndPromise(function(query){ return xhr.post('/careerPathway/enrolment/' + query.courseCode, query); }); SodataActions.fetchUpcomingSessions.listenAndPromise(function(){ return xhr.get('/api/scheduled/upcoming'); }); module.exports = SodataActions;