Files
kupshop/bundles/KupShop/GraphQLBundle/ApiAdmin/Util/AdminUserUtil.php
2025-08-02 16:30:27 +02:00

35 lines
1.0 KiB
PHP

<?php
namespace KupShop\GraphQLBundle\ApiAdmin\Util;
use KupShop\GraphQLBundle\ApiAdmin\Types\AdminUser;
use KupShop\GraphQLBundle\ApiAdmin\Types\Collection\AdminUserCollection;
use KupShop\GraphQLBundle\ApiShared\ApiUtil;
class AdminUserUtil
{
public function getAdminUser(): ?AdminUser
{
$adminUser = getAdminUser();
return ($adminUser) ? new AdminUser($adminUser) : null;
}
public function getAdminUsers(int $offset, int $limit): AdminUserCollection
{
$admins = sqlQueryBuilder()
->select('id, name, login, email, privilege, data')
->andWhere(ApiUtil::getLimitSpec($offset, $limit))
->addCalcRows()
->from('admins')
->execute();
$totalCount = (int) sqlFetchAssoc(sqlQuery('SELECT FOUND_ROWS() as total_count'))['total_count'];
return (new AdminUserCollection(ApiUtil::wrapItems($admins, AdminUser::class)))
->setItemsTotalCount($totalCount)
->setLimit($limit)
->setOffset($offset);
}
}