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.
62 lines
2.1 KiB
62 lines
2.1 KiB
import { useStore } from 'src/composables/useStore'
|
|
import { computed } from 'vue'
|
|
|
|
export function useUser () {
|
|
const store = useStore()
|
|
|
|
// State
|
|
const subscriber = computed(() => store.state.user.subscriber)
|
|
const platformInfo = computed(() => store.state.user.platformInfo)
|
|
|
|
// Getters
|
|
const isLogged = computed(() => store.getters['user/isLogged'])
|
|
const username = computed(() => store.getters['user/getUsername'])
|
|
const isAdmin = computed(() => store.getters['user/isAdmin'])
|
|
const isPbxAdmin = computed(() => store.getters['user/isPbxAdmin'])
|
|
const isPbxEnabled = computed(() => store.getters['user/isPbxEnabled'])
|
|
const isSpCe = computed(() => store.getters['user/isSpCe'])
|
|
const loginRequesting = computed(() => store.getters['user/loginRequesting'])
|
|
const isPasswordChanging = computed(() => store.getters['user/isPasswordChanging'])
|
|
|
|
// Actions
|
|
const login = (credentials) => store.dispatch('user/login', credentials)
|
|
const logout = () => store.dispatch('user/logout')
|
|
const changePassword = (newPassword) => store.dispatch('user/changePassword', newPassword)
|
|
const changeSIPPassword = (newPassword) => store.dispatch('user/changeSIPPassword', newPassword)
|
|
const initUser = () => store.dispatch('user/initUser')
|
|
|
|
// Getters with parameters
|
|
const hasCapability = (capability) => store.getters['user/hasCapability'](capability)
|
|
const hasPlatformFeature = (feature) => store.getters['user/hasPlatformFeature'](feature)
|
|
const hasSubscriberProfileAttribute = (attribute) =>
|
|
store.getters['user/hasSubscriberProfileAttribute'](attribute)
|
|
|
|
return {
|
|
// State
|
|
subscriber,
|
|
platformInfo,
|
|
|
|
// Getters
|
|
isLogged,
|
|
username,
|
|
isAdmin,
|
|
isPbxAdmin,
|
|
isPbxEnabled,
|
|
isSpCe,
|
|
loginRequesting,
|
|
isPasswordChanging,
|
|
|
|
// Actions
|
|
login,
|
|
logout,
|
|
changePassword,
|
|
changeSIPPassword,
|
|
initUser,
|
|
|
|
// Getters with parameters
|
|
hasCapability,
|
|
hasPlatformFeature,
|
|
hasSubscriberProfileAttribute
|
|
}
|
|
}
|