| Server IP : 85.214.143.32 / Your IP : 216.73.216.199 Web Server : nginx/1.24.0 System : Linux datensicherung.webdress.site 6.8.0-139-generic #139-Ubuntu SMP PREEMPT_DYNAMIC Sat Aug 1 03:52:05 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/nextcloud/dist/ |
Upload File : |
{"version":3,"file":"files_sharing-init.js?v=204b93ea82d9f5a6739f","mappings":"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","sources":["webpack:///nextcloud/apps/files_sharing/src/files_views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/restoreShareAction.ts","webpack://nextcloud/./apps/files_sharing/src/files_actions/sharingStatusAction.scss?6b51","webpack:///nextcloud/apps/files_sharing/src/files_actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/utils/AccountIcon.ts","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue","webpack://nextcloud/./apps/files_sharing/src/components/FileListFilterAccount.vue?f338","webpack://nextcloud/./apps/files_sharing/src/components/FileListFilterAccount.vue?64e4","webpack:///nextcloud/apps/files_sharing/src/files_filters/AccountFilter.ts","webpack:///nextcloud/apps/files_sharing/src/files_newMenu/newFileRequest.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/files_headers/noteToRecipient.ts","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/sharingStatusAction.scss","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css","webpack:///nextcloud/node_modules/@nextcloud/files/dist/dav.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/set anonymous default export name","webpack:///nextcloud/webpack/runtime/wrap commonjs module","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport AccountClockSvg from '@mdi/svg/svg/account-clock-outline.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group-outline.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account-outline.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus-outline.svg?raw';\nimport FileUploadSvg from '@mdi/svg/svg/file-upload-outline.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/trash-can-outline.svg?raw';\nimport { getNavigation, View } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { getContents, isFileRequest } from '../services/SharingService.ts';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport const fileRequestViewId = 'filerequest';\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: sharesViewId,\n name: t('files_sharing', 'Shares'),\n caption: t('files_sharing', 'Overview of shared files.'),\n emptyTitle: t('files_sharing', 'No shares'),\n emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n icon: AccountPlusSvg,\n order: 20,\n columns: [],\n getContents: () => getContents(),\n }));\n Navigation.register(new View({\n id: sharedWithYouViewId,\n name: t('files_sharing', 'Shared with you'),\n caption: t('files_sharing', 'List of files that are shared with you.'),\n emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n icon: AccountSvg,\n order: 1,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(true, false, false, false),\n }));\n // Don't show this view if the user has no storage quota\n const storageStats = loadState('files', 'storageStats', { quota: -1 });\n if (storageStats.quota !== 0) {\n Navigation.register(new View({\n id: sharedWithOthersViewId,\n name: t('files_sharing', 'Shared with others'),\n caption: t('files_sharing', 'List of files that you shared with others.'),\n emptyTitle: t('files_sharing', 'Nothing shared yet'),\n emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n icon: AccountGroupSvg,\n order: 2,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false),\n }));\n }\n Navigation.register(new View({\n id: sharingByLinksViewId,\n name: t('files_sharing', 'Shared by link'),\n caption: t('files_sharing', 'List of files that are shared by link.'),\n emptyTitle: t('files_sharing', 'No shared links'),\n emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n icon: LinkSvg,\n order: 3,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [ShareType.Link]),\n }));\n Navigation.register(new View({\n id: fileRequestViewId,\n name: t('files_sharing', 'File requests'),\n caption: t('files_sharing', 'List of file requests.'),\n emptyTitle: t('files_sharing', 'No file requests'),\n emptyCaption: t('files_sharing', 'File requests you have created will show up here'),\n icon: FileUploadSvg,\n order: 4,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [ShareType.Link, ShareType.Email])\n .then(({ folder, contents }) => {\n return {\n folder,\n contents: contents.filter((node) => isFileRequest(node.attributes?.['share-attributes'] || [])),\n };\n }),\n }));\n Navigation.register(new View({\n id: deletedSharesViewId,\n name: t('files_sharing', 'Deleted shares'),\n caption: t('files_sharing', 'List of shares you left.'),\n emptyTitle: t('files_sharing', 'No deleted shares'),\n emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n icon: DeleteSvg,\n order: 5,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, false, true),\n }));\n Navigation.register(new View({\n id: pendingSharesViewId,\n name: t('files_sharing', 'Pending shares'),\n caption: t('files_sharing', 'List of unapproved shares.'),\n emptyTitle: t('files_sharing', 'No pending shares'),\n emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n icon: AccountClockSvg,\n order: 6,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, true, false),\n }));\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { pendingSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'accept-share',\n displayName: ({ nodes }) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n iconSvgInline: () => CheckSvg,\n enabled: ({ nodes, view }) => nodes.length > 0 && view.id === pendingSharesViewId,\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({\n nodes: [node],\n view,\n folder,\n contents,\n })));\n },\n order: 1,\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { DefaultType, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharedWithOthersViewId, sharedWithYouViewId, sharesViewId, sharingByLinksViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'files_sharing:open-in-files',\n displayName: () => t('files_sharing', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: ({ view }) => [\n sharesViewId,\n sharedWithYouViewId,\n sharedWithOthersViewId,\n sharingByLinksViewId,\n // Deleted and pending shares are not\n // accessible in the files app.\n ].includes(view.id),\n async exec({ nodes }) {\n const isFolder = nodes[0].type === FileType.Folder;\n window.OCP.Files.Router.goToRoute(null, // use default route\n {\n view: 'files',\n fileid: String(nodes[0].fileid),\n }, {\n // If this node is a folder open the folder in files\n dir: isFolder ? nodes[0].path : nodes[0].dirname,\n // otherwise if this is a file, we should open it\n openfile: isFolder ? undefined : 'true',\n });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { ShareType } from '@nextcloud/sharing';\nimport { pendingSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'reject-share',\n displayName: ({ nodes }) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n iconSvgInline: () => CloseSvg,\n enabled: ({ nodes, view }) => {\n if (view.id !== pendingSharesViewId) {\n return false;\n }\n if (nodes.length === 0) {\n return false;\n }\n // disable rejecting group shares from the pending list because they anyway\n // land back into that same list after rejecting them\n if (nodes.some((node) => node.attributes.remote_id\n && node.attributes.share_type === ShareType.RemoteGroup)) {\n return false;\n }\n return true;\n },\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const isRemote = !!node.attributes.remote;\n const shareBase = isRemote ? 'remote_shares' : 'shares';\n const id = node.id;\n let url;\n if (node.attributes.accepted === 0) {\n url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase,\n id,\n });\n }\n else {\n url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n shareBase,\n id,\n });\n }\n await axios.delete(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({ nodes: [node], view, folder, contents })));\n },\n order: 2,\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { deletedSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'restore-share',\n displayName: ({ nodes }) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n iconSvgInline: () => ArrowULeftTopSvg,\n enabled: ({ nodes, view }) => nodes.length > 0 && view.id === deletedSharesViewId,\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n id: node.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({ nodes: [node], view, folder, contents })));\n },\n order: 1,\n inline: () => true,\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport AccountGroupSvg from '@mdi/svg/svg/account-group-outline.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus-outline.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { showError } from '@nextcloud/dialogs';\nimport { getSidebar, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { generateAvatarSvg } from '../utils/AccountIcon.ts';\nimport './sharingStatusAction.scss';\n/**\n * Check if the node is external (federated)\n *\n * @param node - The node to check\n */\nfunction isExternal(node) {\n return node.attributes?.['is-federated'] ?? false;\n}\nexport const ACTION_SHARING_STATUS = 'sharing-status';\nexport const action = {\n id: ACTION_SHARING_STATUS,\n displayName({ nodes }) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n if (shareTypes.length > 0\n || (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return t('files_sharing', 'Shared');\n }\n return '';\n },\n title({ nodes }) {\n const node = nodes[0];\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n const ownerDisplayName = node?.attributes?.['owner-display-name'];\n return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n }\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n if (shareTypes.length > 1) {\n return t('files_sharing', 'Shared multiple times with different people');\n }\n const sharees = node.attributes.sharees?.sharee;\n if (!sharees) {\n // No sharees so just show the default message to create a new share\n return t('files_sharing', 'Sharing options');\n }\n const sharee = [sharees].flat()[0]; // the property is sometimes weirdly normalized, so we need to compensate\n switch (sharee?.type) {\n case ShareType.User:\n return t('files_sharing', 'Shared with {user}', { user: sharee['display-name'] });\n case ShareType.Group:\n return t('files_sharing', 'Shared with group {group}', { group: sharee['display-name'] ?? sharee.id });\n default:\n return t('files_sharing', 'Shared with others');\n }\n },\n iconSvgInline({ nodes }) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return AccountPlusSvg;\n }\n // Link shares\n if (shareTypes.includes(ShareType.Link)\n || shareTypes.includes(ShareType.Email)) {\n return LinkSvg;\n }\n // Group shares\n if (shareTypes.includes(ShareType.Group)\n || shareTypes.includes(ShareType.RemoteGroup)) {\n return AccountGroupSvg;\n }\n // Circle shares\n if (shareTypes.includes(ShareType.Team)) {\n return CircleSvg;\n }\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return generateAvatarSvg(node.owner, isExternal(node));\n }\n return AccountPlusSvg;\n },\n enabled({ nodes }) {\n if (nodes.length !== 1) {\n return false;\n }\n // Do not leak information about users to public shares\n if (isPublicShare()) {\n return false;\n }\n const node = nodes[0];\n const shareTypes = node.attributes?.['share-types'];\n const isMixed = Array.isArray(shareTypes) && shareTypes.length > 0;\n // If the node is shared multiple times with\n // different share types to the current user\n if (isMixed) {\n return true;\n }\n // If the node is shared by someone else\n if (node.owner !== getCurrentUser()?.uid || isExternal(node)) {\n return true;\n }\n // You need share permissions to share this file\n // and read permissions to see the sidebar\n return (node.permissions & Permission.SHARE) !== 0\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec({ nodes }) {\n // You need read permissions to see the sidebar\n const node = nodes[0];\n if ((node.permissions & Permission.READ) !== 0) {\n const sidebar = getSidebar();\n sidebar.open(node, 'sharing');\n return null;\n }\n // Should not happen as the enabled check should prevent this\n // leaving it here for safety or in case someone calls this action directly\n showError(t('files_sharing', 'You do not have enough permissions to share this file.'));\n return null;\n },\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router';\n/**\n *\n */\nfunction isDarkMode() {\n return window?.matchMedia?.('(prefers-color-scheme: dark)')?.matches === true\n || document.querySelector('[data-themes*=dark]') !== null;\n}\n/**\n *\n * @param userId\n * @param isGuest\n */\nexport function generateAvatarSvg(userId, isGuest = false) {\n // normal avatar url: /avatar/{userId}/32?guestFallback=true\n // dark avatar url: /avatar/{userId}/32/dark?guestFallback=true\n // guest avatar url: /avatar/guest/{userId}/32\n // guest dark avatar url: /avatar/guest/{userId}/32/dark\n const basePath = isGuest ? `/avatar/guest/${userId}` : `/avatar/${userId}`;\n const darkModePath = isDarkMode() ? '/dark' : '';\n const guestFallback = isGuest ? '' : '?guestFallback=true';\n const url = `${basePath}/32${darkModePath}${guestFallback}`;\n const avatarUrl = generateUrl(url, { userId });\n return `<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\"\n\t\txmlns=\"http://www.w3.org/2000/svg\" class=\"sharing-status__avatar\">\n\t\t<image href=\"${avatarUrl}\" height=\"32\" width=\"32\" />\n\t</svg>`;\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\n/**\n *\n */\nexport function getCurrentUser() {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_vm.$style.fileListFilterAccount},[(_setup.availableAccounts.length > 1)?_c(_setup.NcTextField,{attrs:{\"type\":\"search\",\"label\":_setup.t('files_sharing', 'Filter accounts')},model:{value:(_setup.accountFilter),callback:function ($$v) {_setup.accountFilter=$$v},expression:\"accountFilter\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_setup.shownAccounts),function(account){return _c(_setup.NcButton,{key:account.id,attrs:{\"alignment\":\"start\",\"pressed\":_setup.selectedAccounts.includes(account),\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"update:pressed\":function($event){return _setup.toggleAccount(account.id, $event)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcAvatar,_vm._b({class:_vm.$style.fileListFilterAccount__avatar,attrs:{\"size\":24,\"disable-menu\":\"\",\"hide-status\":\"\"}},'NcAvatar',account,false))]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(account.displayName)+\"\\n\\t\\t\"),(account.id === _setup.currentUserId)?_c('span',{class:_vm.$style.fileListFilterAccount__currentUser},[_vm._v(\"\\n\\t\\t\\t(\"+_vm._s(_setup.t('files', 'you'))+\")\\n\\t\\t\")]):_vm._e()])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileListFilterAccount.vue?vue&type=template&id=ec2dd1f8\"\nimport script from \"./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport svgAccountMultipleOutline from '@mdi/svg/svg/account-multiple-outline.svg?raw';\nimport { subscribe } from '@nextcloud/event-bus';\nimport { FileListFilter, registerFileListFilter } from '@nextcloud/files';\nimport { t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport wrap from '@vue/web-component-wrapper';\nimport Vue from 'vue';\nimport FileListFilterAccount from '../components/FileListFilterAccount.vue';\n// once files_sharing is migrated to the new frontend use the import instead:\n// import { TRASHBIN_VIEW_ID } from '../../../files_trashbin/src/files_views/trashbinView.ts'\nconst TRASHBIN_VIEW_ID = 'trashbin';\nconst tagName = 'files_sharing-file-list-filter-account';\n/**\n * File list filter to filter by owner / sharee\n */\nclass AccountFilter extends FileListFilter {\n #availableAccounts;\n #filterAccounts;\n displayName = t('files_sharing', 'People');\n iconSvgInline = svgAccountMultipleOutline;\n tagName = tagName;\n constructor() {\n super('files_sharing:account', 100);\n this.#availableAccounts = [];\n subscribe('files:list:updated', ({ contents }) => {\n this.updateAvailableAccounts(contents);\n });\n }\n get availableAccounts() {\n return this.#availableAccounts;\n }\n get filterAccounts() {\n return this.#filterAccounts;\n }\n filter(nodes) {\n if (!this.#filterAccounts || this.#filterAccounts.length === 0) {\n return nodes;\n }\n const userIds = this.#filterAccounts.map(({ uid }) => uid);\n // Filter if the owner of the node is in the list of filtered accounts\n return nodes.filter((node) => {\n if (window.OCP.Files.Router.params.view === TRASHBIN_VIEW_ID) {\n const deletedBy = node.attributes?.['trashbin-deleted-by-id'];\n if (deletedBy && userIds.includes(deletedBy)) {\n return true;\n }\n return false;\n }\n // if the owner matches\n if (node.owner && userIds.includes(node.owner)) {\n return true;\n }\n // Or any of the sharees (if only one share this will be an object, otherwise an array. So using `.flat()` to make it always an array)\n const sharees = node.attributes.sharees?.sharee;\n if (sharees && [sharees].flat().some(({ id }) => userIds.includes(id))) {\n return true;\n }\n // If the node provides no information lets keep it\n if (!node.owner && !sharees) {\n return true;\n }\n // Not a valid node for the current filter\n return false;\n });\n }\n reset() {\n this.dispatchEvent(new CustomEvent('reset'));\n }\n /**\n * Set accounts that should be filtered.\n *\n * @param accounts - Account to filter or undefined if inactive.\n */\n setAccounts(accounts) {\n this.#filterAccounts = accounts;\n let chips = [];\n if (this.#filterAccounts && this.#filterAccounts.length > 0) {\n chips = this.#filterAccounts.map(({ displayName, uid }) => ({\n text: displayName,\n user: uid,\n onclick: () => this.dispatchEvent(new CustomEvent('deselect', { detail: uid })),\n }));\n }\n this.updateChips(chips);\n this.filterUpdated();\n }\n /**\n * Update the accounts owning nodes or have nodes shared to them.\n *\n * @param nodes - The current content of the file list.\n */\n updateAvailableAccounts(nodes) {\n const available = new Map();\n for (const node of nodes) {\n const owner = node.owner;\n if (owner && !available.has(owner)) {\n available.set(owner, {\n uid: owner,\n displayName: node.attributes['owner-display-name'] ?? node.owner,\n });\n }\n // ensure sharees is an array (if only one share then it is just an object)\n const sharees = [node.attributes.sharees?.sharee].flat().filter(Boolean);\n for (const sharee of [sharees].flat()) {\n // Skip link shares and other without user\n if (sharee.id === '') {\n continue;\n }\n if (sharee.type !== ShareType.User && sharee.type !== ShareType.Remote) {\n continue;\n }\n // Add if not already added\n if (!available.has(sharee.id)) {\n available.set(sharee.id, {\n uid: sharee.id,\n displayName: sharee['display-name'],\n });\n }\n }\n // lets also handle trashbin\n const deletedBy = node.attributes?.['trashbin-deleted-by-id'];\n if (deletedBy) {\n available.set(deletedBy, {\n uid: deletedBy,\n displayName: node.attributes?.['trashbin-deleted-by-display-name'] || deletedBy,\n });\n }\n }\n this.#availableAccounts = [...available.values()];\n this.dispatchEvent(new CustomEvent('accounts-updated'));\n }\n}\n/**\n * Register the file list filter by owner or sharees\n */\nexport function registerAccountFilter() {\n if (isPublicShare()) {\n // We do not show the filter on public pages - it makes no sense\n return;\n }\n const WrappedComponent = wrap(Vue, FileListFilterAccount);\n // In Vue 2, wrap doesn't support disabling shadow :(\n // Disable with a hack\n Object.defineProperty(WrappedComponent.prototype, 'attachShadow', {\n value() {\n return this;\n },\n });\n Object.defineProperty(WrappedComponent.prototype, 'shadowRoot', {\n get() {\n return this;\n },\n });\n customElements.define(tagName, WrappedComponent);\n registerFileListFilter(new AccountFilter());\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport FileUploadSvg from '@mdi/svg/svg/file-upload-outline.svg?raw';\nimport { t } from '@nextcloud/l10n';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog';\nimport { defineAsyncComponent } from 'vue';\nimport Config from '../services/ConfigService.ts';\nconst sharingConfig = new Config();\nconst NewFileRequestDialogVue = defineAsyncComponent(() => import('../components/NewFileRequestDialog.vue'));\nexport const EntryId = 'file-request';\nexport const entry = {\n id: EntryId,\n displayName: t('files_sharing', 'Create file request'),\n iconSvgInline: FileUploadSvg,\n order: 10,\n enabled() {\n // not on public shares\n if (isPublicShare()) {\n return false;\n }\n if (!sharingConfig.isPublicUploadEnabled) {\n return false;\n }\n // We will check for the folder permission on the dialog\n return sharingConfig.isPublicShareAllowed;\n },\n async handler(context, content) {\n spawnDialog(NewFileRequestDialogVue, {\n context,\n content,\n });\n },\n};\n","/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { addNewFileMenuEntry, registerFileAction } from '@nextcloud/files';\nimport { registerDavProperty } from '@nextcloud/files/dav';\nimport { action as acceptShareAction } from './files_actions/acceptShareAction.ts';\nimport { action as openInFilesAction } from './files_actions/openInFilesAction.ts';\nimport { action as rejectShareAction } from './files_actions/rejectShareAction.ts';\nimport { action as restoreShareAction } from './files_actions/restoreShareAction.ts';\nimport { action as sharingStatusAction } from './files_actions/sharingStatusAction.ts';\nimport { registerAccountFilter } from './files_filters/AccountFilter.ts';\nimport registerNoteToRecipient from './files_headers/noteToRecipient.ts';\nimport { entry as newFileRequest } from './files_newMenu/newFileRequest.ts';\nimport registerSharingViews from './files_views/shares.ts';\nregisterSharingViews();\naddNewFileMenuEntry(newFileRequest);\nregisterDavProperty('nc:note', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:sharees', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:hide-download', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\nregisterFileAction(acceptShareAction);\nregisterFileAction(openInFilesAction);\nregisterFileAction(rejectShareAction);\nregisterFileAction(restoreShareAction);\nregisterFileAction(sharingStatusAction);\nregisterAccountFilter();\n// Add \"note to recipient\" message\nregisterNoteToRecipient();\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { registerFileListHeader } from '@nextcloud/files';\nimport Vue from 'vue';\n/**\n * Register the \"note to recipient\" as a files list header\n */\nexport default function registerNoteToRecipient() {\n let FilesHeaderNoteToRecipient;\n let instance;\n registerFileListHeader({\n id: 'note-to-recipient',\n order: 0,\n // Always if there is a note\n enabled: (folder) => Boolean(folder.attributes.note),\n // Update the root folder if needed\n updated: (folder) => {\n if (instance) {\n instance.updateFolder(folder);\n }\n },\n // render simply spawns the component\n render: async (el, folder) => {\n if (FilesHeaderNoteToRecipient === undefined) {\n const { default: component } = await import('../views/FilesHeaderNoteToRecipient.vue');\n FilesHeaderNoteToRecipient = Vue.extend(component);\n }\n instance = new FilesHeaderNoteToRecipient().$mount(el);\n instance.updateFolder(folder);\n },\n });\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n * @param unmounted whether the share is not mounted into the filesystem (pending or deleted)\n */\nasync function ocsEntryToNode(ocsEntry, unmounted = false) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n // Pending and deleted shares are not mounted into the user's filesystem,\n // so no file operation can act on them until they are accepted or restored.\n if (unmounted) {\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size ?? undefined,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const requests = [];\n if (sharedWithYou) {\n requests.push({ promise: getSharedWithYou(), unmounted: false }, { promise: getRemoteShares(), unmounted: false });\n }\n if (sharedWithOthers) {\n requests.push({ promise: getSharedWithOthers(), unmounted: false });\n }\n if (pendingShares) {\n requests.push({ promise: getPendingShares(), unmounted: true }, { promise: getRemotePendingShares(), unmounted: true });\n }\n if (deletedshares) {\n requests.push({ promise: getDeletedShares(), unmounted: true });\n }\n const responses = await Promise.all(requests.map(({ promise }) => promise));\n const data = responses.flatMap((response, index) => response.data.ocs.data\n .map((entry) => ({ entry, unmounted: requests[index].unmounted })));\n let contents = (await Promise.all(data.map(({ entry, unmounted }) => ocsEntryToNode(entry, unmounted))))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-items>.files-list__row-action-sharing-status{padding-inline:0 !important}.action-items>.files-list__row-action-sharing-status .button-vue__wrapper{flex-direction:row-reverse;gap:var(--default-grid-baseline)}svg.sharing-status__avatar{height:var(--button-inner-size, 32px) !important;width:var(--button-inner-size, 32px) !important;max-height:var(--button-inner-size, 32px) !important;max-width:var(--button-inner-size, 32px) !important;border-radius:var(--button-inner-size, 32px);overflow:hidden}.files-list__row-action-sharing-status .button-vue__text{color:var(--color-primary-element)}.files-list__row-action-sharing-status .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/files_actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAMA,qDAEC,2BAAA,CAEA,0EAEC,0BAAA,CACA,gCAAA,CAIF,2BACC,gDAAA,CACA,+CAAA,CACA,oDAAA,CACA,mDAAA,CACA,4CAAA,CACA,eAAA,CAIA,yDACC,kCAAA,CAED,yDACC,kCAAA\",\"sourcesContent\":[\"/*\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// align icons with text-less inline actions\\n\\tpadding-inline: 0 !important;\\n\\n\\t.button-vue__wrapper {\\n\\t\\t// put icon at the end of the button\\n\\t\\tflex-direction: row-reverse;\\n\\t\\tgap: var(--default-grid-baseline);\\n\\t}\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: var(--button-inner-size, 32px) !important;\\n\\twidth: var(--button-inner-size, 32px) !important;\\n\\tmax-height: var(--button-inner-size, 32px) !important;\\n\\tmax-width: var(--button-inner-size, 32px) !important;\\n\\tborder-radius: var(--button-inner-size, 32px);\\n\\toverflow: hidden;\\n}\\n\\n.files-list__row-action-sharing-status {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n._fileListFilterAccount_ZW91g {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-grid-baseline);\n}\n._fileListFilterAccount__avatar_V0YuN {\n\t/* 24px is the avatar size */\n\tmargin: calc((var(--default-clickable-area) - 24px) / 2);\n}\n._fileListFilterAccount__currentUser_PqQfx {\n\tfont-weight: normal !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/FileListFilterAccount.vue\"],\"names\":[],\"mappings\":\";AA4JA;CACA,aAAA;CACA,sBAAA;CACA,iCAAA;AACA;AAEA;CACA,4BAAA;CACA,wDAAA;AACA;AAEA;CACA,8BAAA;AACA\",\"sourcesContent\":[\"<!--\\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\\n - SPDX-License-Identifier: AGPL-3.0-or-later\\n-->\\n<template>\\n\\t<div :class=\\\"$style.fileListFilterAccount\\\">\\n\\t\\t<NcTextField\\n\\t\\t\\tv-if=\\\"availableAccounts.length > 1\\\"\\n\\t\\t\\tv-model=\\\"accountFilter\\\"\\n\\t\\t\\ttype=\\\"search\\\"\\n\\t\\t\\t:label=\\\"t('files_sharing', 'Filter accounts')\\\" />\\n\\t\\t<NcButton\\n\\t\\t\\tv-for=\\\"account of shownAccounts\\\"\\n\\t\\t\\t:key=\\\"account.id\\\"\\n\\t\\t\\talignment=\\\"start\\\"\\n\\t\\t\\t:pressed=\\\"selectedAccounts.includes(account)\\\"\\n\\t\\t\\tvariant=\\\"tertiary\\\"\\n\\t\\t\\twide\\n\\t\\t\\t@update:pressed=\\\"toggleAccount(account.id, $event)\\\">\\n\\t\\t\\t<template #icon>\\n\\t\\t\\t\\t<NcAvatar\\n\\t\\t\\t\\t\\t:class=\\\"$style.fileListFilterAccount__avatar\\\"\\n\\t\\t\\t\\t\\tv-bind=\\\"account\\\"\\n\\t\\t\\t\\t\\t:size=\\\"24\\\"\\n\\t\\t\\t\\t\\tdisable-menu\\n\\t\\t\\t\\t\\thide-status />\\n\\t\\t\\t</template>\\n\\t\\t\\t{{ account.displayName }}\\n\\t\\t\\t<span v-if=\\\"account.id === currentUserId\\\" :class=\\\"$style.fileListFilterAccount__currentUser\\\">\\n\\t\\t\\t\\t({{ t('files', 'you') }})\\n\\t\\t\\t</span>\\n\\t\\t</NcButton>\\n\\t</div>\\n</template>\\n\\n<script setup lang=\\\"ts\\\">\\nimport type { AccountFilter, IAccountData } from '../files_filters/AccountFilter.ts'\\n\\nimport { t } from '@nextcloud/l10n'\\nimport { computed, onMounted, onUnmounted, ref, watch } from 'vue'\\nimport NcAvatar from '@nextcloud/vue/components/NcAvatar'\\nimport NcButton from '@nextcloud/vue/components/NcButton'\\nimport NcTextField from '@nextcloud/vue/components/NcTextField'\\nimport { getCurrentUser } from '../../../../core/src/OC/currentuser.js'\\n\\ninterface IUserSelectData {\\n\\tid: string\\n\\tuser: string\\n\\tdisplayName: string\\n}\\n\\nconst props = defineProps<{\\n\\tfilter: AccountFilter\\n}>()\\n\\nconst currentUserId = getCurrentUser()!.uid\\n\\nconst accountFilter = ref('')\\nconst availableAccounts = ref<IUserSelectData[]>([])\\nconst selectedAccounts = ref<IUserSelectData[]>([])\\nwatch(selectedAccounts, () => {\\n\\tconst accounts = selectedAccounts.value.map(({ id: uid, displayName }) => ({ uid, displayName }))\\n\\tprops.filter.setAccounts(accounts.length > 0 ? accounts : undefined)\\n})\\n\\nonMounted(() => {\\n\\tsetAvailableAccounts(props.filter.availableAccounts)\\n\\tselectedAccounts.value = availableAccounts.value.filter(({ id }) => props.filter.filterAccounts?.some(({ uid }) => uid === id)) ?? []\\n\\tprops.filter.addEventListener('accounts-updated', setAvailableAccounts)\\n\\tprops.filter.addEventListener('reset', resetFilter)\\n\\tprops.filter.addEventListener('deselect', deselect)\\n})\\nonUnmounted(() => {\\n\\tprops.filter.removeEventListener('accounts-updated', setAvailableAccounts)\\n\\tprops.filter.removeEventListener('reset', resetFilter)\\n\\tprops.filter.removeEventListener('deselect', deselect)\\n})\\n\\n/**\\n * Currently shown accounts (filtered)\\n */\\nconst shownAccounts = computed(() => {\\n\\tif (!accountFilter.value) {\\n\\t\\treturn [...availableAccounts.value].sort(sortAccounts)\\n\\t}\\n\\n\\tconst queryParts = accountFilter.value.toLocaleLowerCase().trim().split(' ')\\n\\tconst accounts = availableAccounts.value.filter((account) => queryParts.every((part) => account.user.toLocaleLowerCase().includes(part)\\n\\t\\t|| account.displayName.toLocaleLowerCase().includes(part)))\\n\\treturn accounts.sort(sortAccounts)\\n})\\n\\n/**\\n * Sort accounts, putting the current user at the begin\\n *\\n * @param a - First account\\n * @param b - Second account\\n */\\nfunction sortAccounts(a: IUserSelectData, b: IUserSelectData) {\\n\\tif (a.id === currentUserId) {\\n\\t\\treturn -1\\n\\t}\\n\\tif (b.id === currentUserId) {\\n\\t\\treturn 1\\n\\t}\\n\\treturn a.displayName.localeCompare(b.displayName)\\n}\\n\\n/**\\n * Toggle an account as selected\\n *\\n * @param accountId The account to toggle\\n * @param selected Whether to select or deselect the account\\n */\\nfunction toggleAccount(accountId: string, selected: boolean) {\\n\\tselectedAccounts.value = selectedAccounts.value.filter(({ id }) => id !== accountId)\\n\\tif (selected) {\\n\\t\\tconst account = availableAccounts.value.find(({ id }) => id === accountId)\\n\\t\\tif (account) {\\n\\t\\t\\tselectedAccounts.value = [...selectedAccounts.value, account]\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Deselect an account\\n *\\n * @param event - The custom event\\n */\\nfunction deselect(event: CustomEvent) {\\n\\tconst accountId = event.detail as string\\n\\tselectedAccounts.value = selectedAccounts.value.filter(({ id }) => id !== accountId)\\n}\\n\\n/**\\n * Reset this filter\\n */\\nfunction resetFilter() {\\n\\tselectedAccounts.value = []\\n\\taccountFilter.value = ''\\n}\\n\\n/**\\n * Update list of available accounts in current view.\\n *\\n * @param accounts - Accounts to use\\n */\\nfunction setAvailableAccounts(accounts: IAccountData[] | CustomEvent): void {\\n\\tif (accounts instanceof CustomEvent) {\\n\\t\\taccounts = accounts.detail as IAccountData[]\\n\\t}\\n\\tavailableAccounts.value = accounts.map(({ uid, displayName }) => ({ displayName, id: uid, user: uid }))\\n}\\n</script>\\n\\n<style module>\\n.fileListFilterAccount {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: var(--default-grid-baseline);\\n}\\n\\n.fileListFilterAccount__avatar {\\n\\t/* 24px is the avatar size */\\n\\tmargin: calc((var(--default-clickable-area) - 24px) / 2);\\n}\\n\\n.fileListFilterAccount__currentUser {\\n\\tfont-weight: normal !important;\\n}\\n</style>\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fileListFilterAccount\": `_fileListFilterAccount_ZW91g`,\n\t\"fileListFilterAccount__avatar\": `_fileListFilterAccount__avatar_V0YuN`,\n\t\"fileListFilterAccount__currentUser\": `_fileListFilterAccount__currentUser_PqQfx`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `<?xml version=\"1.0\"?>\n\t\t<d:propfind ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:propfind>`;\n}\nfunction getFavoritesReport() {\n return `<?xml version=\"1.0\"?>\n\t\t<oc:filter-files ${getDavNameSpaces()}>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t\t<oc:filter-rules>\n\t\t\t\t<oc:favorite>1</oc:favorite>\n\t\t\t</oc:filter-rules>\n\t\t</oc:filter-files>`;\n}\nfunction getRecentSearch(lastModified) {\n return `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<d:searchrequest ${getDavNameSpaces()}\n\txmlns:ns=\"https://github.com/icewind1991/SearchDAV/ns\">\n\t<d:basicsearch>\n\t\t<d:select>\n\t\t\t<d:prop>\n\t\t\t\t${getDavProperties()}\n\t\t\t</d:prop>\n\t\t</d:select>\n\t\t<d:from>\n\t\t\t<d:scope>\n\t\t\t\t<d:href>/files/${getCurrentUser()?.uid}/</d:href>\n\t\t\t\t<d:depth>infinity</d:depth>\n\t\t\t</d:scope>\n\t\t</d:from>\n\t\t<d:where>\n\t\t\t<d:and>\n\t\t\t\t<d:or>\n\t\t\t\t\t<d:not>\n\t\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t\t<d:getcontenttype/>\n\t\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t\t<d:literal>httpd/unix-directory</d:literal>\n\t\t\t\t\t\t</d:eq>\n\t\t\t\t\t</d:not>\n\t\t\t\t\t<d:eq>\n\t\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t\t<oc:size/>\n\t\t\t\t\t\t</d:prop>\n\t\t\t\t\t\t<d:literal>0</d:literal>\n\t\t\t\t\t</d:eq>\n\t\t\t\t</d:or>\n\t\t\t\t<d:gt>\n\t\t\t\t\t<d:prop>\n\t\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t\t</d:prop>\n\t\t\t\t\t<d:literal>${lastModified}</d:literal>\n\t\t\t\t</d:gt>\n\t\t\t</d:and>\n\t\t</d:where>\n\t\t<d:orderby>\n\t\t\t<d:order>\n\t\t\t\t<d:prop>\n\t\t\t\t\t<d:getlastmodified/>\n\t\t\t\t</d:prop>\n\t\t\t\t<d:descending/>\n\t\t\t</d:order>\n\t\t</d:orderby>\n\t\t<d:limit>\n\t\t\t<d:nresults>100</d:nresults>\n\t\t\t<ns:firstresult>0</ns:firstresult>\n\t\t</d:limit>\n\t</d:basicsearch>\n</d:searchrequest>`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tconst module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","const deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tlet notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tlet [chunkIds, fn, priority] = deferred[i];\n\t\tlet fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tconst r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tconst getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"857\":\"c78894d5df34d854f7aa\",\"1598\":\"68991d0620434bcfaec4\",\"1930\":\"e591eaa03e3a248dca31\",\"4005\":\"aee79e7f1049b5e8188f\",\"4017\":\"d1523b8db423fbe47986\",\"5236\":\"295a99f2ba6e3a05a834\",\"7859\":\"0aa7564896cee7ea552c\",\"8259\":\"e914ef6a65a38374620a\",\"8374\":\"e925f5901b71aeaa37db\",\"8689\":\"5fcce4026be999b251c3\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.hasOwn(obj, prop))","const inProgress = {};\nconst dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tlet script, needAttach;\n\tif(key !== undefined) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tconst s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tconst onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tconst doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode?.removeChild(script);\n\t\tdoneFns?.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tconst timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = (x) => {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// execute a CommonJS module body with real module/exports objects, returning the final exports\n__webpack_require__.cjs = (body) => {\n\tconst mod = { exports: {} };\n\tbody.call(mod.exports, mod, mod.exports);\n\treturn mod.exports;\n};","let scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nconst document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript?.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tlet i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nconst installedChunks = {\n\t5928: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tlet installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tconst promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tconst url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tconst error = new Error();\n\t\t\t\t\tconst loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tconst errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tconst realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\terror.event = event;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nconst webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tlet [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nconst chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] ||= [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nlet __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(99770)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","shares","Navigation","getNavigation","register","View","id","name","t","caption","emptyTitle","emptyCaption","icon","AccountPlusSvg","order","columns","getContents","parent","loadState","quota","AccountGroupSvg","LinkSvg","ShareType","Link","FileUploadSvg","Email","then","folder","contents","filter","node","isFileRequest","attributes","__webpack_require__","dn","action","displayName","nodes","n","length","iconSvgInline","enabled","view","exec","isRemote","remote","url","generateOcsUrl","shareBase","axios","post","emit","execBatch","Promise","all","map","this","inline","includes","isFolder","type","FileType","Folder","window","OCP","Files","Router","goToRoute","fileid","String","dir","path","dirname","openfile","undefined","default","DefaultType","HIDDEN","some","remote_id","share_type","RemoteGroup","accepted","delete","options","isExternal","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","bind","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","sharingStatusAction","A","locals","Object","values","flat","owner","getCurrentUser","uid","title","ownerDisplayName","sharees","sharee","User","user","Group","group","shareTypes","Array","isArray","Team","userId","isGuest","matchMedia","matches","document","querySelector","generateUrl","generateAvatarSvg","isPublicShare","permissions","Permission","SHARE","READ","getSidebar","open","showError","rawUid","getElementsByTagName","getAttribute","currentUser","components_FileListFilterAccountvue_type_script_setup_true_lang_ts","_defineComponent","__name","props","setup","__props","currentUserId","accountFilter","ref","availableAccounts","selectedAccounts","watch","accounts","value","setAccounts","onMounted","setAvailableAccounts","filterAccounts","addEventListener","resetFilter","deselect","onUnmounted","removeEventListener","shownAccounts","computed","sort","sortAccounts","queryParts","toLocaleLowerCase","trim","split","account","every","part","a","b","localeCompare","event","accountId","detail","CustomEvent","__sfc","toggleAccount","selected","find","l10n_dist","NcAvatar","NcButton","NcTextField","FileListFilterAccountvue_type_style_index_0_id_ec2dd1f8_prod_module_true_lang_css_options","FileListFilterAccountvue_type_style_index_0_id_ec2dd1f8_prod_module_true_lang_css","components_FileListFilterAccountvue_type_style_index_0_id_ec2dd1f8_prod_module_true_lang_css","FileListFilterAccount","_vm","_c","_self","_setup","_setupProxy","class","$style","fileListFilterAccount","attrs","label","model","callback","$$v","expression","_e","_v","_l","key","alignment","pressed","variant","wide","on","$event","scopedSlots","_u","fn","_b","fileListFilterAccount__avatar","size","proxy","_s","fileListFilterAccount__currentUser","context","tagName","_availableAccounts","WeakMap","_filterAccounts","AccountFilter","FileListFilter","constructor","super","_classPrivateFieldInitSpec","_defineProperty","_classPrivateFieldSet","subscribe","updateAvailableAccounts","_classPrivateFieldGet","userIds","params","deletedBy","reset","dispatchEvent","chips","text","onclick","updateChips","filterUpdated","available","Map","has","set","Boolean","Remote","sharingConfig","Config","NewFileRequestDialogVue","defineAsyncComponent","e","entry","isPublicUploadEnabled","isPublicShareAllowed","handler","content","spawnDialog","registerSharingViews","addNewFileMenuEntry","newFileRequest","registerDavProperty","nc","oc","ocs","registerFileAction","acceptShareAction","openInFilesAction","rejectShareAction","restoreShareAction","WrappedComponent","wrap","Vue","defineProperty","prototype","get","customElements","define","registerFileListFilter","registerAccountFilter","FilesHeaderNoteToRecipient","instance","registerFileListHeader","note","updated","updateFolder","render","async","el","component","extend","$mount","registerNoteToRecipient","_capabilities","getCapabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","public","upload","federatedShareDocLink","OC","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","always_show_unique","allowGroupSharing","maxAutocompleteResults","parseInt","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","headers","getShares","shareWithMe","shared_with_me","include_tags","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","attribute","scope","JSON","parse","error","logger","sharedWithYou","sharedWithOthers","pendingShares","deletedshares","filterTypes","requests","push","promise","unmounted","data","flatMap","response","index","ocsEntry","mimetype","mime","getType","item_type","item_mtime","mtime","file_target","mountpoint","item_permissions","NONE","uid_owner","displayname_owner","hasPreview","has_preview","Node","File","file_source","file_id","source","getRemoteURL","getRootPath","replace","stime","share_with","share_with_displayname","item_size","root","hide_download","favorite","tags","TAG_FAVORITE","ocsEntryToNode","reduce","acc","curr","__WEBPACK_DEFAULT_EXPORT__","getLoggerBuilder","setApp","detectUser","build","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","version","sources","names","mappings","sourcesContent","sourceRoot","defaultDavProperties","defaultDavNamespaces","d","prop","namespace","_chunks_folder_29HuacU_mjs__WEBPACK_IMPORTED_MODULE_4__","s","davNamespaces","davProperties","namespaces","search","l","warn","startsWith","getDavProperties","join","getDavNameSpaces","keys","ns","getDefaultPropfind","getRecentSearch","lastModified","_nextcloud_auth__WEBPACK_IMPORTED_MODULE_0__","HW","_nextcloud_sharing_public__WEBPACK_IMPORTED_MODULE_2__","f","G","defaultRootPath","_nextcloud_router__WEBPACK_IMPORTED_MODULE_1__","dC","defaultRemoteURL","getClient","remoteURL","client","webdav__WEBPACK_IMPORTED_MODULE_3__","UU","setHeaders","token","requesttoken","zo","Gu","patch","headers2","method","fetch","getFavoriteNodes","davRoot","getDirectoryContents","signal","details","includeSelf","filename","result","resultToNode","filesRoot","Error","permString","P","WRITE","CREATE","UPDATE","DELETE","parsePermissions","lastmod","crtime","creationdate","nodeData","isNaN","getTime","displayname","Number","getcontentlength","status","c","FAILED","__webpack_module_cache__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","deferred","O","chunkIds","priority","i","notFulfilled","Infinity","fulfilled","j","splice","r","getter","__esModule","definition","binding","o","enumerable","chunkId","promises","u","obj","hasOwn","inProgress","dataWebpackPrefix","done","script","needAttach","scripts","createElement","charset","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","x","descriptor","getOwnPropertyDescriptor","writable","configurable","cjs","body","mod","scriptUrl","globalThis","importScripts","location","currentScript","toUpperCase","test","p","baseURI","self","href","installedChunks","installedChunkData","resolve","reject","loadingEnded","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}