diff options
Diffstat (limited to 'apps/files/src/services/PersonalFiles.ts')
-rw-r--r-- | apps/files/src/services/PersonalFiles.ts | 66 |
1 files changed, 24 insertions, 42 deletions
diff --git a/apps/files/src/services/PersonalFiles.ts b/apps/files/src/services/PersonalFiles.ts index cb65800898d..6d86bd3bae2 100644 --- a/apps/files/src/services/PersonalFiles.ts +++ b/apps/files/src/services/PersonalFiles.ts @@ -1,57 +1,39 @@ /** - * @copyright Copyright (c) 2024 Eduardo Morales <emoral435@gmail.com> - * - * @author Eduardo Morales <emoral435@gmail.com> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { File, type ContentsWithRoot } from '@nextcloud/files' -import { getCurrentUser } from '@nextcloud/auth'; +import type { Node, ContentsWithRoot } from '@nextcloud/files' +import type { CancelablePromise } from 'cancelable-promise' +import { getCurrentUser } from '@nextcloud/auth' -import { getContents as getFiles } from './Files'; +import { getContents as getFiles } from './Files' -const currUserID = getCurrentUser()?.uid +const currentUserId = getCurrentUser()?.uid /** - * NOTE MOVE TO @nextcloud/files - * @brief filters each file/folder on its shared status - * A personal file is considered a file that has all of the following properties: - * a.) the current user owns - * b.) the file is not shared with anyone - * c.) the file is not a group folder - * @param {FileStat} node that contains - * @return {Boolean} + * Filters each file/folder on its shared status + * + * A personal file is considered a file that has all of the following properties: + * 1. the current user owns + * 2. the file is not shared with anyone + * 3. the file is not a group folder + * @todo Move to `@nextcloud/files` + * @param node The node to check */ -export const isPersonalFile = function(node: File): Boolean { +export const isPersonalFile = function(node: Node): boolean { // the type of mounts that determine whether the file is shared - const sharedMountTypes = ["group", "shared"] + const sharedMountTypes = ['group', 'shared'] const mountType = node.attributes['mount-type'] - // the check to determine whether the current logged in user is the owner / creator of the node - const currUserCreated = currUserID ? node.owner === currUserID : true - return currUserCreated && !sharedMountTypes.includes(mountType) + return currentUserId === node.owner && !sharedMountTypes.includes(mountType) } -export const getContents = (path: string = "/"): Promise<ContentsWithRoot> => { +export const getContents = (path: string = '/'): CancelablePromise<ContentsWithRoot> => { // get all the files from the current path as a cancellable promise // then filter the files that the user does not own, or has shared / is a group folder - return getFiles(path) - .then(c => { - c.contents = c.contents.filter(isPersonalFile) as File[] - return c + return getFiles(path) + .then((content) => { + content.contents = content.contents.filter(isPersonalFile) + return content }) -}
\ No newline at end of file +} |