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.

index.js 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
  3. *
  4. * @author John Molakvoæ <skjnldsv@protonmail.com>
  5. * @author Julius Härtl <jus@bitgrid.net>
  6. *
  7. * @license AGPL-3.0-or-later
  8. *
  9. * This program is free software: you can redistribute it and/or modify
  10. * it under the terms of the GNU Affero General Public License as
  11. * published by the Free Software Foundation, either version 3 of the
  12. * License, or (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU Affero General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Affero General Public License
  20. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21. *
  22. */
  23. import Vue from 'vue'
  24. import Vuex, { Store } from 'vuex'
  25. import users from './users.js'
  26. import apps from './apps.js'
  27. import settings from './users-settings.js'
  28. import oc from './oc.js'
  29. import { showError } from '@nextcloud/dialogs'
  30. Vue.use(Vuex)
  31. const debug = process.env.NODE_ENV !== 'production'
  32. const mutations = {
  33. API_FAILURE(state, error) {
  34. try {
  35. const message = error.error.response.data.ocs.meta.message
  36. showError(t('settings', 'An error occurred during the request. Unable to proceed.') + '<br>' + message, { isHTML: true })
  37. } catch (e) {
  38. showError(t('settings', 'An error occurred during the request. Unable to proceed.'))
  39. }
  40. console.error(state, error)
  41. },
  42. }
  43. let store = null
  44. export const useStore = () => {
  45. if (store === null) {
  46. store = new Store({
  47. modules: {
  48. users,
  49. apps,
  50. settings,
  51. oc,
  52. },
  53. strict: debug,
  54. mutations,
  55. })
  56. }
  57. return store
  58. }