id; } /** * @param \Forum\PostingReaction $resource */ public function getAttributes($resource, ContextInterface $context): iterable { return [ 'emoji' => $resource->emoji, 'mkdate' => date('c', $resource->mkdate), 'chdate' => date('c', $resource->chdate) ]; } /** * @param \Forum\PostingReaction $resource */ public function getRelationships($resource, ContextInterface $context): iterable { $relationships = []; $relationships = $this->addPostingRelationship($relationships, $resource, $this->shouldInclude($context, self::REL_POSTING)); $relationships = $this->addUserRelationship($relationships, $resource, $this->shouldInclude($context, self::REL_USER)); return $relationships; } private function addPostingRelationship(array $relationships, \Forum\PostingReaction $postingReaction, bool $withPosting = false) { if ($withPosting) { $relationships[self::REL_POSTING] = [ self::RELATIONSHIP_LINKS => [ Link::RELATED => $this->createLinkToResource($postingReaction->posting) ], self::RELATIONSHIP_DATA => $postingReaction->posting ]; } return $relationships; } private function addUserRelationship(array $relationships, \Forum\PostingReaction $postingReaction, bool $withUser = false) { $user = $postingReaction->user; if ($withUser && $user) { $relationships[self::REL_USER] = [ self::RELATIONSHIP_LINKS => [ Link::RELATED => $this->createLinkToResource($user) ], self::RELATIONSHIP_DATA => $user ]; } return $relationships; } }