From 950beec948072dffffc1767e167e30fa4959a603 Mon Sep 17 00:00:00 2001 From: Adam Lavin Date: Wed, 29 Nov 2017 04:27:42 +0000 Subject: [PATCH] Fix API track validation --- app/Commands/UploadTrackCommand.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Commands/UploadTrackCommand.php b/app/Commands/UploadTrackCommand.php index 2ccee33c..c93fc742 100644 --- a/app/Commands/UploadTrackCommand.php +++ b/app/Commands/UploadTrackCommand.php @@ -145,7 +145,9 @@ class UploadTrackCommand extends CommandBase $input = Request::all(); $input['track'] = $trackFile; - if (!$this->_isReplacingTrack) { + + // Prevent the setting of the cover index for validation + if (!$this->_isReplacingTrack && isset($coverFile)) { $input['cover'] = $coverFile; } @@ -159,7 +161,7 @@ class UploadTrackCommand extends CommandBase . 'audio_channels:1,2', ]; if (!$this->_isReplacingTrack) { - array_push($rules, [ + array_merge($rules, [ 'cover' => 'image|mimes:png,jpeg|min_width:350|min_height:350', 'auto_publish' => 'boolean', 'title' => 'string', @@ -198,6 +200,12 @@ class UploadTrackCommand extends CommandBase $this->_track->source = $this->_customTrackSource ?? $source; $this->_track->save(); + // If the cover was null, and not included, add it back in as null so that + // other commands do not encounter a undefined index. + if (! isset($input['cover'])) { + $input['cover'] = null; + } + if (!$this->_isReplacingTrack) { // Parse any tags in the uploaded files. $parseTagsCommand = new ParseTrackTagsCommand($this->_track, $trackFile, $input);