rules()->orderBy('order')->get()); } public function show($id) { $rule = user()->rules()->findOrFail($id); return new RuleResource($rule); } public function store(StoreRuleRequest $request) { $conditions = collect($request->conditions)->map(function ($condition) { return collect($condition)->only(['type', 'match', 'values']); }); $actions = collect($request->actions)->map(function ($action) { return collect($action)->only(['type', 'value']); }); $rule = user()->rules()->create([ 'name' => $request->name, 'conditions' => $conditions, 'actions' => $actions, 'operator' => $request->operator ]); return new RuleResource($rule->refresh()); } public function update(StoreRuleRequest $request, $id) { $rule = user()->rules()->findOrFail($id); $conditions = collect($request->conditions)->map(function ($condition) { return collect($condition)->only(['type', 'match', 'values']); }); $actions = collect($request->actions)->map(function ($action) { return collect($action)->only(['type', 'value']); }); $rule->update([ 'name' => $request->name, 'conditions' => $conditions, 'actions' => $actions, 'operator' => $request->operator ]); return new RuleResource($rule->refresh()); } public function destroy($id) { $rule = user()->rules()->findOrFail($id); $rule->delete(); return response('', 204); } }