shareDetailActions.js 960 Bytes
'use strict';

import ReactNative from 'react-native';
import Service from '../../services/ShareDetailService';

const {
    SHARE_DETAIL_REQUEST,
    SHARE_DETAIL_SUCCESS,
    SHARE_DETAIL_FAILURE

} = require('../../constants/actionTypes').default;

export function shareDetailRequest() {
    return {
        type: SHARE_DETAIL_REQUEST
    }
}

export function shareDetailSuccess(json) {
    return {
        type: SHARE_DETAIL_SUCCESS,
        payload: json
    }
}

export function shareDetailFailue(error) {
    return {
        type: SHARE_DETAIL_FAILURE,
        payload: error
    }
}

export function fetchShareDetail(params) {
    return async (dispatch, getState) => {
        let { app: { host } } = getState();
        let data;
        try {
            data = await new Service(host).fetchShareDetail(params);
        } catch(error) {
            dispatch(shareDetailFailue(error));
        }
        dispatch(shareDetailSuccess(data));
    }
}