You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
import { i18n } from 'boot/i18n'
|
|
import { createFax } from 'src/api/communication'
|
|
import { RequestState } from 'src/store/common'
|
|
|
|
export default {
|
|
namespaced: true,
|
|
state: {
|
|
createFaxState: RequestState.button,
|
|
createFaxError: null
|
|
},
|
|
getters: {
|
|
subscriberId (state, getters, rootState, rootGetters) {
|
|
return parseInt(rootGetters['user/getSubscriberId'])
|
|
},
|
|
createFaxState (state) {
|
|
return state.createFaxState
|
|
},
|
|
createFaxError (state) {
|
|
return state.createFaxError ||
|
|
i18n.global.t('An error occurred while trying to send the fax. Please try again')
|
|
}
|
|
},
|
|
mutations: {
|
|
createFaxRequesting (state) {
|
|
state.createFaxState = RequestState.requesting
|
|
state.createFaxError = null
|
|
},
|
|
createFaxSucceeded (state) {
|
|
state.createFaxState = RequestState.succeeded
|
|
state.createFaxError = null
|
|
},
|
|
createFaxFailed (state, error) {
|
|
state.createFaxState = RequestState.failed
|
|
state.createFaxError = error
|
|
}
|
|
},
|
|
actions: {
|
|
createFax (context, $options) {
|
|
const options = Object.assign($options, {
|
|
subscriber_id: context.getters.subscriberId
|
|
})
|
|
context.commit('createFaxRequesting')
|
|
createFax(options).then(() => {
|
|
context.commit('createFaxSucceeded')
|
|
}).catch((err) => {
|
|
context.commit('createFaxFailed', err.message)
|
|
})
|
|
}
|
|
}
|
|
}
|