Blame view

app/library/App/Resources/ProjectResource.php 1.38 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()
d1b34bab   Alex Savenko   test
29
              ->itemKey('project')
8bd1d03c   Alex Savenko   create project model
30
              ->collectionKey('projects')
d1b34bab   Alex Savenko   test
31
32
33
34
35
36
37
38
39
40
41
42
43
44
          ;
  
          /** transformers **/
          $this
              ->transformer(ProjectTransformer::class);
  
          /** handlers **/
          $this
              ->handler(ProjectController::class)
              ->handler(CrudResourceController::class);
  
          /** general roles **/
          $this
              ->allow(AclRoles::AUTHORIZED);
895c22b9   Alex Savenko   project entity
45
  
d1b34bab   Alex Savenko   test
46
47
          /** endpoints **/
          $this
895c22b9   Alex Savenko   project entity
48
49
50
              ->endpoint(ApiEndpoint::post('/test', 'test')
                  ->description('Returns the currently logged in user')
              )
5df28bdb   Alex Savenko   test
51
              ->endpoint(ApiEndpoint::all())
8bd1d03c   Alex Savenko   create project model
52
53
54
              ->endpoint(ApiEndpoint::create())
              ->endpoint(ApiEndpoint::find())
              ->endpoint(ApiEndpoint::update())
10164e4c   Alex Savenko   test
55
              ->endpoint(ApiEndpoint::remove())
10164e4c   Alex Savenko   test
56
          ;
8bd1d03c   Alex Savenko   create project model
57
  
d1b34bab   Alex Savenko   test
58
  
8bd1d03c   Alex Savenko   create project model
59
60
61
      }
  
  }