mirror of
https://github.com/openvk/openvk
synced 2024-12-23 09:01:15 +03:00
39 lines
1.1 KiB
PHP
39 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);
|
||
}
|
||
}
|