APIPresenter.php 719 Bytes
Newer Older
Jacob Priddy's avatar
Jacob Priddy committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php

namespace Source\UseCases\Users\Authenticate;

use Source\UseCases\BasePresenter;

class APIPresenter extends BasePresenter implements Presenter {
    protected array $viewModel = [];

    /** @inheritDoc */
    public function present(ResponseModel $responseModel): void {
        $user = $responseModel->getUser();
        $token = $responseModel->getToken();

        $this->viewModel['user'] = $this->formatUser($user);
        $this->viewModel['token'] = [
            'value' => $token->getTokenString(),
            'expires_at' => $this->formatDateTime($token->getExpiresAt()),
        ];
    }

    /** @inheritDoc */
    public function getViewModel(): array {
        return $this->viewModel;
    }
}