at the end of the day, it was inevitable
This commit is contained in:
@@ -0,0 +1,168 @@
|
||||
import {createAction, handleActions} from 'redux-actions'
|
||||
import {fromJS} from 'immutable'
|
||||
import {thunkAction} from '../../utils/common'
|
||||
import * as api from '../../../api/registrationApi'
|
||||
import {push} from 'react-router-redux'
|
||||
import { addAlert } from './alerts'
|
||||
import i18n from '../../../i18n'
|
||||
const NS = '[RESET PASS]'
|
||||
/* const GET_BILLING_PLANS = `${NS} Get billing plans`
|
||||
const SELECT_BILLING_PLAN = `${NS} Select billing plan`
|
||||
const SEND_REGISTER_REQUEST = `${NS} Send register request`
|
||||
const FINISH_REGISTER = `${NS} Finish register`
|
||||
const SHOW_REGISTER_ERROR = `${NS} Show register error` */
|
||||
const REQUEST_PASSWORD_RESET = `${NS} Request password reset`
|
||||
const CONFIRM_PASSWORD_RESET = `${NS} Confirm password reset`
|
||||
const CLEAR_MESSAGES = `${NS} Clear messages`
|
||||
/*
|
||||
const getBillingPlans = thunkAction(GET_BILLING_PLANS, ({token, fulfilled}) => {
|
||||
return api
|
||||
.getBillingPlans(token)
|
||||
.then((plans) => {
|
||||
fulfilled(plans)
|
||||
})
|
||||
}, true)
|
||||
|
||||
const selectBillingPlan = createAction(SELECT_BILLING_PLAN, (billingPlan) => ({billingPlan}))
|
||||
|
||||
const showRegisterError = createAction(SHOW_REGISTER_ERROR)
|
||||
|
||||
const sendRegisterRequest = thunkAction(SEND_REGISTER_REQUEST, (formValues, {token, fulfilled, getState, dispatch}) => {
|
||||
|
||||
const billingPlan = getState().getIn(['common', 'register', 'selectedBillingPlan'])
|
||||
const privatePerson = Boolean(formValues.privatePerson)
|
||||
|
||||
let payload = {}
|
||||
Object.assign(payload, formValues, {
|
||||
billingPlanId: billingPlan.id,
|
||||
privatePerson: privatePerson
|
||||
})
|
||||
|
||||
if (privatePerson) {
|
||||
delete payload.organizationName
|
||||
delete payload.organizationAddress
|
||||
delete payload.organizationEmail
|
||||
delete payload.organizationPhone
|
||||
}
|
||||
|
||||
return api
|
||||
.sendRegistrationRequest(token, payload)
|
||||
.then((response) => {
|
||||
fulfilled(response)
|
||||
dispatch(showRegisterError(null))
|
||||
dispatch(push('/auth/register-finish'))
|
||||
})
|
||||
.catch((response) => {
|
||||
dispatch(showRegisterError(response[0]))
|
||||
throw response
|
||||
})
|
||||
|
||||
}, true)
|
||||
|
||||
const finishRegistration = thunkAction(FINISH_REGISTER, (formValues, {getState, token, fulfilled}) => {
|
||||
let verificationCode = getState().getIn(['common', 'register', 'registrationCode'])
|
||||
const payload = Object.assign({}, {
|
||||
code: verificationCode,
|
||||
card: {
|
||||
creditCardNumber: formValues.creditCardNumber,
|
||||
CVV: formValues.CVV,
|
||||
expireMonth: formValues.expireMonth,
|
||||
expireYear: formValues.expireYear,
|
||||
address: {
|
||||
country: formValues.country,
|
||||
city: formValues.city,
|
||||
street: formValues.street,
|
||||
postalCode: formValues.postalCode
|
||||
}
|
||||
}
|
||||
})
|
||||
return api
|
||||
.finishRegistration(token, payload)
|
||||
.then((response) => {
|
||||
fulfilled(response)
|
||||
})
|
||||
}, true) */
|
||||
|
||||
const requestPasswordReset = thunkAction(REQUEST_PASSWORD_RESET, (email, {fulfilled}) => {
|
||||
return api
|
||||
.requestPasswordReset(null, {email})
|
||||
.then(() => {
|
||||
fulfilled(
|
||||
i18n.t('loginApp:messages.forgotPasswordSubmit', { email: email })
|
||||
);
|
||||
})
|
||||
})
|
||||
|
||||
const confirmPasswordReset = thunkAction(REQUEST_PASSWORD_RESET, (confirmationToken, password, {dispatch}) => {
|
||||
return api
|
||||
.confirmPasswordReset(null, {confirmationToken, password})
|
||||
.then(() => {
|
||||
dispatch(push('/auth/login'))
|
||||
dispatch(addAlert({type: 'notice', message: i18n.t('loginApp:messages.passwordUpdated')}))
|
||||
})
|
||||
})
|
||||
|
||||
const clearMessages = createAction(CLEAR_MESSAGES)
|
||||
|
||||
export const actions = {
|
||||
/* getBillingPlans,
|
||||
selectBillingPlan,
|
||||
sendRegisterRequest,
|
||||
finishRegistration, */
|
||||
requestPasswordReset,
|
||||
confirmPasswordReset,
|
||||
// showRegisterError,
|
||||
clearMessages
|
||||
}
|
||||
|
||||
export const initialState = fromJS({
|
||||
selectedBillingPlan: '',
|
||||
billingPlans: [],
|
||||
isLoading: false,
|
||||
error: null,
|
||||
registrationCode: null,
|
||||
successMessage: null
|
||||
})
|
||||
/*
|
||||
const toggleLoading = (state, {payload: {isPending}}) => {
|
||||
return state.set('isLoading', isPending)
|
||||
} */
|
||||
|
||||
export default handleActions({
|
||||
/*
|
||||
[`${GET_BILLING_PLANS} fulfilled`]: (state, {payload: plans}) => state.set('billingPlans', plans),
|
||||
|
||||
[SELECT_BILLING_PLAN]: (state, {payload: {billingPlan}}) => {
|
||||
console.log(billingPlan)
|
||||
return state.set('selectedBillingPlan', billingPlan)
|
||||
},
|
||||
|
||||
[`${SEND_REGISTER_REQUEST} pending`]: toggleLoading,
|
||||
[`${SEND_REGISTER_REQUEST} fulfilled`]: (state, {payload: response}) => {
|
||||
return state.merge({
|
||||
'registrationCode': response.code,
|
||||
'successMessage': response.message
|
||||
})
|
||||
},
|
||||
|
||||
[`${FINISH_REGISTER} pending`]: toggleLoading,
|
||||
[`${FINISH_REGISTER} fulfilled`]: (state, {payload: response}) => {
|
||||
return state.set('successMessage', response.message)
|
||||
}, */
|
||||
[`${REQUEST_PASSWORD_RESET} fulfilled`]: (state, {payload: message}) => {
|
||||
return state.set('successMessage', message)
|
||||
},
|
||||
[`${CONFIRM_PASSWORD_RESET} fulfilled`]: (state, {payload: message}) => {
|
||||
return state.set('successMessage', message)
|
||||
},
|
||||
[CLEAR_MESSAGES]: (state) => {
|
||||
return state.set('successMessage', null)
|
||||
}
|
||||
/*
|
||||
[SHOW_REGISTER_ERROR]: (state, {payload: error}) => {
|
||||
return state.set('error', error)
|
||||
},
|
||||
|
||||
[`${GET_BILLING_PLANS} pending`]: toggleLoading */
|
||||
|
||||
}, initialState)
|
||||
Reference in New Issue
Block a user