| @@ 20-44 (lines=25) @@ | ||
| 17 | use Acme\App\Core\Component\User\Domain\User\User; |
|
| 18 | use Acme\App\Presentation\Api\GraphQl\Node\User\AbstractUserViewModel; |
|
| 19 | ||
| 20 | final class AdminViewModel extends AbstractUserViewModel |
|
| 21 | { |
|
| 22 | /** |
|
| 23 | * @var string |
|
| 24 | */ |
|
| 25 | private $adminViewModelClass = __CLASS__; |
|
| 26 | ||
| 27 | public static function constructFromEntity(User $user): self |
|
| 28 | { |
|
| 29 | return new static( |
|
| 30 | $user->getId()->toScalar(), |
|
| 31 | $user->getFullName(), |
|
| 32 | $user->getUsername(), |
|
| 33 | $user->getEmail(), |
|
| 34 | $user->getMobile(), |
|
| 35 | $user->getPassword(), |
|
| 36 | 'Admin' |
|
| 37 | ); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function getAdminViewModelClass(): string |
|
| 41 | { |
|
| 42 | return $this->adminViewModelClass; |
|
| 43 | } |
|
| 44 | } |
|
| 45 | ||
| @@ 20-44 (lines=25) @@ | ||
| 17 | use Acme\App\Core\Component\User\Domain\User\User; |
|
| 18 | use Acme\App\Presentation\Api\GraphQl\Node\User\AbstractUserViewModel; |
|
| 19 | ||
| 20 | final class EditorViewModel extends AbstractUserViewModel |
|
| 21 | { |
|
| 22 | /** |
|
| 23 | * @var string |
|
| 24 | */ |
|
| 25 | private $editorViewModelClass = __CLASS__; |
|
| 26 | ||
| 27 | public static function constructFromEntity(User $user): self |
|
| 28 | { |
|
| 29 | return new static( |
|
| 30 | $user->getId()->toScalar(), |
|
| 31 | $user->getFullName(), |
|
| 32 | $user->getUsername(), |
|
| 33 | $user->getEmail(), |
|
| 34 | $user->getMobile(), |
|
| 35 | $user->getPassword(), |
|
| 36 | 'Editor' |
|
| 37 | ); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function getEditorViewModelClass(): string |
|
| 41 | { |
|
| 42 | return $this->editorViewModelClass; |
|
| 43 | } |
|
| 44 | } |
|
| 45 | ||
| @@ 20-44 (lines=25) @@ | ||
| 17 | use Acme\App\Core\Component\User\Domain\User\User; |
|
| 18 | use Acme\App\Presentation\Api\GraphQl\Node\User\AbstractUserViewModel; |
|
| 19 | ||
| 20 | final class VisitorViewModel extends AbstractUserViewModel |
|
| 21 | { |
|
| 22 | /** |
|
| 23 | * @var string |
|
| 24 | */ |
|
| 25 | private $visitorViewModelClass = __CLASS__; |
|
| 26 | ||
| 27 | public static function constructFromEntity(User $user): self |
|
| 28 | { |
|
| 29 | return new static( |
|
| 30 | $user->getId()->toScalar(), |
|
| 31 | $user->getFullName(), |
|
| 32 | $user->getUsername(), |
|
| 33 | $user->getEmail(), |
|
| 34 | $user->getMobile(), |
|
| 35 | $user->getPassword(), |
|
| 36 | 'Visitor' |
|
| 37 | ); |
|
| 38 | } |
|
| 39 | ||
| 40 | public function getVisitorViewModelClass(): string |
|
| 41 | { |
|
| 42 | return $this->visitorViewModelClass; |
|
| 43 | } |
|
| 44 | } |
|
| 45 | ||