log = new LogModel([ 'module' => 'permission', 'action' => $request->getMethod(), 'target_type' => 'permission', ]); } public function index() { $permissions = Permission::query()->get(); return PermissionsResource::collection($permissions); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'name' => 'required|string|max:255|unique:permissions,name', ]); if ($validator->fails()) { $this->setValidatorFailResponse($validator->getMessageBag()->getMessages()); return response($this->res, $this->res['httpCode']); } $permission = new Permission(); $permission->name = $request->name; $permission->save(); return response($this->res, $this->res['httpCode']); } public function show($id) { return new PermissionsResource(Permission::query()->find($id)); } public function update($id, Request $request) { $validator = Validator::make($request->all(), [ 'name' => ['required', 'string', 'max:255', Rule::unique('permissions')->ignore($id),] ]); if ($validator->fails()) { $this->setValidatorFailResponse($validator->getMessageBag()->getMessages()); return response($this->res, $this->res['httpCode']); } $permission = Permission::query()->find($id); $this->setBeforeUpdate($permission->name); $permission->name = $request->name; $permission->save(); $this->setAfterUpdate($permission->name); $this->addLog($id, 'name'); return new PermissionsResource($permission); } }