summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/components/members/utils.js
blob: 4229a62c0a730edc42a4110562fac532381ee58c (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
48
import { __ } from '~/locale';

export const generateBadges = (member, isCurrentUser) => [
  {
    show: isCurrentUser,
    text: __("It's you"),
    variant: 'success',
  },
  {
    show: member.user?.blocked,
    text: __('Blocked'),
    variant: 'danger',
  },
  {
    show: member.user?.twoFactorEnabled,
    text: __('2FA'),
    variant: 'info',
  },
];

export const isGroup = member => {
  return Boolean(member.sharedWithGroup);
};

export const isDirectMember = (member, sourceId) => {
  return isGroup(member) || member.source?.id === sourceId;
};

export const isCurrentUser = (member, currentUserId) => {
  return member.user?.id === currentUserId;
};

export const canRemove = (member, sourceId) => {
  return isDirectMember(member, sourceId) && member.canRemove;
};

export const canResend = member => {
  return Boolean(member.invite?.canResend);
};

export const canUpdate = (member, currentUserId, sourceId) => {
  return (
    !isCurrentUser(member, currentUserId) && isDirectMember(member, sourceId) && member.canUpdate
  );
};

// Defined in `ee/app/assets/javascripts/vue_shared/components/members/utils.js`
export const canOverride = () => false;