mirror of
https://github.com/openvk/openvk
synced 2025-02-09 00:09:33 +03:00
* feat(lint): add php-cs-fixer for linting Removing previous CODE_STYLE as it was not enforced anyway and using PER-CS 2.0. This is not the reformatting commit. * style: format code according to PER-CS 2.0 with php-cs-fixer * ci(actions): add lint action Resolves #1132.
54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace openvk\ServiceAPI;
|
|
|
|
use openvk\Web\Models\Entities\User;
|
|
use openvk\Web\Models\Repositories\{Users, Clubs};
|
|
|
|
class Mentions implements Handler
|
|
{
|
|
protected $user;
|
|
|
|
public function __construct(?User $user)
|
|
{
|
|
$this->user = $user;
|
|
}
|
|
|
|
public function resolve(int $id, callable $resolve, callable $reject): void
|
|
{
|
|
if ($id > 0) {
|
|
$user = (new Users())->get($id);
|
|
if (!$user) {
|
|
$reject("Not found");
|
|
return;
|
|
}
|
|
|
|
$resolve([
|
|
"url" => $user->getURL(),
|
|
"name" => $user->getFullName(),
|
|
"ava" => $user->getAvatarURL("miniscule"),
|
|
"about" => $user->getStatus() ?? "",
|
|
"online" => ($user->isFemale() ? tr("was_online_f") : tr("was_online_m")) . " " . $user->getOnline(),
|
|
"verif" => $user->isVerified(),
|
|
]);
|
|
return;
|
|
}
|
|
|
|
$club = (new Clubs())->get(abs($id));
|
|
if (!$club) {
|
|
$reject("Not found");
|
|
return;
|
|
}
|
|
|
|
$resolve([
|
|
"url" => $club->getURL(),
|
|
"name" => $club->getName(),
|
|
"ava" => $club->getAvatarURL("miniscule"),
|
|
"about" => $club->getDescription() ?? "",
|
|
"online" => tr("participants", $club->getFollowersCount()),
|
|
"verif" => $club->isVerified(),
|
|
]);
|
|
}
|
|
}
|