add location editing
This commit is contained in:
parent
21a95a5d0e
commit
fb5533f107
4 changed files with 146 additions and 2 deletions
44
app/Repositories/LocationRepository.php
Normal file
44
app/Repositories/LocationRepository.php
Normal file
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace Pterodactyl\Repositories;
|
||||
|
||||
use Validator;
|
||||
|
||||
use Pterodactyl\Models;
|
||||
use Pterodactyl\Exceptions\DisplayException;
|
||||
use Pterodactyl\Exceptions\DisplayValidationException;
|
||||
|
||||
class LocationRepository
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
public function edit($id, array $data)
|
||||
{
|
||||
$validator = Validator::make($data, [
|
||||
'short' => 'regex:/^[a-z0-9_.-]{1,10}$/i',
|
||||
'long' => 'string|min:1|max:255'
|
||||
]);
|
||||
|
||||
// Run validator, throw catchable and displayable exception if it fails.
|
||||
// Exception includes a JSON result of failed validation rules.
|
||||
if ($validator->fails()) {
|
||||
throw new DisplayValidationException($validator->errors());
|
||||
}
|
||||
|
||||
$location = Models\Location::findOrFail($id);
|
||||
|
||||
if (isset($data['short'])) {
|
||||
$location->short = $data['short'];
|
||||
}
|
||||
|
||||
if (isset($data['long'])) {
|
||||
$location->long = $data['long'];
|
||||
}
|
||||
|
||||
return $location->save();
|
||||
}
|
||||
}
|
Reference in a new issue