mirror of
https://github.com/openvk/openvk
synced 2024-11-11 09:29:29 +03:00
40 lines
1.1 KiB
PHP
40 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;
|
|||
|
|
|||
|
function __construct(?User $user)
|
|||
|
{
|
|||
|
$this->user = $user;
|
|||
|
$this->groups = new Clubs;
|
|||
|
}
|
|||
|
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|