Blame view

app/library/App/Resources/ProjectResource.php 1.46 KB
8bd1d03c   Alex Savenko   create project model
1
2
3
4
5
6
7
8
9
10
11
12
13
  <?php
  /**
   * Created by PhpStorm.
   * User: Alex Savenko
   * Date: 06.02.2017
   * Time: 15:57
   */
  
  namespace App\Resources;
  
  use PhalconRest\Api\ApiResource;
  use PhalconRest\Api\ApiEndpoint;
  use App\Model\Project;
eec0fd7e   Alex Savenko   create project model
14
  use App\Transformers\ProjectTransformer;
19f76512   Alex Savenko   project entity
15
  use App\Controllers\ProjectController;
8bd1d03c   Alex Savenko   create project model
16
  use App\Constants\AclRoles;
acf45df7   Alex Savenko   project entity
17
18
  use PhalconRest\Mvc\Controllers\CrudResourceController;
  
8bd1d03c   Alex Savenko   create project model
19
20
21
22
23
24
25
26
27
28
  
  
  class ProjectResource extends ApiResource {
  
      public function initialize() {
  
          $this
              ->name('Project')
              ->model(Project::class)
              ->expectsJsonData()
1e53f412   Alex Savenko   test
29
30
              ->itemKey('project')
              ->collectionKey('projects')
d1b34bab   Alex Savenko   test
31
32
          ;
  
a2321aea   Alex Savenko   test
33
          /** transformer **/
d1b34bab   Alex Savenko   test
34
35
36
          $this
              ->transformer(ProjectTransformer::class);
  
a2321aea   Alex Savenko   test
37
          /** handler **/
d1b34bab   Alex Savenko   test
38
          $this
1e53f412   Alex Savenko   test
39
              ->handler(ProjectController::class);
d1b34bab   Alex Savenko   test
40
41
42
43
  
          /** general roles **/
          $this
              ->allow(AclRoles::AUTHORIZED);
895c22b9   Alex Savenko   project entity
44
  
d1b34bab   Alex Savenko   test
45
46
          /** endpoints **/
          $this
7a98d027   Alex Savenko   test
47
              ->endpoint(ApiEndpoint::post('/test_post/{id}', 'test_post')
be063157   Alex Savenko   test
48
49
                  ->description('Just for test post query')
              )
6116680e   Alex Savenko   test
50
              ->endpoint(ApiEndpoint::get('/test_get/{id}', 'test_get')
be063157   Alex Savenko   test
51
                  ->description('Just for test get query')
895c22b9   Alex Savenko   project entity
52
              )
4487a7c8   Alex Savenko   test
53
54
55
56
57
              ->endpoint(ApiEndpoint::all())
              ->endpoint(ApiEndpoint::create())
              ->endpoint(ApiEndpoint::find())
              ->endpoint(ApiEndpoint::update())
              ->endpoint(ApiEndpoint::remove())
10164e4c   Alex Savenko   test
58
          ;
8bd1d03c   Alex Savenko   create project model
59
  
d1b34bab   Alex Savenko   test
60
  
8bd1d03c   Alex Savenko   create project model
61
62
63
      }
  
  }