ilink-world/webservice/NanoCreditApi.js

236 lines
8.3 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, fetchAskNanoCreditPending, fetchAskNanoCreditSuccess, fetchAskNanoCreditError, fetchAskNanoCreditReset, fetchGetNanoCreditDemandDurationPending, fetchGetNanoCreditDemandDurationSuccess, fetchGetNanoCreditDemandDurationError, fetchGetNanoCreditDemandDurationReset } from "../redux/actions/NanoCreditAction";
import { store } from "../redux/store";
import { groupUrl, getNanoCreditDemandDureationUrl, treatDemandUrl, joinGroupUrl, cancelDemandUrl, askNanoCreditUrl } 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());
}
}
export const askNanoCreditAction = (data) => {
const auth = store.getState().authKeyReducer;
const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
return dispatch => {
dispatch(fetchAskNanoCreditPending());
axios({
url: `${askNanoCreditUrl}`,
method: 'POST',
data,
headers: {
'Authorization': authKey,
'X-Localization': I18n.currentLocale()
}
})
.then(response => {
console.log(response);
dispatch(fetchAskNanoCreditSuccess(response));
})
.catch(error => {
if (error.response)
dispatch(fetchAskNanoCreditError(error.response));
else if (error.request)
dispatch(fetchAskNanoCreditError(error.request))
else
dispatch(fetchAskNanoCreditError(error.message))
});
}
}
export const askNanoCreditReset = () => {
return dispatch => {
dispatch(fetchAskNanoCreditReset());
}
}
export const getNanoCreditDemandDurationAction = (id) => {
const auth = store.getState().authKeyReducer;
const authKey = auth !== null ? `${auth.authKey.token_type} ${auth.authKey.access_token}` : '';
return dispatch => {
dispatch(fetchGetNanoCreditDemandDurationPending());
axios({
url: `${getNanoCreditDemandDureationUrl}/${id}`,
method: 'GET',
headers: {
'Authorization': authKey,
'X-Localization': I18n.currentLocale()
}
})
.then(response => {
console.log(response);
dispatch(fetchGetNanoCreditDemandDurationSuccess(response));
})
.catch(error => {
if (error.response)
dispatch(fetchGetNanoCreditDemandDurationError(error.response));
else if (error.request)
dispatch(fetchGetNanoCreditDemandDurationError(error.request))
else
dispatch(fetchGetNanoCreditDemandDurationError(error.message))
});
}
}
export const getNanoCreditDemandDurationReset = () => {
return dispatch => {
dispatch(fetchGetNanoCreditDemandDurationReset());
}
}