get('id')); if (! $city) { return Response::error('Stadt nicht gefunden.'); } $user = $request->user(); if ($user === null || Gate::forUser($user)->denies('update', $city)) { return Response::error('Nur der Ersteller oder ein Super-Admin darf diese Stadt ändern.'); } $validated = $request->validate((new UpdateCityRequest)->rules()); $city->update($validated); return Response::json(CityResource::make($city->fresh())->resolve()); } /** * @return array */ public function schema(JsonSchema $schema): array { return [ 'id' => $schema->integer()->description('ID der zu aktualisierenden Stadt.')->required(), 'country_id' => $schema->integer()->description('ID des zugehörigen Landes.'), 'name' => $schema->string()->description('Name der Stadt.'), 'longitude' => $schema->number()->description('Längengrad der Stadt.'), 'latitude' => $schema->number()->description('Breitengrad der Stadt.'), 'population' => $schema->integer()->description('Einwohnerzahl der Stadt.'), ]; } }