Skip to content

Commit

Permalink
[Update] Media Type
Browse files Browse the repository at this point in the history
- Added unique key to media type
- Added unique check to Nova
  • Loading branch information
kiritokatklian committed Apr 29, 2021
1 parent c52ebd1 commit 2311b49
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
28 changes: 28 additions & 0 deletions app/Nova/MediaType.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
namespace App\Nova;

use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
use Validator;

class MediaType extends Resource
{
Expand Down Expand Up @@ -71,6 +73,32 @@ public function fields(Request $request)
];
}

/**
* Handle any post-validation processing.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Validation\Validator $validator
* @return void
* @throws \Illuminate\Validation\ValidationException
*/
protected static function afterValidation(NovaRequest $request, $validator)
{
$type = $request->post('type');
$name = $request->post('name');

$unique = Rule::unique(\App\Models\MediaType::TABLE_NAME)->where(function ($query) use($type, $name) {
return $query->where('type', $type)->where('name', $name);
});

$uniqueValidator = Validator::make($request->only('name'), [
'name' => [$unique],
], [
'name' => __('validation.unique')
]);

$uniqueValidator->validate();
}

/**
* Get the cards available for the request.
*
Expand Down
2 changes: 1 addition & 1 deletion config/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
| or any other location as required by the application or its packages.
*/

'version' => '1.2.0-alpha.33',
'version' => '1.2.0-alpha.34',

/*
|--------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ public function up()
$table->string('description');
$table->timestamps();
});

Schema::table(MediaType::TABLE_NAME, function (Blueprint $table) {
// Set unique index constraints
$table->unique(['type', 'name']);
});
}

/**
Expand Down

0 comments on commit 2311b49

Please sign in to comment.