Commit b15debd3c29d794b35b93478873b5253c6cc976c
1 parent
c4e1ecec
user errors response
Showing
1 changed file
with
26 additions
and
2 deletions
Show diff stats
app/library/App/Controllers/UserController.php
| @@ -4,6 +4,8 @@ namespace App\Controllers; | @@ -4,6 +4,8 @@ namespace App\Controllers; | ||
| 4 | 4 | ||
| 5 | use App\Model\Project; | 5 | use App\Model\Project; |
| 6 | use App\Model\User; | 6 | use App\Model\User; |
| 7 | +use PhalconApi\Constants\ErrorCodes; | ||
| 8 | +use PhalconApi\Exception; | ||
| 7 | use PhalconRest\Mvc\Controllers\CrudResourceController; | 9 | use PhalconRest\Mvc\Controllers\CrudResourceController; |
| 8 | 10 | ||
| 9 | class UserController extends CrudResourceController | 11 | class UserController extends CrudResourceController |
| @@ -55,7 +57,6 @@ class UserController extends CrudResourceController | @@ -55,7 +57,6 @@ class UserController extends CrudResourceController | ||
| 55 | if (!$data || count($data) == 0) { | 57 | if (!$data || count($data) == 0) { |
| 56 | return $this->onNoDataProvided(); | 58 | return $this->onNoDataProvided(); |
| 57 | } | 59 | } |
| 58 | - | ||
| 59 | if (!$this->postDataValid($data, false)) { | 60 | if (!$this->postDataValid($data, false)) { |
| 60 | return $this->onDataInvalid($data); | 61 | return $this->onDataInvalid($data); |
| 61 | } | 62 | } |
| @@ -107,4 +108,27 @@ class UserController extends CrudResourceController | @@ -107,4 +108,27 @@ class UserController extends CrudResourceController | ||
| 107 | } | 108 | } |
| 108 | } | 109 | } |
| 109 | 110 | ||
| 110 | -} | 111 | + protected function postDataValid($data, $isUpdate) |
| 112 | + { | ||
| 113 | + $input_name = $data['username']; | ||
| 114 | + if (!empty($input_name)) | ||
| 115 | + { | ||
| 116 | + | ||
| 117 | + $same_user = User::find(["username = '".$input_name."'"]); | ||
| 118 | + if (isset($same_user[0]) && !empty($same_user[0]->username)) | ||
| 119 | + { | ||
| 120 | + return false; | ||
| 121 | + } | ||
| 122 | + | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + return true; | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | + protected function onDataInvalid($data) | ||
| 129 | + { | ||
| 130 | + $msg = 'Post-data is invalid, trying to use non-unique value of `username`'; | ||
| 131 | + throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['data' => $data]); | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | +} | ||
| 111 | \ No newline at end of file | 135 | \ No newline at end of file |