Commit c4e1ececa4e30d2193be03a6c1792f938b05e3c0
1 parent
f8fab208
delete action for users
Showing
6 changed files
with
69 additions
and
26 deletions
Show diff stats
app/library/App/Controllers/UserController.php
... | ... | @@ -17,12 +17,12 @@ class UserController extends CrudResourceController |
17 | 17 | ]; |
18 | 18 | } |
19 | 19 | |
20 | - public function me() | |
20 | + public function meAction() | |
21 | 21 | { |
22 | 22 | return $this->createResourceResponse($this->userService->getDetails()); |
23 | 23 | } |
24 | 24 | |
25 | - public function authenticate() | |
25 | + public function authenticateAction() | |
26 | 26 | { |
27 | 27 | $username = $this->request->getUsername(); |
28 | 28 | $password = $this->request->getPassword(); |
... | ... | @@ -44,7 +44,7 @@ class UserController extends CrudResourceController |
44 | 44 | return $this->createArrayResponse($response, 'data'); |
45 | 45 | } |
46 | 46 | |
47 | - public function register() { | |
47 | + public function registerAction() { | |
48 | 48 | |
49 | 49 | $this->beforeHandle(); |
50 | 50 | $this->beforeHandleWrite(); | ... | ... |
app/library/App/Resources/UserResource.php
... | ... | @@ -2,6 +2,7 @@ |
2 | 2 | |
3 | 3 | namespace App\Resources; |
4 | 4 | |
5 | +use PhalconApi\Constants\HttpMethods; | |
5 | 6 | use PhalconRest\Api\ApiResource; |
6 | 7 | use PhalconRest\Api\ApiEndpoint; |
7 | 8 | use App\Model\User; |
... | ... | @@ -18,44 +19,74 @@ class UserResource extends ApiResource { |
18 | 19 | ->model(User::class) |
19 | 20 | ->expectsJsonData() |
20 | 21 | ->transformer(UserTransformer::class) |
21 | - ->handler(UserController::class) | |
22 | 22 | ->itemKey('user') |
23 | 23 | ->collectionKey('users') |
24 | 24 | ->deny(AclRoles::UNAUTHORIZED, AclRoles::USER) |
25 | + ->handler(UserController::class); | |
25 | 26 | |
27 | + $this | |
26 | 28 | ->endpoint(ApiEndpoint::all() |
27 | 29 | ->allow(AclRoles::USER) |
28 | - ->description('Returns all registered users') | |
29 | - ) | |
30 | - ->endpoint(ApiEndpoint::get('/me', 'me') | |
30 | + ->name('all') | |
31 | + ->description('Возвращает всех зарегистрированных пользователей') | |
32 | + ); | |
33 | + $this | |
34 | + ->endpoint(ApiEndpoint::factory('/me', HttpMethods::GET, 'meAction') | |
35 | + ->name('me') | |
36 | + ->description('Возвращает текущего залогиненного пользователя') | |
31 | 37 | ->allow(AclRoles::USER) |
32 | - ->description('Returns the currently logged in user') | |
33 | - ) | |
34 | - ->endpoint(ApiEndpoint::post('/authenticate', 'authenticate') | |
38 | + ); | |
39 | + | |
40 | + $this | |
41 | + ->endpoint(ApiEndpoint::factory('/authenticate', HttpMethods::POST, 'authenticateAction') | |
42 | + ->name('authenticate') | |
43 | + ->description('Авторизация пользователя через BasicAuth и возвращает токен доступа') | |
35 | 44 | ->allow(AclRoles::UNAUTHORIZED) |
36 | 45 | ->deny(AclRoles::AUTHORIZED) |
37 | - ->description('Authenticates user credentials provided in the authorization header and returns an access token') | |
38 | 46 | ->exampleResponse([ |
39 | - 'token' => 'co126bbm40wqp41i3bo7pj1gfsvt9lp6', | |
40 | - 'expires' => 1451139067 | |
47 | + 'data' => [ | |
48 | + 'token' => 'co126bbm40wqp41i3bo7pj1gfsvt9lp6', | |
49 | + 'expires' => 1451139067, | |
50 | + "user" => | |
51 | + [ | |
52 | + "id" => 1, | |
53 | + "username" => "demo", | |
54 | + "email" => "test@example.com", | |
55 | + "role" => "User", | |
56 | + "createdAt" => "2015-12-28 16:20:58", | |
57 | + "updatedAt" => null | |
58 | + ] | |
59 | + ] | |
60 | + | |
41 | 61 | ]) |
42 | - ) | |
43 | - ->endpoint(ApiEndpoint::post('/', 'register') | |
62 | + ); | |
63 | + $this | |
64 | + ->endpoint(ApiEndpoint::factory('/', HttpMethods::POST, 'registerAction') | |
65 | + ->name('register') | |
66 | + ->description('Регистрация нового пользователя') | |
44 | 67 | ->allow(AclRoles::UNAUTHORIZED) |
45 | 68 | ->deny(AclRoles::AUTHORIZED) |
46 | - ->description('Register new user') | |
47 | - ->expectsJsonData() | |
48 | 69 | ->exampleResponse([ |
49 | - "result" => "OK", | |
50 | - "user" => [ | |
51 | - "id" => "95", | |
52 | - "username" => "MyLogin", | |
53 | - "email" => "myGmail@gmail.com", | |
54 | - "role" => "User", | |
55 | - "createdAt" => "2017-02-16 17:57:52", | |
56 | - "updatedAt" => "2017-02-16 17:57:52" | |
57 | - ] | |
70 | + "result" => "OK", | |
71 | + "user" => [ | |
72 | + "id" => "95", | |
73 | + "username" => "MyLogin", | |
74 | + "email" => "myGmail@gmail.com", | |
75 | + "role" => "User", | |
76 | + "createdAt" => "2017-02-16 17:57:52", | |
77 | + "updatedAt" => "2017-02-16 17:57:52" | |
78 | + ] | |
58 | 79 | ]) |
59 | 80 | ); |
81 | + $this | |
82 | + ->endpoint(ApiEndpoint::remove() | |
83 | + ->name('remove') | |
84 | + ->description('Удаление пользователя') | |
85 | + ->allow(AclRoles::USER) | |
86 | + ->exampleResponse([ | |
87 | + "result" => "OK" | |
88 | + ]) | |
89 | + ) | |
90 | + ; | |
60 | 91 | } |
61 | 92 | } |
62 | 93 | \ No newline at end of file | ... | ... |