Skip to content

Commit f84ecc8

Browse files
- Add count for cities without country or coordinates (#226)
* Add count for cities without country or coordinates * cr changes --------- Co-authored-by: Aleksandra Kozubal <aleksandra.kozubal@studenci.collegiumwitelona.pl>
1 parent 7265058 commit f84ecc8

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

app/Http/Controllers/Api/Admin/CityController.php

+8
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use App\Http\Controllers\Controller;
88
use App\Http\Requests\CityRequest;
99
use App\Http\Resources\CityResource;
10+
use App\Http\Resources\CityWithoutAssignedCoordinatesResource;
1011
use App\Http\Resources\CityWithoutAssignedCountryResource;
1112
use App\Http\Resources\CountryResource;
1213
use App\Http\Resources\ProviderResource;
@@ -35,12 +36,19 @@ public function index(): JsonResponse
3536
$countries = Country::all();
3637

3738
$citiesWithoutAssignedCountry = CityWithoutAssignedCountry::all();
39+
$citiesWithoutAssignedCoordinates = City::query()
40+
->whereNull("latitude")
41+
->orWhereNull("longitude")
42+
->get();
3843

3944
return response()->json([
4045
"cities" => CityResource::collection($cities),
4146
"providers" => ProviderResource::collection($providers),
4247
"countries" => CountryResource::collection($countries),
4348
"citiesWithoutAssignedCountry" => CityWithoutAssignedCountryResource::collection($citiesWithoutAssignedCountry),
49+
"citiesWithoutAssignedCountryCount" => $citiesWithoutAssignedCountry->count(),
50+
"citiesWithoutAssignedCoordinates" => CityWithoutAssignedCoordinatesResource::collection($citiesWithoutAssignedCoordinates),
51+
"citiesWithoutAssignedCoordinatesCount" => $citiesWithoutAssignedCoordinates->count(),
4452
]);
4553
}
4654

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Http\Resources;
6+
7+
use Illuminate\Http\Request;
8+
use Illuminate\Http\Resources\Json\JsonResource;
9+
10+
class CityWithoutAssignedCoordinatesResource extends JsonResource
11+
{
12+
public function toArray(Request $request): array
13+
{
14+
return [
15+
"id" => $this->id,
16+
"city_name" => $this->city_name,
17+
"country_name" => $this->country_name,
18+
"latitude" => $this->latitude,
19+
"longitude" => $this->longitude,
20+
];
21+
}
22+
}

0 commit comments

Comments
 (0)