Skip to content

Commit 5d3e146

Browse files
committed
✨ hooks ready
1 parent 325e5d6 commit 5d3e146

File tree

9 files changed

+306
-74
lines changed

9 files changed

+306
-74
lines changed

src/Concerns/PerformsRestOperations.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,11 @@ public function destroy(DestroyRequest $request)
138138
foreach ($models as $model) {
139139
self::newResource()->authorizeTo('delete', $model);
140140

141-
$resource->beforeDestroying($request, $model);
141+
$resource->destroying($request, $model);
142142

143143
$resource->performDelete($request, $model);
144144

145-
$resource->afterDestroying($request, $model);
145+
$resource->destroyed($request, $model);
146146
}
147147

148148
$this->afterDestroy($request);
@@ -175,11 +175,11 @@ public function restore(RestoreRequest $request)
175175
foreach ($models as $model) {
176176
self::newResource()->authorizeTo('restore', $model);
177177

178-
$resource->beforeRestoring($request, $model);
178+
$resource->restoring($request, $model);
179179

180180
$resource->performRestore($request, $model);
181181

182-
$resource->afterRestoring($request, $model);
182+
$resource->restored($request, $model);
183183
}
184184

185185
$this->afterRestore($request);
@@ -213,11 +213,11 @@ public function forceDelete(ForceDestroyRequest $request)
213213
foreach ($models as $model) {
214214
self::newResource()->authorizeTo('forceDelete', $model);
215215

216-
$resource->beforeForceDestroying($request, $model);
216+
$resource->forceDestroying($request, $model);
217217

218218
$resource->performForceDelete($request, $model);
219219

220-
$resource->afterForceDestroying($request, $model);
220+
$resource->forceDestroyed($request, $model);
221221
}
222222

223223
$this->afterForceDestroy($request);

src/Concerns/Resource/HasResourceHooks.php

Lines changed: 68 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,48 +4,106 @@
44

55
use Illuminate\Database\Eloquent\Model;
66
use Lomkit\Rest\Http\Requests\DestroyRequest;
7+
use Lomkit\Rest\Http\Requests\ForceDestroyRequest;
78
use Lomkit\Rest\Http\Requests\MutateRequest;
9+
use Lomkit\Rest\Http\Requests\RestoreRequest;
810

