UNPKG

@wenn/onb

Version:

onb-core

50 lines (45 loc) 1.5 kB
import axios from 'axios'; import { GET_PROVINCES_FETCHING, GET_PROVINCES_SUCCESS, GET_PROVINCES_FAILURE, GET_REGIONS_FETCHING, GET_REGIONS_SUCCESS, GET_REGIONS_FAILURE } from '../constants'; const { REACT_APP_ENV } = process.env; export function getProvinces(country_id) { return (dispatch, getState) => { dispatch({ type: GET_PROVINCES_FETCHING }); const apiLocations = getState().settings.utils.urls.geolocation; const request = axios({ method: 'get', url: `${ apiLocations[REACT_APP_ENV.toUpperCase() || 'dev'] }/provinces?countryId=${country_id}&fields=province,province_id`, responseType: 'json' }); request .then(res => dispatch({ type: GET_PROVINCES_SUCCESS, payload: res.data }) ) .catch(error => dispatch({ type: GET_PROVINCES_FAILURE, error: error }) ); }; } export function getRegions(provinceId) { return (dispatch, getState) => { dispatch({ type: GET_REGIONS_FETCHING }); const apiLocations = getState().settings.utils.urls.geolocation; const request = axios({ method: 'get', url: `${ apiLocations[REACT_APP_ENV.toUpperCase() || 'dev'] }/regions?provinceId=${provinceId}&fields=region`, responseType: 'json' }); request .then(res => dispatch({ type: GET_REGIONS_SUCCESS, payload: res.data })) .catch(error => dispatch({ type: GET_REGIONS_FAILURE, error: error })); }; }