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 |