unioil-loyalty-rn-app/app/redux/actions/AppUserInfoActions.js

50 lines
1.3 KiB
JavaScript

import { TYPE_APP_USERINFO, TYPE_APP_FCM_TOKEN } from '../types';
import REQUEST from '../../components/api/';
const dispatchAction = (actionType, data) => {
return ({
type: actionType,
value: data
})
}
const fetchUserInfo = (dispatch, token, card_number) => {
return new Promise(function(resolve, reject) {
REQUEST("user_profile", "get", { Authorization: token, card_number: card_number }, {}, {},
(success) => {
const userinfo = (success.status == 1) ? success : {}
dispatch(dispatchAction(TYPE_APP_USERINFO, userinfo))
resolve(userinfo)
},
(error) => reject(error),
"Profile",
"Fetch"
)
})
}
const fetchPlainUserInfo = (dispatch, data) => {
return new Promise(function(resolve, reject) {
dispatch(dispatchAction(TYPE_APP_USERINFO, data))
resolve(data)
})
}
export const saveUserInfo = (data) => {
return function(dispatch) {
return fetchUserInfo(dispatch, data.token, data.card_number)
}
}
export const savePlainUserInfo = (data) => {
return function(dispatch) {
return fetchPlainUserInfo(dispatch, data)
}
}
export const saveFcmToken = (data) => {
return function(dispatch) {
return dispatch(dispatchAction(TYPE_APP_FCM_TOKEN, data))
}
}