Merge pull request #40644 from nextcloud/fix/noid/encode-uri-trashbin-restore-files-delete-favorite

fix: encode uri for delete, restore and favorite
pull/40564/head
Christoph Wurst 2 years ago committed by GitHub
commit cfda046260
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      apps/files/src/actions/favoriteAction.ts
  2. 3
      apps/files/src/services/Files.ts
  3. 3
      apps/files_trashbin/src/actions/restoreAction.ts
  4. 2
      apps/files_trashbin/src/services/trashbin.ts
  5. 4
      dist/485-485.js
  6. 2
      dist/485-485.js.map
  7. 4
      dist/core-common.js
  8. 2
      dist/core-common.js.map
  9. 4
      dist/core-login.js
  10. 2
      dist/core-login.js.map
  11. 4
      dist/core-main.js
  12. 2
      dist/core-main.js.map
  13. 4
      dist/files-init.js
  14. 2
      dist/files-init.js.map
  15. 4
      dist/files-sidebar.js
  16. 2
      dist/files-sidebar.js.map
  17. 4
      dist/files_sharing-files_sharing_tab.js
  18. 2
      dist/files_sharing-files_sharing_tab.js.map
  19. 4
      dist/files_trashbin-main.js
  20. 2
      dist/files_trashbin-main.js.map
  21. 4
      dist/files_versions-files_versions.js
  22. 2
      dist/files_versions-files_versions.js.map
  23. 4
      dist/systemtags-init.js
  24. 2
      dist/systemtags-init.js.map

@ -30,6 +30,7 @@ import StarOutlineSvg from '@mdi/svg/svg/star-outline.svg?raw'
import StarSvg from '@mdi/svg/svg/star.svg?raw'
import logger from '../logger.js'
import { encodePath } from '@nextcloud/paths'
// If any of the nodes is not favorited, we display the favorite action.
const shouldFavorite = (nodes: Node[]): boolean => {
@ -39,7 +40,7 @@ const shouldFavorite = (nodes: Node[]): boolean => {
export const favoriteNode = async (node: Node, view: View, willFavorite: boolean): Promise<boolean> => {
try {
// TODO: migrate to webdav tags plugin
const url = generateUrl('/apps/files/api/v1/files') + node.path
const url = generateUrl('/apps/files/api/v1/files') + encodePath(node.path)
await axios.post(url, {
tags: willFavorite
? [window.OC.TAG_FAVORITE]

@ -30,6 +30,7 @@ import { getCurrentUser } from '@nextcloud/auth'
import { getClient, rootPath } from './WebdavClient'
import { hashCode } from '../utils/hashUtils'
import logger from '../logger'
import { encodePath } from '@nextcloud/paths'
const client = getClient()
@ -44,7 +45,7 @@ export const resultToNode = function(node: FileStat): File | Folder {
const permissions = davParsePermissions(props?.permissions)
const owner = getCurrentUser()?.uid as string
const source = generateRemoteUrl('dav' + rootPath + node.filename)
const source = generateRemoteUrl(encodePath('dav' + rootPath + node.filename))
const id = props?.fileid < 0
? hashCode(source)
: props?.fileid as number || 0

@ -28,6 +28,7 @@ import axios from '@nextcloud/axios'
import History from '@mdi/svg/svg/history.svg?raw'
import logger from '../../../files/src/logger.js'
import { encodePath } from '@nextcloud/paths'
registerFileAction(new FileAction({
id: 'restore',
@ -50,7 +51,7 @@ registerFileAction(new FileAction({
async exec(node: Node) {
try {
const destination = generateRemoteUrl(encodeURI(`dav/trashbin/${getCurrentUser()?.uid}/restore/${node.basename}`))
const destination = generateRemoteUrl(encodePath(`dav/trashbin/${getCurrentUser()?.uid}/restore/${node.basename}`))
await axios({
method: 'MOVE',
url: node.source,

@ -46,7 +46,7 @@ const resultToNode = function(node: FileStat): File | Folder {
const nodeData = {
id: node.props?.fileid as number || 0,
source: generateRemoteUrl('dav' + rootPath + node.filename),
source: generateRemoteUrl(encodePath('dav' + rootPath + node.filename)),
// do not show the mtime column
// mtime: new Date(node.lastmod),
mime: node.mime as string,

4
dist/485-485.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/core-main.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save