Path: blob/1.0-develop/app/Http/Requests/Api/Remote/ActivityEventRequest.php
10266 views
<?php12namespace Pterodactyl\Http\Requests\Api\Remote;34use Illuminate\Support\Collection;5use Illuminate\Foundation\Http\FormRequest;67class ActivityEventRequest extends FormRequest8{9public function authorize(): bool10{11return true;12}1314public function rules(): array15{16return [17'data' => ['required', 'array'],18'data.*' => ['array'],19'data.*.user' => ['sometimes', 'nullable', 'uuid'],20'data.*.server' => ['required', 'uuid'],21'data.*.event' => ['required', 'string'],22'data.*.metadata' => ['present', 'nullable', 'array'],23'data.*.ip' => ['sometimes', 'nullable', 'ip'],24'data.*.timestamp' => ['required', 'string'],25];26}2728/**29* Returns all the unique server UUIDs that were received in this request.30*/31public function servers(): array32{33return Collection::make($this->input('data'))->pluck('server')->unique()->toArray();34}3536/**37* Returns all the unique user UUIDs that were submitted in this request.38*/39public function users(): array40{41return Collection::make($this->input('data'))42->filter(function ($value) {43return !empty($value['user']);44})45->pluck('user')46->unique()47->toArray();48}49}505152