mirror of
https://github.com/nextcloud/server.git
synced 2026-06-10 09:13:19 -04:00
fix(app-store): Add back legacy store API used for update and removal
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
parent
d3fd6b934f
commit
52ae2134da
4 changed files with 24 additions and 17 deletions
|
|
@ -140,10 +140,12 @@
|
|||
|
||||
<script>
|
||||
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
|
||||
import AppItem from './AppList/AppItem.vue'
|
||||
import pLimit from 'p-limit'
|
||||
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
|
||||
import AppItem from './AppList/AppItem.vue'
|
||||
import AppManagement from '../mixins/AppManagement'
|
||||
import { useAppApiStore } from '../store/app-api-store'
|
||||
import { useAppsStore } from '../store/apps-store'
|
||||
|
||||
export default {
|
||||
name: 'AppList',
|
||||
|
|
@ -152,6 +154,8 @@ export default {
|
|||
NcButton,
|
||||
},
|
||||
|
||||
mixins: [AppManagement],
|
||||
|
||||
props: {
|
||||
category: {
|
||||
type: String,
|
||||
|
|
@ -161,8 +165,11 @@ export default {
|
|||
|
||||
setup() {
|
||||
const appApiStore = useAppApiStore()
|
||||
const store = useAppsStore()
|
||||
|
||||
return {
|
||||
appApiStore,
|
||||
store,
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import VTooltipPlugin from 'v-tooltip'
|
||||
import { sync } from 'vuex-router-sync'
|
||||
import { t, n } from '@nextcloud/l10n'
|
||||
|
|
@ -18,14 +19,15 @@ import { PiniaVuePlugin, createPinia } from 'pinia'
|
|||
// eslint-disable-next-line camelcase
|
||||
__webpack_nonce__ = getCSPNonce()
|
||||
|
||||
const store = useStore()
|
||||
sync(store, router)
|
||||
|
||||
// bind to window
|
||||
Vue.prototype.t = t
|
||||
Vue.prototype.n = n
|
||||
Vue.use(PiniaVuePlugin)
|
||||
Vue.use(VTooltipPlugin, { defaultHtml: false })
|
||||
Vue.use(Vuex)
|
||||
|
||||
const store = useStore()
|
||||
sync(store, router)
|
||||
|
||||
const pinia = createPinia()
|
||||
|
||||
|
|
|
|||
|
|
@ -210,15 +210,16 @@ export default {
|
|||
.catch((error) => { showError(error) })
|
||||
}
|
||||
},
|
||||
remove(appId, removeData = false) {
|
||||
if (this.app?.app_api) {
|
||||
this.appApiStore.uninstallApp(appId, removeData)
|
||||
.then(() => { rebuildNavigation() })
|
||||
.catch((error) => { showError(error) })
|
||||
} else {
|
||||
this.$store.dispatch('appApiApps/uninstallApp', { appId, removeData })
|
||||
.then((response) => { rebuildNavigation() })
|
||||
.catch((error) => { showError(error) })
|
||||
async remove(appId, removeData = false) {
|
||||
try {
|
||||
if (this.app?.app_api) {
|
||||
await this.appApiStore.uninstallApp(appId, removeData)
|
||||
} else {
|
||||
await this.$store.dispatch('uninstallApp', { appId, removeData })
|
||||
}
|
||||
await rebuildNavigation()
|
||||
} catch (error) {
|
||||
showError(error)
|
||||
}
|
||||
},
|
||||
install(appId) {
|
||||
|
|
|
|||
|
|
@ -3,16 +3,13 @@
|
|||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex, { Store } from 'vuex'
|
||||
import { Store } from 'vuex'
|
||||
import users from './users.js'
|
||||
import apps from './apps.js'
|
||||
import settings from './users-settings.js'
|
||||
import oc from './oc.js'
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const debug = process.env.NODE_ENV !== 'production'
|
||||
|
||||
const mutations = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue