api = $api; $this->resource = $resource; $this->model = $model; } public function handle(Request $request): Response { $schema = $this->resource->getSchema(); if (! ($schema->isUpdatable)($request, $this->model)) { throw new ForbiddenException('You cannot update this resource'); } foreach ($schema->updatingCallbacks as $callback) { $callback($request, $this->model); } $this->save($this->model, $request); foreach ($schema->updatedCallbacks as $callback) { $callback($request, $this->model); } return (new Show($this->api, $this->resource, $this->model))->handle($request); } }