collection->tmp_support && !$this->model_id) { return false; } if (app()->collection->count !== 1 && (app()->collection->count <= File::where('model_id', auth()->id())->count()) && !app()->collection->tmp_support) { return false; } if (!app()->bound('file') && is_null($this->file('file'))) { return false; } if (!$this->hasFile('file')) { $this->replace([ 'file' => new \Illuminate\Http\File(Storage::disk(app()->collection->disk)->path(app()->file->server_path . app()->file->uuid . '.' . app()->collection->ext), app()->file->uuid . '.' . app()->collection->ext) ]); } return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ "file" => [ "mimes:" . app()->collection->getExts(), "mimetypes:" . app()->collection->getMimeTypes(), !$this->isImage(request()->file->path()) ?: "dimensions:min_width=" . app()->collection->min_width . ",min_height=" . app()->collection->min_height . ',max_width=' . app()->collection->max_width . ',max_height=' . app()->collection->max_height, "max:" . app()->collection->max_file_size, "min:" . app()->collection->min_file_size, ], "alts" => [app()->collection->alt_required ? "required" : "nullable", 'array'], "alts.*" => [app()->collection->alt_required ? "required" : "nullable", 'max:1000'], "description" => [app()->collection->description_required ? "required" : "nullable", 'max:300'], 'original_name' => ["string", "nullable", 'max:300'], 'public' => ['boolean', 'nullable'], 'published_at' => ['date_format:Y-m-d H:i:s', 'nullable'], ]; } }