911
trait HasResourceHooks
1012
{
11-
// @TODO: PHP DOC
12-
// @TODO: separate functioning by types ? beforeCreating, beforeUpdating, etc ? seems more logical
13-
public function beforeMutating(MutateRequest $request, array $requestBody, Model $model): void
13+
/**
14+
* Executed when a model has been "mutating".
15+
*
16+
* @param MutateRequest $request
17+
* @param array $requestBody
18+
* @param Model $model
19+
* @return void
20+
*/
21+
public function mutating(MutateRequest $request, array $requestBody, Model $model): void
1422
{
1523
//
1624
}
1725

18-
public function afterMutating(MutateRequest $request, array $requestBody, Model $model): void
26+
/**
27+
* Executed when a model has been "mutated".
28+
*
29+
* @param MutateRequest $request
30+
* @param array $requestBody
31+
* @param Model $model
32+
* @return void
33+
*/
34+
public function mutated(MutateRequest $request, array $requestBody, Model $model): void
1935
{
2036
//
2137
}
2238

23-
public function beforeDestroying(DestroyRequest $request, Model $model): void
39+
/**
40+
* Executed when a model has been "destroying".
41+
*
42+
* @param DestroyRequest $request
43+
* @param Model $model
44+
* @return void
45+
*/
46+
public function destroying(DestroyRequest $request, Model $model): void
2447
{
2548
//
2649
}
2750

28-
public function afterDestroying(DestroyRequest $request, Model $model): void
51+
/**
52+
* Executed when a model has been "destroyed".
53+
*
54+
* @param DestroyRequest $request
55+
* @param Model $model
56+
* @return void
57+
*/
58+
public function destroyed(DestroyRequest $request, Model $model): void
2959
{
3060
//
3161
}
3262

33-
public function beforeRestoring(MutateRequest $request, Model $model): void
63+
/**
64+
* Executed when a model has been "restoring".
65+
*
66+
* @param RestoreRequest $request
67+
* @param Model $model
68+
* @return void
69+
*/
70+
public function restoring(RestoreRequest $request, Model $model): void
3471
{
3572
//
3673
}
3774

38-
public function afterRestoring(MutateRequest $request, Model $model): void
75+
/**
76+
* Executed when a model has been "restored".
77+
*
78+
* @param RestoreRequest $request
79+
* @param Model $model
80+
* @return void
81+
*/
82+
public function restored(RestoreRequest $request, Model $model): void
3983
{
4084
//
4185
}
4286

43-
public function beforeForceDestroying(MutateRequest $request, Model $model): void
87+
/**
88+
* Executed when a model has been "forceDestroying".
89+
*
90+
* @param ForceDestroyRequest $request
91+
* @param Model $model
92+
* @return void
93+
*/
94+
public function forceDestroying(ForceDestroyRequest $request, Model $model): void
4495
{
4596
//
4697
}
4798

48-
public function afterForceDestroying(MutateRequest $request, Model $model): void
99+
/**
100+
* Executed when a model has been "forceDestroyed".
101+
*
102+
* @param ForceDestroyRequest $request
103+
* @param Model $model
104+
* @return void
105+
*/
106+
public function forceDestroyed(ForceDestroyRequest $request, Model $model): void
49107
{
50108
//
51109
}

src/Http/Controllers/Traits/HasControllerHooks.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Lomkit\Rest\Http\Controllers\Traits;
44

5+
use Illuminate\Database\Eloquent\Model;
56
use Lomkit\Rest\Http\Requests\DestroyRequest;
67
use Lomkit\Rest\Http\Requests\DetailsRequest;
78
use Lomkit\Rest\Http\Requests\ForceDestroyRequest;
@@ -12,66 +13,144 @@
1213

1314
trait HasControllerHooks
1415
{
16+
/**
17+
* Executed before details.
18+
*
19+
* @param DetailsRequest $request
20+
* @return void
21+
*/
1522
protected function beforeDetails(DetailsRequest $request): void
1623
{
1724
//
1825
}
1926

27+
/**
28+
* Executed before search.
29+
*
30+
* @param SearchRequest $request
31+
* @return void
32+
*/
2033
protected function beforeSearch(SearchRequest $request): void
2134
{
2235
//
2336
}
2437

38+
/**
39+
* Executed after search.
40+
*
41+
* @param SearchRequest $request
42+
* @return void
43+
*/
2544
protected function afterSearch(SearchRequest $request): void
2645
{
2746
//
2847
}
2948

49+
/**
50+
* Executed before mutate.
51+
*
52+
* @param MutateRequest $request
53+
* @return void
54+
*/
3055
protected function beforeMutate(MutateRequest $request): void
3156
{
3257
//
3358
}
3459

60+
/**
61+
* Executed after mutate.
62+
*
63+
* @param MutateRequest $request
64+
* @return void
65+
*/
3566
protected function afterMutate(MutateRequest $request): void
3667
{
3768
//
3869
}
3970

71+
/**
72+
* Executed before operate.
73+
*
74+
* @param OperateRequest $request
75+
* @return void
76+
*/
4077
protected function beforeOperate(OperateRequest $request): void
4178
{
4279
//
4380
}
4481

82+
/**
83+
* Executed after operate.
84+
*
85+
* @param OperateRequest $request
86+
* @return void
87+
*/
4588
protected function afterOperate(OperateRequest $request): void
4689
{
4790
//
4891
}
4992

93+
/**
94+
* Executed before destroy.
95+
*
96+
* @param DestroyRequest $request
97+
* @return void
98+
*/
5099
protected function beforeDestroy(DestroyRequest $request): void
51100
{
52101
//
53102
}
54103

104+
/**
105+
* Executed after destroy.
106+
*
107+
* @param DestroyRequest $request
108+
* @return void
109+
*/
55110
protected function afterDestroy(DestroyRequest $request): void
56111
{
57112
//
58113
}
59114

115+
/**
116+
* Executed before restore.
117+
*
118+
* @param RestoreRequest $request
119+
* @return void
120+
*/
60121
protected function beforeRestore(RestoreRequest $request): void
61122
{
62123
//
63124
}
64125

126+
/**
127+
* Executed after restore.
128+
*
129+
* @param RestoreRequest $request
130+
* @return void
131+
*/
65132
protected function afterRestore(RestoreRequest $request): void
66133
{
67134
//
68135
}
69136

137+
/**
138+
* Executed before force destroy.
139+
*
140+
* @param ForceDestroyRequest $request
141+
* @return void
142+
*/
70143
protected function beforeForceDestroy(ForceDestroyRequest $request): void
71144
{
72145
//
73146
}
74147

148+
/**
149+
* Executed after force destroy.
150+
*
151+
* @param ForceDestroyRequest $request
152+
* @return void
153+
*/
75154
protected function afterForceDestroy(ForceDestroyRequest $request): void
76155
{
77156
//

src/Query/Traits/PerformMutation.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ function ($relation) use ($relations) {
103103

104104
$this
105105
->resource
106-
->beforeMutating(app(MutateRequest::class), $mutation, $model);
106+
->mutating(app(MutateRequest::class), $mutation, $model);
107107

108108
$model
109109
->forceFill($attributes)
@@ -115,7 +115,7 @@ function ($relation) use ($relations) {
115115

116116
$this
117117
->resource
118-
->afterMutating(app(MutateRequest::class), $mutation, $model);
118+
->mutated(app(MutateRequest::class), $mutation, $model);
119119

120120
return $model;
121121
}

0 commit comments

Comments
 (0)