user(); if ($user === null || Gate::forUser($user)->denies('create', City::class)) { return Response::error('Nicht berechtigt, eine Stadt anzulegen.'); } $storeRequest = new StoreCityRequest; $validated = $request->validate( $storeRequest->rules(), $storeRequest->messages(), ); $city = City::create($validated); return Response::json(CityResource::make($city->fresh())->resolve()); } /** * @return array */ public function schema(JsonSchema $schema): array { return [ 'country_id' => $schema->integer()->description('ID des zugehörigen Landes.')->required(), 'name' => $schema->string()->description('Name der Stadt.')->required(), 'longitude' => $schema->number()->description('Längengrad der Stadt.')->required(), 'latitude' => $schema->number()->description('Breitengrad der Stadt.')->required(), 'population' => $schema->integer()->description('Einwohnerzahl der Stadt.'), ]; } }