Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Controllers/Api/Client/ActivityLogController.php
10279 views
1
<?php
2
3
namespace Pterodactyl\Http\Controllers\Api\Client;
4
5
use Pterodactyl\Models\ActivityLog;
6
use Spatie\QueryBuilder\QueryBuilder;
7
use Spatie\QueryBuilder\AllowedFilter;
8
use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
9
use Pterodactyl\Transformers\Api\Client\ActivityLogTransformer;
10
11
class ActivityLogController extends ClientApiController
12
{
13
/**
14
* Returns a paginated set of the user's activity logs.
15
*/
16
public function __invoke(ClientApiRequest $request): array
17
{
18
$activity = QueryBuilder::for($request->user()->activity())
19
->with('actor')
20
->allowedFilters([AllowedFilter::partial('event')])
21
->allowedSorts(['timestamp'])
22
->whereNotIn('activity_logs.event', ActivityLog::DISABLED_EVENTS)
23
->paginate(min($request->query('per_page', 25), 100))
24
->appends($request->query());
25
26
return $this->fractal->collection($activity)
27
->transformWith($this->getTransformer(ActivityLogTransformer::class))
28
->toArray();
29
}
30
}
31
32