Blame view

app/library/App/Model/Project.php 3.44 KB
4690c1db   Alex Savenko   create project
1
2
3
4
  <?php
  
  namespace App\Model;
  
0b8d4ffc   Alex Savenko   Add Roles.
5
6
7
8
9
  use App\Mvc\DateTrackingModel;
  use PhalconApi\Constants\ErrorCodes;
  use PhalconApi\Exception;
  
  class Project extends DateTrackingModel
4690c1db   Alex Savenko   create project
10
11
12
13
  {
      public $id;
      public $name;
      public $user_id;
6ca4a98a   Alex Savenko   add ga_view_id to...
14
      public $ga_view_id;
b05d4e78   Alex Savenko   docs
15
      public $group;
4690c1db   Alex Savenko   create project
16
17
18
19
20
21
22
23
24
  
      public function getSource()
      {
          return 'project';
      }
  
      public function columnMap()
      {
          return parent::columnMap() + [
6ca4a98a   Alex Savenko   add ga_view_id to...
25
26
27
              'id'            => 'id',
              'name'          => 'name',
              'ga_view_id'    => 'ga_view_id',
b05d4e78   Alex Savenko   docs
28
29
              'user_id'       => 'user_id',
              'group'         => 'group'
4690c1db   Alex Savenko   create project
30
31
32
33
34
          ];
      }
  
      public function initialize() {
  
175f1d0b   Alex Savenko   registration
35
36
37
          $this->belongsTo('user_id', User::class, 'id', [
              'alias' => 'User',
          ]);
0b8d4ffc   Alex Savenko   Add Roles.
38
39
40
41
42
43
44
45
46
47
  
          $this->hasManyToMany(
              'id',
              UserProject::class,
              'project_id',
              'user_id',
              User::class,
              'id',
              array('alias' => 'users')
          );
4690c1db   Alex Savenko   create project
48
      }
0b8d4ffc   Alex Savenko   Add Roles.
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
  
      /** ------- Getters and Setters ------- **/
  
          /** validation: non-empty, 4+ letters *
           * @param $name
           * @throws Exception
           */
          public function setName($name)
          {
              if (empty($name))
              {
                  $msg = 'Post-data is invalid, trying to use empty value of `name`';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['name' => $name]);
              }
              elseif (strlen($name) < 4)
              {
                  $msg = 'Post-data is invalid, value of `name` should be more than 4 letters';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['name' => $name]);
              }
  
              $this->name = $name;
          }
  
          /** validation: non-empty, integer *
           * @param $ga_view_id
           * @throws Exception
           */
          public function setGa_view_id($ga_view_id)
          {
              if (empty($ga_view_id))
              {
                  $msg = 'Post-data is invalid, trying to use empty value of `ga_view_id`';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['ga_view_id' => $ga_view_id]);
              }
              elseif (!is_integer($ga_view_id))
              {
                  $msg = 'Post-data is invalid, type of `ga_view_id` should be integer';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['ga_view_id' => $ga_view_id]);
              }
  
              $this->ga_view_id = $ga_view_id;
          }
  
          /** validation: non-empty, integer *
           * @param $group
           * @throws Exception
           */
          public function setGroup($group)
          {
              if (empty($group))
              {
                  $msg = 'Post-data is invalid, trying to use empty value of `group`';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['group' => $group]);
              }
              elseif (!is_integer($group))
              {
                  $msg = 'Post-data is invalid, type of `group` should be integer';
                  throw new Exception(ErrorCodes::POST_DATA_INVALID, $msg, ['group' => $group]);
              }
  
              $this->group = $group;
          }
  
          public function getName()
          {
              return $this->name;
          }
  
          public function getGa_view_id()
          {
              return $this->ga_view_id;
          }
  
          public function getGroup()
          {
              return $this->group;
          }
  
      /** ----------------------------------- **/
4690c1db   Alex Savenko   create project
128
  }