19 $baseArray = parent::convertToArray($sharingLink);
21 if (!($baseArray[
'isJoint'] ??
null))
23 $baseArray[
'members'][] = $this->getMemberByUserId($sharingLink->getHostId())->toArray();
26 return array_merge($baseArray, [
27 'groupId' => $sharingLink->getGroupId(),
28 'slotSize' => $sharingLink->getSlotSize(),
30 'hostId' => $sharingLink->getHostId(),
32 'userIds' => array_merge(
33 [$sharingLink->getHostId()],
34 array_map(
static fn ($member) => $member[
'id'], $baseArray[
'members'])
67 ->setId($objectEO->getId())
69 ->setDateCreate($objectEO->getDateCreate())
70 ->setDateExpire($objectEO->getDateExpire())
71 ->setActive($objectEO->getActive())
72 ->setHash($objectEO->getHash())
73 ->setMembersHash($objectEO->getMembersHash())
74 ->setFrequentUse($objectEO->getFrequentUse())
75 ->setHostId($objectEO->getHostId())
78 if ($objectEO->getMembers()?->count() > 0)
80 $sharingGroupLink->setMembers((
new Member\
Manager())->createMembersFromEntityObject($objectEO->getMembers()));
83 $options = Json::decode($objectEO->getOptions() ??
'');
86 $sharingGroupLink->setSlotSize(
$options[
'slotSize']);
89 $rule = (
new Rule\Factory())->getRuleBySharingLink($sharingGroupLink);
90 $sharingGroupLink->setSharingRule($rule);
92 return $sharingGroupLink;