Files
hado/core/app/Presenters/ProfilePresenter.php

23 lines
636 B
PHP

<?php
namespace App\Presenters;
use App\Enums\EventState;
use App\Models\User;
/** Профиль для инбокса и агента: пояс, тихие часы, бейдж. */
final class ProfilePresenter
{
/** @return array<string,mixed> */
public static function present(User $user): array
{
return [
'login' => $user->login,
'tz' => $user->tz,
'quiet_start' => substr($user->quiet_start, 0, 5),
'quiet_end' => substr($user->quiet_end, 0, 5),
'badge' => $user->events()->whereIn('state', EventState::badgeValues())->count(),
];
}
}