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.
43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
||
|
||
declare(strict_types=1);
|
||
|
||
namespace openvk\ServiceAPI;
|
||
|
||
use openvk\Web\Models\Entities\User;
|
||
use openvk\Web\Models\Repositories\Clubs;
|
||
|
||
class Groups implements Handler
|
||
{
|
||
protected $user;
|
||
protected $groups;
|
||
|
||
public function __construct(?User $user)
|
||
{
|
||
$this->user = $user;
|
||
$this->groups = new Clubs();
|
||
}
|
||
|
||
public function getWriteableClubs(callable $resolve, callable $reject)
|
||
{
|
||
$clubs = [];
|
||
$wclubs = $this->groups->getWriteableClubs($this->user->getId());
|
||
$count = $this->groups->getWriteableClubsCount($this->user->getId());
|
||
|
||
if (!$count) {
|
||
$reject("You don't have any groups with write access");
|
||
|
||
return;
|
||
}
|
||
|
||
foreach ($wclubs as $club) {
|
||
$clubs[] = [
|
||
"name" => $club->getName(),
|
||
"id" => $club->getId(),
|
||
"avatar" => $club->getAvatarUrl(), # если в овк когда-нибудь появится крутой список с аватарками, то можно использовать это поле
|
||
];
|
||
}
|
||
|
||
$resolve($clubs);
|
||
}
|
||
}
|