Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { combineReducers } from 'redux';
- import { TEST_ACTION, TEST_ASYNC_ACTION, TEST_REQUEST_ASYNC_ACTION, TEST_RECEIVE_ASYNC_ACTION } from './actions/test'
- import { REQUEST_AUTH, RECEIVE_AUTH } from './actions/user'
- import {
- REQUEST_TVRAIN_FILE,
- RECEIVE_TVRAIN_FILE,
- REQUEST_CDN_FILE,
- RECEIVE_CDN_FILE,
- CHECK_PROCCESS,
- CHECK_END,
- REQUEST_EAGLE_STATUS,
- RECEIVE_EAGLE_STATUS } from './actions/check'
- import { REQUEST_REPORT, RECEIVE_REPORT, CLOSE_REPORT_MESSAGE } from './actions/report'
- import { APP_ERROR } from './actions/app'
- import { STATUS_INIT,
- CHECK_ITEM_TVRAIN_FILE,
- CHECK_ITEM_CDN_FILE,
- CHECK_ITEM_NGENIX,
- CHECK_ITEM_CDNVIDEO,
- CHECK_ITEM_EAGLE } from './constants'
- /** REDUCERS INITIAL STATE */
- const checkInitialStateItem = {
- isFetching: false,
- status: STATUS_INIT
- }
- export const checkInitialState = {
- targets: {
- [CHECK_ITEM_TVRAIN_FILE]: checkInitialStateItem,
- [CHECK_ITEM_CDN_FILE]: checkInitialStateItem,
- [CHECK_ITEM_NGENIX]: checkInitialStateItem,
- [CHECK_ITEM_CDNVIDEO]: checkInitialStateItem,
- [CHECK_ITEM_EAGLE]: checkInitialStateItem
- },
- status: STATUS_INIT
- }
- /** REDUCERS */
- export function app(state = { error: false }, action) {
- switch(action.type) {
- case APP_ERROR:
- return Object.assign({}, state, action.params)
- default:
- return state
- }
- }
- export function user(state = { auth: false, isFetching: false }, action) {
- switch(action.type) {
- case REQUEST_AUTH:
- return Object.assign({}, state, action.params, {
- status: STATUS_INIT,
- isFetching: true
- })
- case RECEIVE_AUTH:
- return Object.assign({}, state, action.params, {
- isFetching: false
- })
- default:
- return state
- }
- }
- export function check(state = checkInitialState, action) {
- switch(action.type) {
- case CHECK_PROCCESS:
- case CHECK_END:
- return Object.assign({}, state, {status: action.status})
- case REQUEST_TVRAIN_FILE:
- case REQUEST_CDN_FILE:
- case REQUEST_EAGLE_STATUS:
- return Object.assign({}, state, {
- targets: Object.assign({}, state.targets, {
- [action.target]: Object.assign({}, state.targets[action.target], {
- isFetching: true
- })
- })
- })
- case RECEIVE_TVRAIN_FILE:
- case RECEIVE_CDN_FILE:
- case RECEIVE_EAGLE_STATUS:
- return Object.assign({}, state, {
- targets: Object.assign({}, state.targets, {
- [action.target]: Object.assign({}, state.targets[action.target], action.params, {
- isFetching: false
- })
- })
- })
- default:
- return state
- }
- }
- export function report(state = { isFetching: false, showOverMessage: false }, action) {
- switch(action.type) {
- case REQUEST_REPORT:
- return Object.assign({}, state, { isFetching: true, showOverMessage: false })
- case RECEIVE_REPORT:
- return Object.assign({}, state, { isFetching: false, showOverMessage: true })
- case CLOSE_REPORT_MESSAGE:
- return Object.assign({}, state, { showOverMessage: false })
- default:
- return state
- }
- }
- export default combineReducers({
- app: app,
- user: user,
- check: check,
- report: report
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement