get('id')); if (! $venue) { return Response::error('Veranstaltungsort nicht gefunden.'); } $user = $request->user(); if ($user === null || Gate::forUser($user)->denies('update', $venue)) { return Response::error('Nur der Ersteller oder ein Super-Admin darf diesen Veranstaltungsort ändern.'); } $validated = $request->validate((new UpdateVenueRequest)->rules()); $venue->update($validated); return Response::json(VenueResource::make($venue->fresh())->resolve()); } /** * @return array */ public function schema(JsonSchema $schema): array { return [ 'id' => $schema->integer()->description('ID des zu aktualisierenden Veranstaltungsorts.')->required(), 'city_id' => $schema->integer()->description('ID der zugehörigen Stadt.'), 'name' => $schema->string()->description('Name des Veranstaltungsorts.'), 'street' => $schema->string()->description('Straße und Hausnummer des Veranstaltungsorts.'), ]; } }