Skip to content

Commit

Permalink
Merge pull request #49209 from nextcloud/fix/appstore-regressions
Browse files Browse the repository at this point in the history
fix(app-store): Add back legacy store API used for update and removal
  • Loading branch information
susnux authored Nov 11, 2024
2 parents d3fd6b9 + f074482 commit 438b48e
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 23 deletions.
9 changes: 8 additions & 1 deletion apps/settings/src/components/AppList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand All @@ -152,6 +154,8 @@ export default {
NcButton,
},

mixins: [AppManagement],

props: {
category: {
type: String,
Expand All @@ -161,8 +165,11 @@ export default {

setup() {
const appApiStore = useAppApiStore()
const store = useAppsStore()

return {
appApiStore,
store,
}
},

Expand Down
8 changes: 5 additions & 3 deletions apps/settings/src/main-apps-users-management.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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()

Expand Down
19 changes: 10 additions & 9 deletions apps/settings/src/mixins/AppManagement.js
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
5 changes: 1 addition & 4 deletions apps/settings/src/store/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = {
Expand Down
4 changes: 2 additions & 2 deletions dist/settings-apps-view-4529.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/settings-apps-view-4529.js.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/settings-vue-settings-apps-users-management.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/settings-vue-settings-apps-users-management.js.map

Large diffs are not rendered by default.

0 comments on commit 438b48e

Please sign in to comment.