Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/app/Http/Requests/Api/Client/Servers/Settings/SetDockerImageRequest.php
10284 views
1
<?php
2
3
namespace Pterodactyl\Http\Requests\Api\Client\Servers\Settings;
4
5
use Webmozart\Assert\Assert;
6
use Pterodactyl\Models\Server;
7
use Illuminate\Validation\Rule;
8
use Pterodactyl\Models\Permission;
9
use Pterodactyl\Contracts\Http\ClientPermissionsRequest;
10
use Pterodactyl\Http\Requests\Api\Client\ClientApiRequest;
11
12
class SetDockerImageRequest extends ClientApiRequest implements ClientPermissionsRequest
13
{
14
public function permission(): string
15
{
16
return Permission::ACTION_STARTUP_DOCKER_IMAGE;
17
}
18
19
public function rules(): array
20
{
21
$server = $this->route()->parameter('server');
22
23
Assert::isInstanceOf($server, Server::class);
24
25
return [
26
'docker_image' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|?~?[\w\.\/\-:@ ]*$/', Rule::in(array_values($server->egg->docker_images))],
27
];
28
}
29
}
30
31