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
,
31 final RecipientAddressResolver recipientStore
,
32 final RecipientId selfRecipientId
34 return new Group(groupInfo
.getGroupId(),
36 groupInfo
.getDescription(),
37 groupInfo
.getGroupInviteLink(),
38 groupInfo
.getMembers()
40 .map(recipientStore
::resolveRecipientAddress
)
41 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
42 .collect(Collectors
.toSet()),
43 groupInfo
.getPendingMembers()
45 .map(recipientStore
::resolveRecipientAddress
)
46 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
47 .collect(Collectors
.toSet()),
48 groupInfo
.getRequestingMembers()
50 .map(recipientStore
::resolveRecipientAddress
)
51 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
52 .collect(Collectors
.toSet()),
53 groupInfo
.getAdminMembers()
55 .map(recipientStore
::resolveRecipientAddress
)
56 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
57 .collect(Collectors
.toSet()),
58 groupInfo
.getBannedMembers()
60 .map(recipientStore
::resolveRecipientAddress
)
61 .map(org
.asamk
.signal
.manager
.storage
.recipients
.RecipientAddress
::toApiRecipientAddress
)
62 .collect(Collectors
.toSet()),
63 groupInfo
.isBlocked(),
64 groupInfo
.getMessageExpirationTimer(),
65 groupInfo
.getPermissionAddMember(),
66 groupInfo
.getPermissionEditDetails(),
67 groupInfo
.getPermissionSendMessage(),
68 groupInfo
.isMember(selfRecipientId
),
69 groupInfo
.isAdmin(selfRecipientId
));