zend-blog-3-backend
43 строки · 1.1 Кб
1<?php
2
3namespace App\API\Transformers;
4
5use App\Entity\TelegramUpdate;
6use League\Fractal\Resource\ResourceInterface;
7
8class TelegramUpdateTransformer extends BaseTransformer
9{
10/**
11* @var array
12*/
13protected array $availableIncludes = [
14'telegramUser',
15];
16
17public function transform(TelegramUpdate $item): array
18{
19return [
20'id' => $item->getId(),
21'user' => $item->getTelegramUser() ? $item->getTelegramUser()->getId() : null,
22'message' => $item->getTextMessage(),
23'createdAt' => $this->dateTimeToISO($item->getTimeCreated()),
24'replyId' => 0,
25];
26}
27
28/**
29* @param TelegramUpdate $entity
30*
31* @return ResourceInterface
32*/
33public function includeTelegramUser(TelegramUpdate $entity): ResourceInterface
34{
35$tgUser = $entity->getTelegramUser();
36$items = [];
37if ($tgUser) {
38$items = [$tgUser];
39}
40
41return $this->collection($items, new TelegramUserTransformer(), 'telegramUsers');
42}
43}
44