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\Transformers\UserTransformer; | ||||
| use Pterodactyl\Repositories\UserRepository; | ||||
| 
 | ||||
| use Pterodactyl\Exceptions\DisplayValidationException; | ||||
| use Pterodactyl\Exceptions\DisplayException; | ||||
| use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; | ||||
| use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; | ||||
| 
 | ||||
| /** | ||||
|  * @Resource("Users") | ||||
| @ -61,7 +64,17 @@ class UserController extends BaseController | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         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' | ||||
|         ]); | ||||
| 
 | ||||
|         // 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)) { | ||||
|             $user['password'] = Hash::make($data['password']); | ||||
|         } | ||||
| 
 | ||||
|         return Models\User::find($id)->update($data); | ||||
|         return Models\User::findOrFail($id)->update($data); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dane Everitt
						Dane Everitt