mirror of
https://github.com/pterodactyl/panel.git
synced 2024-11-25 18:42:31 +01:00
Fix some missing exceptions and validation handling for users
This commit is contained in:
parent
e2d5145e3d
commit
69c2e89fe0
@ -9,8 +9,11 @@ use Dingo\Api\Exception\StoreResourceFailedException;
|
|||||||
use Pterodactyl\Models;
|
use Pterodactyl\Models;
|
||||||
use Pterodactyl\Transformers\UserTransformer;
|
use Pterodactyl\Transformers\UserTransformer;
|
||||||
use Pterodactyl\Repositories\UserRepository;
|
use Pterodactyl\Repositories\UserRepository;
|
||||||
|
|
||||||
use Pterodactyl\Exceptions\DisplayValidationException;
|
use Pterodactyl\Exceptions\DisplayValidationException;
|
||||||
use Pterodactyl\Exceptions\DisplayException;
|
use Pterodactyl\Exceptions\DisplayException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Resource("Users")
|
* @Resource("Users")
|
||||||
@ -61,7 +64,17 @@ class UserController extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $query->first();
|
try {
|
||||||
|
if (!$query->first()) {
|
||||||
|
throw new NotFoundHttpException('No user by that ID was found.');
|
||||||
|
}
|
||||||
|
return $query->first();
|
||||||
|
} catch (NotFoundHttpException $ex) {
|
||||||
|
throw $ex;
|
||||||
|
} catch (\Exception $ex) {
|
||||||
|
throw new BadRequestHttpException('There was an issue with the fields passed in the request.');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -80,11 +80,17 @@ class UserRepository
|
|||||||
'totp_secret' => 'size:16'
|
'totp_secret' => 'size:16'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
// 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());
|
||||||
|
}
|
||||||
|
|
||||||
if(array_key_exists('password', $data)) {
|
if(array_key_exists('password', $data)) {
|
||||||
$user['password'] = Hash::make($data['password']);
|
$user['password'] = Hash::make($data['password']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Models\User::find($id)->update($data);
|
return Models\User::findOrFail($id)->update($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user