]>
Commit | Line | Data |
---|---|---|
bf6c0346 TC |
1 | <?php |
2 | ||
3 | namespace Wallabag\CoreBundle\Entity; | |
4 | ||
5 | use Doctrine\ORM\Mapping as ORM; | |
6 | use Wallabag\FederationBundle\Entity\Account; | |
7 | ||
8 | /** | |
9 | * Change. | |
10 | * | |
11 | * This entity stores a datetime for each activity. | |
12 | * | |
13 | * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ChangeRepository") | |
14 | * @ORM\Table(name="`activity`") | |
15 | */ | |
16 | class Activity | |
17 | { | |
18 | /** | |
19 | * Object types | |
20 | */ | |
21 | const ENTRY_OBJECT = 1; | |
22 | const TAG_OBJECT = 2; | |
23 | const USER_OBJECT = 3; | |
24 | const SHARE_OBJECT = 4; | |
25 | const GROUP_OBJECT = 5; | |
26 | const ANNOTATION_OBJECT = 6; | |
27 | const CONFIG_OBJECT = 7; | |
28 | const ACCOUNT_OBJECT = 8; | |
29 | ||
30 | /** | |
31 | * Events | |
32 | */ | |
33 | ||
34 | /** | |
35 | * Entry events | |
36 | */ | |
37 | const ENTRY_ADD = 10; // done | |
38 | const ENTRY_EDIT = 11; // done | |
39 | const ENTRY_READ = 12; // done | |
40 | const ENTRY_UNREAD = 13; // done | |
41 | const ENTRY_FAVOURITE = 14; // done | |
42 | const ENTRY_UNFAVOURITE = 15; // done | |
43 | const ENTRY_DELETE = 19; // done | |
44 | ||
45 | /** | |
46 | * Tag events | |
47 | */ | |
48 | const TAG_CREATE = 20; // not yet implemented | |
49 | const TAG_EDIT = 21; // not yet implemented | |
50 | const TAG_REMOVE = 29; // not yet implemented | |
51 | ||
52 | /** | |
53 | * Entry - Tag events | |
54 | */ | |
55 | const ENTRY_ADD_TAG = 30; // done | |
56 | const ENTRY_REMOVE_TAG = 39; // done | |
57 | ||
58 | /** | |
59 | * Entry - Annotation events | |
60 | */ | |
61 | const ANNOTATION_ADD = 40; // done | |
62 | const ANNOTATION_EDIT = 41; // done | |
63 | const ANNOTATION_REMOVE = 49; // done | |
64 | ||
65 | /** | |
66 | * User events | |
67 | */ | |
68 | const USER_CREATE = 50; // done | |
69 | const USER_EDIT = 51; // done | |
70 | const USER_REMOVE = 59; // done | |
71 | ||
72 | /** | |
73 | * Federation events | |
74 | */ | |
75 | const FOLLOW_ACCOUNT = 61; | |
76 | const UNFOLLOW_ACCOUNT = 62; | |
77 | const RECOMMEND_ENTRY = 63; | |
78 | ||
79 | /** | |
80 | * Share events | |
81 | */ | |
82 | const USER_SHARE_CREATED = 70; // done | |
83 | const USER_SHARE_ACCEPTED = 71; // done | |
84 | const USER_SHARE_REFUSED = 72; // done | |
85 | const USER_SHARE_CANCELLED = 79; // not implemented yet | |
86 | ||
87 | /** | |
88 | * Group events | |
89 | */ | |
90 | const GROUP_CREATE = 80; | |
91 | const GROUP_EDIT = 81; | |
92 | const GROUP_ADD_MEMBER = 82; | |
93 | const GROUP_EDIT_MEMBER = 83; | |
94 | const GROUP_REMOVE_MEMBER = 84; | |
95 | const GROUP_SHARE_ENTRY = 85; | |
96 | const GROUP_DELETE = 89; | |
97 | ||
98 | /** | |
99 | * @var int | |
100 | * | |
101 | * @ORM\Column(type="integer") | |
102 | * @ORM\Id | |
103 | * @ORM\GeneratedValue(strategy="AUTO") | |
104 | */ | |
105 | private $id; | |
106 | ||
107 | /** | |
108 | * @var int | |
109 | * | |
110 | * @ORM\Column(type="integer") | |
111 | */ | |
112 | private $activityType; | |
113 | ||
114 | /** | |
115 | * @var Account | |
116 | */ | |
117 | private $user; | |
118 | ||
119 | /** | |
120 | * @var int | |
121 | * | |
122 | * @ORM\Column(type="integer") | |
123 | */ | |
124 | private $primaryObjectType; | |
125 | ||
126 | /** | |
127 | * @var int | |
128 | * | |
129 | * @ORM\Column(type="integer") | |
130 | */ | |
131 | private $primaryObjectId; | |
132 | ||
133 | /** | |
134 | * @var int | |
135 | * | |
136 | * @ORM\Column(type="integer", nullable=true) | |
137 | */ | |
138 | private $secondaryObjectType; | |
139 | ||
140 | /** | |
141 | * @var int | |
142 | * | |
143 | * @ORM\Column(type="integer", nullable=true) | |
144 | */ | |
145 | private $secondaryObjectId; | |
146 | ||
147 | /** | |
148 | * @var \DateTime | |
149 | * | |
150 | * @ORM\Column(name="created_at", type="datetime") | |
151 | */ | |
152 | private $createdAt; | |
153 | ||
154 | public function __construct($activityType, $primaryObjectType, $primaryObjectId) | |
155 | { | |
156 | $this->activityType = $activityType; | |
157 | $this->primaryObjectType = $primaryObjectType; | |
158 | $this->primaryObjectId = $primaryObjectId; | |
159 | $this->createdAt = new \DateTime(); | |
160 | } | |
161 | ||
162 | /** | |
163 | * @return int | |
164 | */ | |
165 | public function getId() | |
166 | { | |
167 | return $this->id; | |
168 | } | |
169 | ||
170 | /** | |
171 | * @return int | |
172 | */ | |
173 | public function getActivityType() | |
174 | { | |
175 | return $this->activityType; | |
176 | } | |
177 | ||
178 | /** | |
179 | * @param int $activityType | |
180 | * @return Activity | |
181 | */ | |
182 | public function setActivityType($activityType) | |
183 | { | |
184 | $this->activityType = $activityType; | |
185 | return $this; | |
186 | } | |
187 | ||
188 | /** | |
189 | * @return \DateTime | |
190 | */ | |
191 | public function getCreatedAt() | |
192 | { | |
193 | return $this->createdAt; | |
194 | } | |
195 | ||
196 | /** | |
197 | * @param \DateTime $createdAt | |
198 | * @return Activity | |
199 | */ | |
200 | public function setCreatedAt(\DateTime $createdAt) | |
201 | { | |
202 | $this->createdAt = $createdAt; | |
203 | return $this; | |
204 | } | |
205 | ||
206 | /** | |
207 | * @return int | |
208 | */ | |
209 | public function getPrimaryObjectId() | |
210 | { | |
211 | return $this->primaryObjectId; | |
212 | } | |
213 | ||
214 | /** | |
215 | * @param $primaryObjectId | |
216 | * @return Activity | |
217 | */ | |
218 | public function setPrimaryObjectId($primaryObjectId) | |
219 | { | |
220 | $this->primaryObjectId = $primaryObjectId; | |
221 | return $this; | |
222 | } | |
223 | ||
224 | /** | |
225 | * @return Account | |
226 | */ | |
227 | public function getUser() | |
228 | { | |
229 | return $this->user; | |
230 | } | |
231 | ||
232 | /** | |
233 | * @param Account $user | |
234 | * @return Activity | |
235 | */ | |
236 | public function setUser($user) | |
237 | { | |
238 | $this->user = $user; | |
239 | return $this; | |
240 | } | |
241 | ||
242 | /** | |
243 | * @return int | |
244 | */ | |
245 | public function getPrimaryObjectType() | |
246 | { | |
247 | return $this->primaryObjectType; | |
248 | } | |
249 | ||
250 | /** | |
251 | * @param int $primaryObjectType | |
252 | * @return Activity | |
253 | */ | |
254 | public function setPrimaryObjectType($primaryObjectType) | |
255 | { | |
256 | $this->primaryObjectType = $primaryObjectType; | |
257 | return $this; | |
258 | } | |
259 | ||
260 | /** | |
261 | * @return int | |
262 | */ | |
263 | public function getSecondaryObjectType() | |
264 | { | |
265 | return $this->secondaryObjectType; | |
266 | } | |
267 | ||
268 | /** | |
269 | * @param int $secondaryObjectType | |
270 | * @return Activity | |
271 | */ | |
272 | public function setSecondaryObjectType($secondaryObjectType) | |
273 | { | |
274 | $this->secondaryObjectType = $secondaryObjectType; | |
275 | return $this; | |
276 | } | |
277 | ||
278 | /** | |
279 | * @return int | |
280 | */ | |
281 | public function getSecondaryObjectId() | |
282 | { | |
283 | return $this->secondaryObjectId; | |
284 | } | |
285 | ||
286 | /** | |
287 | * @param int $secondaryObjectId | |
288 | * @return Activity | |
289 | */ | |
290 | public function setSecondaryObjectId($secondaryObjectId) | |
291 | { | |
292 | $this->secondaryObjectId = $secondaryObjectId; | |
293 | return $this; | |
294 | } | |
295 | } |