misc_pterodactyl-panel/app/Http/Requests/Admin/PackFormRequest.php

49 lines
1.3 KiB
PHP

<?php
/**
* Pterodactyl - Panel
* Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>.
*
* This software is licensed under the terms of the MIT license.
* https://opensource.org/licenses/MIT
*/
namespace Pterodactyl\Http\Requests\Admin;
use Pterodactyl\Models\Pack;
use Pterodactyl\Services\Packs\PackCreationService;
class PackFormRequest extends AdminFormRequest
{
/**
* @return array
*/
public function rules()
{
if ($this->method() === 'PATCH') {
return Pack::getRulesForUpdate($this->route()->parameter('pack')->id);
}
return Pack::getRules();
}
/**
* Run validation after the rules above have been applied.
*
* @param \Illuminate\Validation\Validator $validator
*/
public function withValidator($validator)
{
if ($this->method() !== 'POST') {
return;
}
$validator->after(function ($validator) {
$mimetypes = implode(',', PackCreationService::VALID_UPLOAD_TYPES);
/* @var $validator \Illuminate\Validation\Validator */
$validator->sometimes('file_upload', 'sometimes|required|file|mimetypes:' . $mimetypes, function () {
return true;
});
});
}
}