converse-desktop/app/services/chimeverse-service.js

60 lines
1.9 KiB
JavaScript
Raw Normal View History

2020-05-09 15:07:42 +00:00
let angApp = require(__dirname + '/../init')
2020-05-12 15:06:16 +00:00
angApp.factory('ChimeVerseService', ($window, CredentialsServise, SystemService, AppStateService, SettingsService) => {
2020-05-09 15:07:42 +00:00
let chimeverseService = {}
chimeverseService._notifyMessage = () => {
SystemService.playAudio()
SystemService.showEnvelope()
}
chimeverseService._hideNotifyMessage = () => {
SystemService.hideEnvelope()
}
chimeverseService.logout = () => {
2020-05-11 18:26:51 +00:00
let credentials = CredentialsServise.getCredentials()
2020-05-09 15:07:42 +00:00
credentials.then((result) => {
2020-05-11 18:26:51 +00:00
let remove = CredentialsServise.removeCredentials(result.login)
2020-05-09 15:07:42 +00:00
console.log('Remove credential on logout')
remove.then(() => {
AppStateService.set(AppStateService.APP_STATE_LOGIN)
})
})
}
chimeverseService.initConverse = (bosh, login, password) => {
AppStateService.set(AppStateService.APP_STATE_DEFAULT) // Always set to default state before init
let lang = navigator.language
2020-05-12 15:06:16 +00:00
let allowBookmarks = SettingsService.get('allowBookmarks')
2020-05-09 15:07:42 +00:00
converse.initialize({
2020-05-12 15:06:16 +00:00
allow_bookmarks: allowBookmarks,
2020-05-09 15:07:42 +00:00
bosh_service_url: bosh,
view_mode: 'embedded',
jid: login + '/chimeverse',
password: password,
auto_login: true,
whitelisted_plugins: ['chimeVerse'],
i18n: lang,
priority: 50,
// debug: true,
auto_reconnect: true
})
}
$window.document.addEventListener('conversejs-logout', function (e) {
chimeverseService.logout()
});
$window.document.addEventListener('conversejs-unread', function (e) {
chimeverseService._notifyMessage()
});
$window.document.addEventListener('conversejs-no-unread', function (e) {
chimeverseService._hideNotifyMessage()
});
return chimeverseService
})