160 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 
 | |
| import axios from "axios";
 | |
| import I18n from 'react-native-i18n';
 | |
| import { fetchCreateGroupError, fetchCreateGroupPending, fetchCreateGroupReset, fetchCreateGroupSuccess, fetchTreatDemandsGroupPending, fetchTreatDemandsGroupSuccess, fetchTreatDemandsGroupError, fetchTreatDemandsGroupReset, fetchJoinGroupPending, fetchJoinGroupSuccess, fetchJoinGroupError, fetchJoinGroupReset } from "../redux/actions/NanoCreditAction";
 | |
| import { store } from "../redux/store";
 | |
| import { groupUrl, treatDemandUrl, joinGroupUrl, cancelDemandUrl } from "./IlinkConstants";
 | |
| 
 | |
| /**
 | |
|  * 
 | |
|  * @param {*} data 
 | |
|  * @param {*} isToMofidy  | 0-> CREATE 1->MODIFY 2->DELETE
 | |
|  */
 | |
| export const createGroupAction = (data, isToMofidy) => {
 | |
| 
 | |
| 
 | |
|      const auth = store.getState().authKeyReducer;
 | |
|      const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
 | |
| 
 | |
|      return dispatch => {
 | |
|           dispatch(fetchCreateGroupPending());
 | |
| 
 | |
|           axios({
 | |
|                url: `${groupUrl}`,
 | |
|                method: isToMofidy === 0 ?
 | |
|                     'POST' :
 | |
|                     isToMofidy === 1 ? 'PUT' : 'DELETE',
 | |
|                data,
 | |
|                headers: {
 | |
|                     'Authorization': authKey,
 | |
|                     'X-Localization': I18n.currentLocale()
 | |
|                }
 | |
|           })
 | |
|                .then(response => {
 | |
|                     console.log(response);
 | |
|                     dispatch(fetchCreateGroupSuccess(response));
 | |
|                })
 | |
|                .catch(error => {
 | |
|                     if (error.response)
 | |
|                          dispatch(fetchCreateGroupError(error.response));
 | |
|                     else if (error.request)
 | |
|                          dispatch(fetchCreateGroupError(error.request))
 | |
|                     else
 | |
|                          dispatch(fetchCreateGroupError(error.message))
 | |
|                });
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const createGroupReset = () => {
 | |
|      return dispatch => {
 | |
|           dispatch(fetchCreateGroupReset());
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const treatDemandGroupAction = (data) => {
 | |
| 
 | |
|      const auth = store.getState().authKeyReducer;
 | |
|      const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
 | |
| 
 | |
|      return dispatch => {
 | |
|           dispatch(fetchTreatDemandsGroupPending());
 | |
| 
 | |
|           axios({
 | |
|                url: `${treatDemandUrl}`,
 | |
|                method: 'POST',
 | |
|                data,
 | |
|                headers: {
 | |
|                     'Authorization': authKey,
 | |
|                     'X-Localization': I18n.currentLocale()
 | |
|                }
 | |
|           })
 | |
|                .then(response => {
 | |
|                     console.log(response);
 | |
|                     dispatch(fetchTreatDemandsGroupSuccess(response));
 | |
|                })
 | |
|                .catch(error => {
 | |
|                     if (error.response)
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.response));
 | |
|                     else if (error.request)
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.request))
 | |
|                     else
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.message))
 | |
|                });
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const cancelDemandGroupAction = (data) => {
 | |
| 
 | |
|      const auth = store.getState().authKeyReducer;
 | |
|      const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
 | |
| 
 | |
|      return dispatch => {
 | |
|           dispatch(fetchTreatDemandsGroupPending());
 | |
| 
 | |
|           axios({
 | |
|                url: `${cancelDemandUrl}`,
 | |
|                method: 'POST',
 | |
|                data,
 | |
|                headers: {
 | |
|                     'Authorization': authKey,
 | |
|                     'X-Localization': I18n.currentLocale()
 | |
|                }
 | |
|           })
 | |
|                .then(response => {
 | |
|                     console.log(response);
 | |
|                     dispatch(fetchTreatDemandsGroupSuccess(response));
 | |
|                })
 | |
|                .catch(error => {
 | |
|                     if (error.response)
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.response));
 | |
|                     else if (error.request)
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.request))
 | |
|                     else
 | |
|                          dispatch(fetchTreatDemandsGroupError(error.message))
 | |
|                });
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const treatDemandGroupReset = () => {
 | |
|      return dispatch => {
 | |
|           dispatch(fetchTreatDemandsGroupReset());
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const joinGroupAction = (data) => {
 | |
| 
 | |
|      const auth = store.getState().authKeyReducer;
 | |
|      const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
 | |
| 
 | |
|      return dispatch => {
 | |
|           dispatch(fetchJoinGroupPending());
 | |
| 
 | |
|           axios({
 | |
|                url: `${joinGroupUrl}`,
 | |
|                method: 'POST',
 | |
|                data,
 | |
|                headers: {
 | |
|                     'Authorization': authKey,
 | |
|                     'X-Localization': I18n.currentLocale()
 | |
|                }
 | |
|           })
 | |
|                .then(response => {
 | |
|                     console.log(response);
 | |
|                     dispatch(fetchJoinGroupSuccess(response));
 | |
|                })
 | |
|                .catch(error => {
 | |
|                     if (error.response)
 | |
|                          dispatch(fetchJoinGroupError(error.response));
 | |
|                     else if (error.request)
 | |
|                          dispatch(fetchJoinGroupError(error.request))
 | |
|                     else
 | |
|                          dispatch(fetchJoinGroupError(error.message))
 | |
|                });
 | |
|      }
 | |
| }
 | |
| 
 | |
| export const joinGroupReset = () => {
 | |
|      return dispatch => {
 | |
|           dispatch(fetchJoinGroupReset());
 | |
|      }
 | |
| } |