mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-27 08:36:51 +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),
 | |
|         ]);
 | |
|     }
 | |
| }
 | 
