zend-blog-3-backend
34 строки · 987.0 Байт
1<?php
2
3namespace App\API\Transformers;
4
5use App\DTO\UserDTO;
6use App\Entity\User;
7
8class UserTransformer extends BaseTransformer
9{
10public function transform(User $item): array
11{
12return [
13'id' => $item->getId(),
14'username' => $item->getUsername(),
15'displayName' => $item->getDisplayName(),
16'email' => $item->getEmail(),
17'role' => $item->getUserType(),
18'imageHash' => $item->getAvatarHash(),
19'isMale' => $item->getGender() === User::MALE,
20'createdAt' => $this->dateTimeToISO($item->getTimeCreated()),
21];
22}
23
24public static function reverseTransform(User $entity, UserDTO $data)
25{
26$entity
27->setUsername($data['username'])
28->setEmail($data['email'])
29->setUserType($data['role'])
30->setGender($data['isMale'] ? User::MALE : User::FEMALE)
31->setDisplayName($data['displayName'])
32;
33}
34}
35