/** * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ import { getCurrentUser } from '@nextcloud/auth' import type { Node } from '@nextcloud/files' import { ShareType } from '@nextcloud/sharing' type Share = { /** The recipient display name */ 'display-name': string /** The recipient user id */ id: string /** The share type */ type: ShareType } const getSharesAttribute = function(node: Node) { return Object.values(node.attributes.sharees).flat() as Share[] } export const isNodeSharedWithMe = function(node: Node) { const uid = getCurrentUser()?.uid const shares = getSharesAttribute(node) // If you're the owner, you can't share with yourself if (node.owner === uid) { return false } return shares.length > 0 && ( // If some shares are shared with you as a direct user share shares.some(share => share.id === uid && share.type === ShareType.User) // Or of the file is shared with a group you're in // (if it's returned by the backend, we assume you're in it) || shares.some(share => share.type === ShareType.Group) ) } export const isNodeSharedWithOthers = function(node: Node) { const uid = getCurrentUser()?.uid const shares = getSharesAttribute(node) // If you're NOT the owner, you can't share with yourself if (node.owner === uid) { return false } return shares.length > 0 // If some shares are shared with you as a direct user share && shares.some(share => share.id !== uid && share.type !== ShareType.Group) } export const isNodeShared = function(node: Node) { const shares = getSharesAttribute(node) return shares.length > 0 } n value='4.2-stable'>4.2-stable Mirror of redmine code source: https://github.com/redmine/redminewww-data
summaryrefslogtreecommitdiffstats
path: root/config/initializers/30-redmine.rb
blob: cf13cab2040f519e68a53906aae04decb966103e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47