diff --git a/changelog/unreleased/enhancement-requests-language-header b/changelog/unreleased/enhancement-requests-language-header
index 98669d4a78c..dd462b48ef8 100644
--- a/changelog/unreleased/enhancement-requests-language-header
+++ b/changelog/unreleased/enhancement-requests-language-header
@@ -4,3 +4,4 @@ All outgoing requests now have the `Accept-Language` header which includes the c
https://github.com/owncloud/web/issues/8612
https://github.com/owncloud/web/pull/8621
+https://github.com/owncloud/web/pull/8660
diff --git a/packages/web-app-admin-settings/src/components/Users/CreateUserModal.vue b/packages/web-app-admin-settings/src/components/Users/CreateUserModal.vue
index ff28790978e..7604d06eae3 100644
--- a/packages/web-app-admin-settings/src/components/Users/CreateUserModal.vue
+++ b/packages/web-app-admin-settings/src/components/Users/CreateUserModal.vue
@@ -55,12 +55,13 @@
diff --git a/packages/web-pkg/src/composables/driveResolver/useDriveResolver.ts b/packages/web-pkg/src/composables/driveResolver/useDriveResolver.ts
index 3b1e7fd4f66..1a74130418f 100644
--- a/packages/web-pkg/src/composables/driveResolver/useDriveResolver.ts
+++ b/packages/web-pkg/src/composables/driveResolver/useDriveResolver.ts
@@ -3,13 +3,13 @@ import { Store } from 'vuex'
import { computed, Ref, ref, unref, watch } from 'vue'
import { buildShareSpaceResource, SpaceResource } from 'web-client/src/helpers'
import { useRouteQuery } from '../router'
-import { useGraphClient } from '../graphClient'
import { Resource } from 'web-client'
import { useSpacesLoading } from './useSpacesLoading'
import { queryItemAsString } from '../appDefaults'
import { configurationManager } from '../../configuration'
import { urlJoin } from 'web-client/src/utils'
import { useCapabilitySpacesEnabled } from '../capability'
+import { useClientService } from 'web-pkg/src/composables'
interface DriveResolverOptions {
store?: Store
@@ -32,7 +32,7 @@ export const useDriveResolver = (options: DriveResolverOptions = {}): DriveResol
})
const hasSpaces = useCapabilitySpacesEnabled(store)
- const { graphClient } = useGraphClient()
+ const clientService = useClientService()
const spaces = computed(() => store.getters['runtime/spaces/spaces'])
const space = ref(null)
const item: Ref = ref(null)
@@ -111,7 +111,7 @@ export const useDriveResolver = (options: DriveResolverOptions = {}): DriveResol
return
}
return store.dispatch('runtime/spaces/loadSpaceMembers', {
- graphClient: unref(graphClient),
+ graphClient: clientService.graphAuthenticated,
space: s
})
},
diff --git a/packages/web-pkg/src/composables/graphClient/index.ts b/packages/web-pkg/src/composables/graphClient/index.ts
deleted file mode 100644
index 2611ce3155a..00000000000
--- a/packages/web-pkg/src/composables/graphClient/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from './useGraphClient'
diff --git a/packages/web-pkg/src/composables/graphClient/useGraphClient.ts b/packages/web-pkg/src/composables/graphClient/useGraphClient.ts
deleted file mode 100644
index e359b71611a..00000000000
--- a/packages/web-pkg/src/composables/graphClient/useGraphClient.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { computed } from 'vue'
-import { useClientService } from '../'
-
-export const useGraphClient = () => {
- const clientService = useClientService()
-
- const graphClient = computed(() => {
- return clientService.graphAuthenticated
- })
-
- return {
- graphClient
- }
-}
diff --git a/packages/web-pkg/src/composables/index.ts b/packages/web-pkg/src/composables/index.ts
index cb152aaa3ce..69e7c81f398 100644
--- a/packages/web-pkg/src/composables/index.ts
+++ b/packages/web-pkg/src/composables/index.ts
@@ -4,7 +4,6 @@ export * from './authContext'
export * from './capability'
export * from './clientService'
export * from './driveResolver'
-export * from './graphClient'
export * from './loadingService'
export * from './localStorage'
export * from './router'
diff --git a/packages/web-pkg/src/mixins/spaces/showMembers.ts b/packages/web-pkg/src/mixins/spaces/showMembers.ts
index 15596f8d2d7..bbdd7c539f3 100644
--- a/packages/web-pkg/src/mixins/spaces/showMembers.ts
+++ b/packages/web-pkg/src/mixins/spaces/showMembers.ts
@@ -1,12 +1,8 @@
import { mapMutations } from 'vuex'
import { eventBus } from 'web-pkg/src/services/eventBus'
-import { useGraphClient } from 'web-pkg/src/composables'
import { SideBarEventTopics } from 'web-pkg/src/composables/sideBar'
export default {
- setup() {
- return { ...useGraphClient() }
- },
computed: {
$_showMembers_items() {
return [
diff --git a/packages/web-pkg/src/services/client/client.ts b/packages/web-pkg/src/services/client/client.ts
index 14006e482e7..0a504fb507e 100644
--- a/packages/web-pkg/src/services/client/client.ts
+++ b/packages/web-pkg/src/services/client/client.ts
@@ -22,7 +22,7 @@ interface HttpClient {
token?: string
}
-const createAxiosInstance = (authParams: AuthParameters, language): AxiosInstance => {
+const createAxiosInstance = (authParams: AuthParameters, language: string): AxiosInstance => {
const auth = new Auth(authParams)
const axiosClient = axios.create({
headers: auth.getHeaders()
diff --git a/packages/web-pkg/tests/unit/components/Spaces/QuotaModal.spec.ts b/packages/web-pkg/tests/unit/components/Spaces/QuotaModal.spec.ts
index eb65cc9ab4c..066835e6301 100644
--- a/packages/web-pkg/tests/unit/components/Spaces/QuotaModal.spec.ts
+++ b/packages/web-pkg/tests/unit/components/Spaces/QuotaModal.spec.ts
@@ -12,7 +12,7 @@ import {
describe('QuotaModal', () => {
describe('method "editQuota"', () => {
it('should show message on success', async () => {
- const { wrapper, mocks } = getWrapper()
+ const { wrapper, mocks, storeOptions } = getWrapper()
mocks.$clientService.graphAuthenticated.drives.updateDrive.mockImplementation(() =>
mockAxiosResolve({
id: '1fe58d8b-aa69-4c22-baf7-97dd57479f22',
@@ -25,24 +25,24 @@ describe('QuotaModal', () => {
}
})
)
- const showMessageStub = jest.spyOn(wrapper.vm, 'showMessage')
- const updateSpaceFieldStub = jest.spyOn(wrapper.vm, 'UPDATE_SPACE_FIELD')
await wrapper.vm.editQuota()
- expect(updateSpaceFieldStub).toHaveBeenCalledTimes(1)
- expect(showMessageStub).toHaveBeenCalledTimes(1)
+ expect(
+ storeOptions.modules.runtime.modules.spaces.mutations.UPDATE_SPACE_FIELD
+ ).toHaveBeenCalledTimes(1)
+ expect(storeOptions.actions.showMessage).toHaveBeenCalledTimes(1)
})
it('should show message on server error', async () => {
jest.spyOn(console, 'error').mockImplementation(() => undefined)
- const { wrapper, mocks } = getWrapper()
+ const { wrapper, mocks, storeOptions } = getWrapper()
mocks.$clientService.graphAuthenticated.drives.updateDrive.mockRejectedValue(new Error())
- const showMessageStub = jest.spyOn(wrapper.vm, 'showMessage')
- const updateSpaceFieldStub = jest.spyOn(wrapper.vm, 'UPDATE_SPACE_FIELD')
await wrapper.vm.editQuota()
- expect(updateSpaceFieldStub).toHaveBeenCalledTimes(0)
- expect(showMessageStub).toHaveBeenCalledTimes(1)
+ expect(
+ storeOptions.modules.runtime.modules.spaces.mutations.UPDATE_SPACE_FIELD
+ ).toHaveBeenCalledTimes(0)
+ expect(storeOptions.actions.showMessage).toHaveBeenCalledTimes(1)
})
})
})
@@ -53,16 +53,8 @@ function getWrapper() {
const store = createStore(storeOptions)
return {
mocks,
+ storeOptions,
wrapper: mount(QuotaModal, {
- data: () => {
- return {
- selectedOption: {
- displayValue: '10',
- displayUnit: 'GB',
- value: 10 * Math.pow(10, 9)
- }
- }
- },
props: {
cancel: jest.fn(),
spaces: [
diff --git a/packages/web-runtime/package.json b/packages/web-runtime/package.json
index 74ae19a494a..bcfe1fc6166 100644
--- a/packages/web-runtime/package.json
+++ b/packages/web-runtime/package.json
@@ -27,7 +27,7 @@
"luxon": "^2.4.0",
"marked": "^4.0.12",
"oidc-client-ts": "^2.1.0",
- "owncloud-sdk": "~3.1.0-alpha.3",
+ "owncloud-sdk": "~3.1.0-alpha.4",
"p-queue": "^6.6.2",
"portal-vue": "3.0.0",
"postcss-import": "^12.0.1",
diff --git a/packages/web-runtime/src/pages/account.vue b/packages/web-runtime/src/pages/account.vue
index 6489510252e..5c1ef5dd319 100644
--- a/packages/web-runtime/src/pages/account.vue
+++ b/packages/web-runtime/src/pages/account.vue
@@ -89,7 +89,7 @@ import { computed, defineComponent, onMounted, unref } from 'vue'
import {
useAccessToken,
useCapabilitySpacesEnabled,
- useGraphClient,
+ useClientService,
useStore
} from 'web-pkg/src/composables'
import { useTask } from 'vue-concurrency'
@@ -107,6 +107,7 @@ export default defineComponent({
const store = useStore()
const accessToken = useAccessToken({ store })
const language = useGettext()
+ const clientService = useClientService()
// FIXME: Use graph capability when we have it
const isLanguageSupported = useCapabilitySpacesEnabled()
@@ -207,7 +208,7 @@ export default defineComponent({
})
return {
- ...useGraphClient(),
+ clientService,
languageOptions,
selectedLanguageOption,
updateSelectedLanguage,
@@ -237,7 +238,7 @@ export default defineComponent({
this.editPasswordModalOpen = false
},
editPassword(currentPassword, newPassword) {
- return this.graphClient.users
+ return this.clientService.graphAuthenticated.users
.changeOwnPassword(currentPassword.trim(), newPassword.trim())
.then(() => {
this.closeEditPasswordModal()
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1a42d99572e..aee4bf6567f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -283,7 +283,7 @@ importers:
'@babel/preset-env': 7.19.4_@babel+core@7.19.6
'@babel/runtime': 7.20.1
'@popperjs/core': 2.11.5
- autoprefixer: 10.4.12_postcss@8.4.20
+ autoprefixer: 10.4.12_postcss@8.4.21
babel-core: 7.0.0-bridge.0_@babel+core@7.19.6
babel-jest: 29.2.2_@babel+core@7.19.6
babel-loader: 9.1.0_q4ydpsrmbqywduja5orgah6fgq
@@ -331,7 +331,7 @@ importers:
style-loader: 2.0.0_webpack@4.46.0
style-value-types: 5.1.2
stylelint: 14.16.0
- stylelint-config-sass-guidelines: 9.0.1_l3s4qeu3gkar2knsdy3w5miimm
+ stylelint-config-sass-guidelines: 9.0.1_4hlw5ipnhspjrftdr7hqo6kmye
stylelint-config-standard: 26.0.0_stylelint@14.16.0
tinycolor2: 1.4.2
tippy.js: 6.3.7
@@ -647,7 +647,7 @@ importers:
luxon: ^2.4.0
marked: ^4.0.12
oidc-client-ts: ^2.1.0
- owncloud-sdk: ~3.1.0-alpha.3
+ owncloud-sdk: ~3.1.0-alpha.4
p-queue: ^6.6.2
portal-vue: 3.0.0
postcss-import: ^12.0.1
@@ -695,7 +695,7 @@ importers:
luxon: 2.4.0
marked: 4.0.12
oidc-client-ts: 2.1.0
- owncloud-sdk: 3.1.0-alpha.3_qgpf6seimtkgc6dfu7oqfstxh4
+ owncloud-sdk: 3.1.0-alpha.4_qgpf6seimtkgc6dfu7oqfstxh4
p-queue: 6.6.2
portal-vue: 3.0.0_vue@3.2.47
postcss-import: 12.0.1
@@ -7426,7 +7426,7 @@ packages:
engines: {node: '>=8.0.0'}
dev: true
- /autoprefixer/10.4.12_postcss@8.4.20:
+ /autoprefixer/10.4.12_postcss@8.4.21:
resolution: {integrity: sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==}
engines: {node: ^10 || ^12 || >=14}
hasBin: true
@@ -7438,7 +7438,7 @@ packages:
fraction.js: 4.2.0
normalize-range: 0.1.2
picocolors: 1.0.0
- postcss: 8.4.20
+ postcss: 8.4.21
postcss-value-parser: 4.2.0
dev: true
@@ -16561,8 +16561,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /owncloud-sdk/3.1.0-alpha.3_qgpf6seimtkgc6dfu7oqfstxh4:
- resolution: {integrity: sha512-jouNHVHUJBuYs7A1ZPUNl+uSUulSYwTFzOjW4NhONl9xbDthKDeB+vWycUY9IdFRKroF8l1qo4xkXVO9mn7U/A==}
+ /owncloud-sdk/3.1.0-alpha.4_qgpf6seimtkgc6dfu7oqfstxh4:
+ resolution: {integrity: sha512-Z+ZKPhccB+BrPKqT5Lv8jwTl3zBtw8POgytPi5jByNQpPoU1JuQ9H32ysHa3yFU/rhIuYWWDBSHPlvw+nyIUlA==}
peerDependencies:
axios: ^0.27.2
cross-fetch: ^3.0.6
@@ -17456,13 +17456,13 @@ packages:
postcss: 8.4.20
dev: true
- /postcss-scss/4.0.6_postcss@8.4.20:
+ /postcss-scss/4.0.6_postcss@8.4.21:
resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==}
engines: {node: '>=12.0'}
peerDependencies:
postcss: ^8.4.19
dependencies:
- postcss: 8.4.20
+ postcss: 8.4.21
dev: true
/postcss-selector-parser/6.0.10:
@@ -17558,7 +17558,6 @@ packages:
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
- dev: false
/preact/10.7.1:
resolution: {integrity: sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg==}
@@ -19909,15 +19908,15 @@ packages:
stylelint: 14.16.0
dev: true
- /stylelint-config-sass-guidelines/9.0.1_l3s4qeu3gkar2knsdy3w5miimm:
+ /stylelint-config-sass-guidelines/9.0.1_4hlw5ipnhspjrftdr7hqo6kmye:
resolution: {integrity: sha512-N06PsVsrgKijQ3YT5hqKA7x3NUkgELTRI1cbWMqcYiCGG6MjzvNk6Cb5YYA1PrvrksBV76BvY9P9bAswojVMqA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
postcss: ^8.3.3
stylelint: ^14.0.1
dependencies:
- postcss: 8.4.20
- postcss-scss: 4.0.6_postcss@8.4.20
+ postcss: 8.4.21
+ postcss-scss: 4.0.6_postcss@8.4.21
stylelint: 14.16.0
stylelint-order: 5.0.0_stylelint@14.16.0
stylelint-scss: 4.3.0_stylelint@14.16.0