trc-client-core
Version:
The core of the TRC Client
116 lines (93 loc) • 3.42 kB
JavaScript
import xhr from 'trc-client-core/src/utils/xhr';
import createRequestActions from 'trc-client-core/src/utils/createRequestActions';
import { createAction } from 'redux-actions';
import { learningPlan } from 'trc-client-core/src/utils/Request';
import {
EVALUATION,
CERTIFICATION_COMPLETION_ENDPOINT
} from 'trc-client-core/src/constants/Endpoints';
import {
FETCH_EVALUATION,
SUBMIT_EVALUATION,
CERTIFICATION_COMPLETION_FETCH,
CERTIFICATION_COMPLETION_RECEIVE,
CERTIFICATION_COMPLETION_ERROR,
LEARNING_PLAN_GET_FETCH,
LEARNING_PLAN_GET_RECEIVE,
LEARNING_PLAN_GET_ERROR,
LEARNING_PLAN_LIST_FETCH,
LEARNING_PLAN_LIST_RECEIVE,
LEARNING_PLAN_LIST_ERROR,
LEARNING_PLAN_CREATE_FETCH,
LEARNING_PLAN_CREATE_RECEIVE,
LEARNING_PLAN_CREATE_ERROR,
LEARNING_PLAN_UPDATE_FETCH,
LEARNING_PLAN_UPDATE_RECEIVE,
LEARNING_PLAN_UPDATE_ERROR,
LEARNING_PLAN_DELETE_FETCH,
LEARNING_PLAN_DELETE_RECEIVE,
LEARNING_PLAN_DELETE_ERROR
} from 'trc-client-core/src/constants/ActionTypes';
export const fetchEvaluation = createAction(FETCH_EVALUATION, (query) => {
return xhr.get(`${EVALUATION}/${query}`);
});
export const submitEvaluation = createAction(SUBMIT_EVALUATION, (token, formData) => {
return xhr.post(`${EVALUATION}/${token}`, formData);
});
// This is just plain silly stuff from the old jsp style
// TODO: turf when the new learning plans exist
const certificationCompletionFetch = createAction(CERTIFICATION_COMPLETION_FETCH);
const certificationCompletionReceive = createAction(CERTIFICATION_COMPLETION_RECEIVE);
const certificationCompletionError = createAction(CERTIFICATION_COMPLETION_ERROR);
export function requestCertificationCompletion(query) {
return (dispatch, getState) => {
dispatch(certificationCompletionFetch(query));
xhr.get(CERTIFICATION_COMPLETION_ENDPOINT + query.pathwayId, query).then(
(data) => dispatch(certificationCompletionReceive({
...query,
completions: data
})),
(error) => dispatch(certificationCompletionError(error))
);
};
}
//
// new learning plans
//
const learningPlanRequestGet = createRequestActions(
LEARNING_PLAN_GET_FETCH,
LEARNING_PLAN_GET_RECEIVE,
LEARNING_PLAN_GET_ERROR,
id => learningPlan.get(id)
);
const learningPlanRequestList = createRequestActions(
LEARNING_PLAN_LIST_FETCH,
LEARNING_PLAN_LIST_RECEIVE,
LEARNING_PLAN_LIST_ERROR,
(query = {}) => learningPlan.list(query)
);
const learningPlanRequestCreate = createRequestActions(
LEARNING_PLAN_CREATE_FETCH,
LEARNING_PLAN_CREATE_RECEIVE,
LEARNING_PLAN_CREATE_ERROR,
(learningPlanObject) => learningPlan.create(learningPlanObject)
);
const learningPlanRequestUpdate = createRequestActions(
LEARNING_PLAN_UPDATE_FETCH,
LEARNING_PLAN_UPDATE_RECEIVE,
LEARNING_PLAN_UPDATE_ERROR,
(learningPlanId, learningPlanObject) => learningPlan.update(learningPlanId, learningPlanObject)
);
const learningPlanRequestDelete = createRequestActions(
LEARNING_PLAN_DELETE_FETCH,
LEARNING_PLAN_DELETE_RECEIVE,
LEARNING_PLAN_DELETE_ERROR,
(learningPlanId = {}) => learningPlan.delete(learningPlanId)
);
export {
learningPlanRequestGet,
learningPlanRequestList,
learningPlanRequestCreate,
learningPlanRequestUpdate,
learningPlanRequestDelete
};