@ -3,15 +3,15 @@
import { RequestState } from './common'
import { RequestState } from './common'
import {
import {
getVoiceboxSettings ,
getVoiceboxSettings , setVoiceboxDelete ,
setVoiceboxDelete ,
setVoiceboxAttach ,
setVoiceboxAttach ,
setVoiceboxPin ,
setVoiceboxPin ,
setVoiceboxEmail ,
setVoiceboxEmail ,
uploadGreeting ,
uploadGreeting ,
abortPreviousRequest ,
abortPreviousRequest ,
getVoiceboxGreetingByType ,
getVoiceboxGreetingByType ,
deleteVoiceboxGreetingById
deleteVoiceboxGreetingById ,
playGreeting
} from '../api/voicebox' ;
} from '../api/voicebox' ;
import { i18n } from '../i18n' ;
import { i18n } from '../i18n' ;
@ -45,7 +45,13 @@ export default {
loadUnavailGreetingState : RequestState . initial ,
loadUnavailGreetingState : RequestState . initial ,
loadUnavailGreetingError : null ,
loadUnavailGreetingError : null ,
deleteGreetingState : RequestState . initial ,
deleteGreetingState : RequestState . initial ,
deleteGreetingError : null
deleteGreetingError : null ,
playBusyGreetingUrl : null ,
playBusyGreetingState : RequestState . initial ,
playBusyGreetingError : null ,
playUnavailGreetingUrl : null ,
playUnavailGreetingState : RequestState . initial ,
playUnavailGreetingError : null
} ,
} ,
getters : {
getters : {
subscriberId ( state , getters , rootState , rootGetters ) {
subscriberId ( state , getters , rootState , rootGetters ) {
@ -176,6 +182,18 @@ export default {
unavailGreetingLabel ( state ) {
unavailGreetingLabel ( state ) {
return state . unavailGreetingId ? i18n . t ( 'voicebox.label.customSoundActive' ) :
return state . unavailGreetingId ? i18n . t ( 'voicebox.label.customSoundActive' ) :
i18n . t ( 'voicebox.label.defaultSoundActive' )
i18n . t ( 'voicebox.label.defaultSoundActive' )
} ,
playBusyGreetingLoaded ( state ) {
return state . playBusyGreetingState === 'succeeded' ;
} ,
playBusyGreetingUrl ( state ) {
return state . playBusyGreetingUrl ;
} ,
playUnavailGreetingLoaded ( state ) {
return state . playUnavailGreetingState === 'succeeded' ;
} ,
playUnavailGreetingUrl ( state ) {
return state . playUnavailGreetingUrl ;
}
}
} ,
} ,
mutations : {
mutations : {
@ -292,6 +310,7 @@ export default {
state . loadBusyGreetingError = null ;
state . loadBusyGreetingError = null ;
} ,
} ,
loadBusyGreetingSucceeded ( state , greetings ) {
loadBusyGreetingSucceeded ( state , greetings ) {
state . playBusyGreetingState = RequestState . initial ;
if ( greetings . length > 0 ) {
if ( greetings . length > 0 ) {
state . busyGreetingId = greetings [ 0 ] . id ;
state . busyGreetingId = greetings [ 0 ] . id ;
}
}
@ -308,6 +327,7 @@ export default {
state . loadUnavailGreetingError = null ;
state . loadUnavailGreetingError = null ;
} ,
} ,
loadUnavailGreetingSucceeded ( state , greetings ) {
loadUnavailGreetingSucceeded ( state , greetings ) {
state . playUnavailGreetingState = RequestState . initial ;
if ( greetings . length > 0 ) {
if ( greetings . length > 0 ) {
state . unavailGreetingId = greetings [ 0 ] . id ;
state . unavailGreetingId = greetings [ 0 ] . id ;
}
}
@ -329,6 +349,34 @@ export default {
deleteGreetingFailed ( state , error ) {
deleteGreetingFailed ( state , error ) {
state . deleteGreetingState = RequestState . failed ;
state . deleteGreetingState = RequestState . failed ;
state . deleteGreetingError = error ;
state . deleteGreetingError = error ;
} ,
playBusyGreetingRequesting ( state ) {
state . playBusyGreetingState = RequestState . requesting ;
state . playBusyGreetingError = null ;
} ,
playBusyGreetingSucceeded ( state , url ) {
state . playBusyGreetingUrl = url ;
state . playBusyGreetingState = RequestState . succeeded ;
state . playBusyGreetingError = null ;
} ,
playBusyGreetingFailed ( state , err ) {
state . playBusyGreetingUrl = null ;
state . playBusyGreetingState = RequestState . failed ;
state . playBusyGreetingError = err ;
} ,
playUnavailGreetingRequesting ( state ) {
state . playUnavailGreetingState = RequestState . requesting ;
state . playUnavailGreetingError = null ;
} ,
playUnavailGreetingSucceeded ( state , url ) {
state . playUnavailGreetingUrl = url ;
state . playUnavailGreetingState = RequestState . succeeded ;
state . playUnavailGreetingError = null ;
} ,
playUnavailGreetingFailed ( state , err ) {
state . playUnavailGreetingUrl = null ;
state . playUnavailGreetingState = RequestState . failed ;
state . playUnavailGreetingError = err ;
}
}
} ,
} ,
actions : {
actions : {
@ -480,6 +528,38 @@ export default {
} ) . catch ( ( err ) => {
} ) . catch ( ( err ) => {
context . commit ( 'deleteGreetingFailed' , err . message ) ;
context . commit ( 'deleteGreetingFailed' , err . message ) ;
} ) ;
} ) ;
} ,
playBusyGreeting ( context , format ) {
context . commit ( 'playBusyGreetingRequesting' ) ;
playGreeting ( {
id : context . getters . busyGreetingId ,
format : format
} ) . then ( ( url ) => {
context . commit ( 'playBusyGreetingSucceeded' , url ) ;
} ) . catch ( ( err ) => {
context . commit ( 'playBusyGreetingFailed' , err . mesage ) ;
} ) ;
} ,
playUnavailGreeting ( context , format ) {
context . commit ( 'playUnavailGreetingRequesting' ) ;
playGreeting ( {
id : context . getters . unavailGreetingId ,
format : format
} ) . then ( ( url ) => {
context . commit ( 'playUnavailGreetingSucceeded' , url ) ;
} ) . catch ( ( err ) => {
context . commit ( 'playUnavailGreetingFailed' , err . mesage ) ;
} ) ;
} ,
abortUploadBusyGreeting ( context ) {
abortPreviousRequest ( 'busy' ) . then ( ( ) => {
context . dispatch ( 'loadBusyGreeting' ) ;
} ) ;
} ,
abortUploadUnavailGreeting ( context ) {
abortPreviousRequest ( 'unavail' ) . then ( ( ) => {
context . dispatch ( 'loadUnavailGreeting' ) ;
} ) ;
}
}
}
}
} ;
} ;