mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 15:36:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace App\Http\Requests\Admin\Egg;
 | 
						|
 | 
						|
use App\Http\Requests\Admin\AdminFormRequest;
 | 
						|
 | 
						|
class EggFormRequest extends AdminFormRequest
 | 
						|
{
 | 
						|
    public function rules(): array
 | 
						|
    {
 | 
						|
        $rules = [
 | 
						|
            'name' => 'required|string|max:191',
 | 
						|
            'description' => 'nullable|string',
 | 
						|
            'docker_images' => 'required|string',
 | 
						|
            'force_outgoing_ip' => 'sometimes|boolean',
 | 
						|
            'file_denylist' => 'array',
 | 
						|
            'startup' => 'required|string',
 | 
						|
            'config_from' => 'sometimes|bail|nullable|numeric',
 | 
						|
            'config_stop' => 'required_without:config_from|nullable|string|max:191',
 | 
						|
            'config_startup' => 'required_without:config_from|nullable|json',
 | 
						|
            'config_logs' => 'required_without:config_from|nullable|json',
 | 
						|
            'config_files' => 'required_without:config_from|nullable|json',
 | 
						|
        ];
 | 
						|
 | 
						|
        return $rules;
 | 
						|
    }
 | 
						|
 | 
						|
    public function withValidator($validator)
 | 
						|
    {
 | 
						|
        $validator->sometimes('config_from', 'exists:eggs,id', function () {
 | 
						|
            return (int) $this->input('config_from') !== 0;
 | 
						|
        });
 | 
						|
    }
 | 
						|
 | 
						|
    public function validated($key = null, $default = null): array
 | 
						|
    {
 | 
						|
        $data = parent::validated();
 | 
						|
 | 
						|
        return array_merge($data, [
 | 
						|
            'force_outgoing_ip' => array_get($data, 'force_outgoing_ip', false),
 | 
						|
        ]);
 | 
						|
    }
 | 
						|
}
 |