RuleController.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\StoreRuleRequest;
  5. use App\Http\Resources\RuleResource;
  6. class RuleController extends Controller
  7. {
  8. public function index()
  9. {
  10. return RuleResource::collection(user()->rules()->orderBy('order')->get());
  11. }
  12. public function show($id)
  13. {
  14. $rule = user()->rules()->findOrFail($id);
  15. return new RuleResource($rule);
  16. }
  17. public function store(StoreRuleRequest $request)
  18. {
  19. $rule = user()->rules()->create([
  20. 'name' => $request->name,
  21. 'conditions' => $request->conditions,
  22. 'actions' => $request->actions,
  23. 'operator' => $request->operator
  24. ]);
  25. return new RuleResource($rule->refresh());
  26. }
  27. public function update(StoreRuleRequest $request, $id)
  28. {
  29. $rule = user()->rules()->findOrFail($id);
  30. $rule->update([
  31. 'name' => $request->name,
  32. 'conditions' => $request->conditions,
  33. 'actions' => $request->actions,
  34. 'operator' => $request->operator
  35. ]);
  36. return new RuleResource($rule->refresh());
  37. }
  38. public function destroy($id)
  39. {
  40. $rule = user()->rules()->findOrFail($id);
  41. $rule->delete();
  42. return response('', 204);
  43. }
  44. }