Files
Epicnabbo-Catalogus-Updated…/Updated_Cms/app/Services/User/UserApiService.php
T
Remco 7b9849c159 🆙 More fixes 🆙
2026-01-19 20:43:46 +01:00

38 lines
854 B
PHP

<?php
namespace App\Services\User;
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
class UserApiService
{
/**
* @param array<int, string> $columns
*/
public function fetchUser(string $username, array $columns): User
{
return User::select($columns)->where('username', '=', $username)->firstOrFail();
}
/**
* @param array<int, string> $columns
* @return Builder<User>
*/
public function onlineUsers($columns = ['username', 'motto', 'look'], bool $randomOrder = true): Builder
{
$query = User::select($columns)->where('online', '=', '1');
if ($randomOrder) {
$query = $query->inRandomOrder();
}
return $query;
}
public function onlineUserCount(): int
{
return User::where('online', '=', '1')->count();
}
}