File tree 3 files changed +53
-0
lines changed
3 files changed +53
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace LaravelEnso \Tasks \Contracts ;
4
+
5
+ use Carbon \Carbon ;
6
+ use LaravelEnso \Core \Models \User ;
7
+
8
+ interface Taskable
9
+ {
10
+ public function name (): string ;
11
+
12
+ public function description (): string ;
13
+
14
+ public function allocatedTo (): ?User ;
15
+
16
+ public function createdBy (): ?User ;
17
+
18
+ public function updatedBy (): ?User ;
19
+
20
+ public function reminder (): Carbon ;
21
+
22
+ public function flag (): ?int ;
23
+
24
+ public function completed (): bool ;
25
+ }
Original file line number Diff line number Diff line change @@ -54,6 +54,11 @@ public function scopePending($query)
54
54
return $ query ->whereCompleted (false );
55
55
}
56
56
57
+ public function scopeCompleted ($ query )
58
+ {
59
+ return $ query ->whereCompleted (true );
60
+ }
61
+
57
62
public function setReminderAttribute ($ dateTime )
58
63
{
59
64
if (Carbon::now ()->lessThan ($ dateTime )) {
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace LaravelEnso \Tasks \Services ;
4
+
5
+ use LaravelEnso \Tasks \Contracts \Taskable ;
6
+ use LaravelEnso \Tasks \Models \Task ;
7
+
8
+ class TaskableFactory
9
+ {
10
+ public function create (Taskable $ taskable ): Task
11
+ {
12
+ return Task::create ([
13
+ 'name ' => $ taskable ->name (),
14
+ 'description ' => $ taskable ->description (),
15
+ 'allocated_to ' => optional ($ taskable ->allocatedTo ())->id ,
16
+ 'flag ' => $ taskable ->flag (),
17
+ 'reminder ' => $ taskable ->reminder (),
18
+ 'completed ' => $ taskable ->completed (),
19
+ 'created_by ' => optional ($ taskable ->createdBy ())->id ,
20
+ 'updated_by ' => optional ($ taskable ->updatedBy ())->id ,
21
+ ]);
22
+ }
23
+ }
You can’t perform that action at this time.
0 commit comments