Skip to content
Snippets Groups Projects
DegreeCourseManagementReducer.js 2.49 KiB
Newer Older
Orlando Piñero's avatar
Orlando Piñero committed
import * as degreeCourseManagementActions from "./DegreeCourseManagementActions"

const initialState = {
    showDeleteDegreeCourseModal: false,
    deleteDegreeCourseModalData: null,
    degreeCourseList: null,
    newDegreeCourseData: null,
    editDegreeCourseData: null
};

function degreeCourseManagementReducer(state = initialState, action) {
    switch (action.type) {
        case degreeCourseManagementActions.SHOW_DELETE_DEGREECOURSE_MODAL:
            return {
                ...state,
                showDeleteDegreeCourseModal: true,
                deleteDegreeCourseModalData: action.deleteDegreeCourseModalData,
                error: null
            }
        case degreeCourseManagementActions.HIDE_DELETE_DEGREECOURSE_MODAL:
            return {
                ...state,
                showDeleteDegreeCourseModal: false,
                deleteDegreeCourseModalData: null,
                error: null
            }

        case degreeCourseManagementActions.DELETE_DEGREECOURSE_SUCCESS:
            return {
                ...state,
                showDeleteDegreeCourseModal: false,
                error: null
            }

        case degreeCourseManagementActions.DELETE_DEGREECOURSE_ERROR:
            return {
                ...state,
                showDeleteDegreeCourseModal: false,
                error: "deleting degreeCourse failed"
            }


        case degreeCourseManagementActions.EDIT_DEGREECOURSE_SUCCESS:
            return {
                ...state,
                editDegreeCourseData: action.editDegreeCourseData,
                error: null
            }

        case degreeCourseManagementActions.EDIT_DEGREECOURSE_ERROR:
            return {
                ...state,
                error: "editing degreeCourse failed"
            }


        case degreeCourseManagementActions.SHOW_ALL_DEGREECOURSES:
            return {
                ...state,
                degreeCourseList: action.degreeCourseList,
                error: null
            }

        case degreeCourseManagementActions.SHOW_ALL_DEGREECOURSES_ERROR:
            return {
                ...state,
                error: "displaying all degreeCourses failed"
            }


        case degreeCourseManagementActions.CREATE_NEW_DEGREECOURSE_SUCCESS:
            return {
                ...state,
Orlando Piñero's avatar
Orlando Piñero committed
                newDegreeCourseData: action.newDegreeCourseData,
                error: null
            }

        default:
            return state;
    }
};

export default degreeCourseManagementReducer;