1 package org
.asamk
.signal
.manager
.api
;
3 import org
.asamk
.signal
.manager
.helper
.RecipientAddressResolver
;
4 import org
.asamk
.signal
.manager
.storage
.groups
.GroupInfo
;
5 import org
.asamk
.signal
.manager
.storage
.recipients
.RecipientId
;
8 import java
.util
.stream
.Collectors
;
14 GroupInviteLinkUrl groupInviteLinkUrl
,
15 Set
<RecipientAddress
> members
,
16 Set
<RecipientAddress
> pendingMembers
,
17 Set
<RecipientAddress
> requestingMembers
,
18 Set
<RecipientAddress
> adminMembers
,
19 Set
<RecipientAddress
> bannedMembers
,
21 int messageExpirationTimer
,
22 GroupPermission permissionAddMember
,
23 GroupPermission permissionEditDetails
,
24 GroupPermission permissionSendMessage
,
29 public static Group
from(
30 final GroupInfo groupInfo
, final RecipientAddressResolver recipientStore
, final RecipientId selfRecipientId
32 return new Group(groupInfo
.getGroupId(),
34 groupInfo
.getDescription(),
35 groupInfo
.getGroupInviteLink(),
36 groupInfo
.getMembers()
38 .map(recipientStore
::resolveRecipientAddress
)
39 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
40 .collect(Collectors
.toSet()),
41 groupInfo
.getPendingMembers()
43 .map(recipientStore
::resolveRecipientAddress
)
44 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
45 .collect(Collectors
.toSet()),
46 groupInfo
.getRequestingMembers()
48 .map(recipientStore
::resolveRecipientAddress
)
49 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
50 .collect(Collectors
.toSet()),
51 groupInfo
.getAdminMembers()
53 .map(recipientStore
::resolveRecipientAddress
)
54 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
55 .collect(Collectors
.toSet()),
56 groupInfo
.getBannedMembers()
58 .map(recipientStore
::resolveRecipientAddress
)
59 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
60 .collect(Collectors
.toSet()),
61 groupInfo
.isBlocked(),
62 groupInfo
.getMessageExpirationTimer(),
63 groupInfo
.getPermissionAddMember(),
64 groupInfo
.getPermissionEditDetails(),
65 groupInfo
.getPermissionSendMessage(),
66 groupInfo
.isMember(selfRecipientId
),
67 groupInfo
.isAdmin(selfRecipientId
));