Skip to content

Commit 1cc7259

Browse files
committed
[bkintanar#11] Add Support For Query Parameter
1 parent 9e7dc64 commit 1cc7259

File tree

7 files changed

+50
-35
lines changed

7 files changed

+50
-35
lines changed

app/Http/Controllers/BarangayController.php

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$cities = QueryBuilder::for(Barangay::class)
22-
->paginate($perPage);
21+
$barangays = QueryBuilder::for(Barangay::class);
2322

24-
return BarangayResource::collection($cities);
23+
if ($perPage === 'all') {
24+
return BarangayResource::collection($barangays->get());
25+
}
26+
27+
return BarangayResource::collection($barangays->paginate($perPage));
2528
}
2629

2730
/**
@@ -36,7 +39,7 @@ public function show(Request $request, Barangay $barangay)
3639

3740
$barangay = QueryBuilder::for($query)
3841
->first();
39-
42+
4043
return new BarangayResource($barangay);
4144
}
4245
}

app/Http/Controllers/CityController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$cities = QueryBuilder::for(City::class)
22-
->allowedIncludes('barangays', 'subMunicipalities')
23-
->paginate($perPage);
21+
$cities = QueryBuilder::for(City::class)->allowedIncludes('barangays', 'subMunicipalities');
22+
23+
if ($perPage === 'all') {
24+
return CityResource::collection($cities->get());
25+
}
2426

25-
return CityResource::collection($cities);
27+
return CityResource::collection($cities->paginate($perPage));
2628
}
2729

2830
/**
@@ -38,7 +40,7 @@ public function show(Request $request, City $city)
3840
$city = QueryBuilder::for($query)
3941
->allowedIncludes('barangays', 'subMunicipalities')
4042
->first();
41-
43+
4244
return new CityResource($city);
4345
}
4446
}

app/Http/Controllers/DistrictController.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$districts = QueryBuilder::for(District::class)
22-
->allowedIncludes('cities', 'municipalities')
23-
->paginate($perPage);
21+
$districts = QueryBuilder::for(District::class)->allowedIncludes('cities');
2422

25-
return DistrictResource::collection($districts);
23+
if ($perPage === 'all') {
24+
return DistrictResource::collection($districts->get());
25+
}
26+
27+
return DistrictResource::collection($districts->paginate($perPage));
2628
}
2729

2830
/**
@@ -36,9 +38,9 @@ public function show(Request $request, District $district)
3638
$query = District::where('id', $district->id);
3739

3840
$district = QueryBuilder::for($query)
39-
->allowedIncludes('cities', 'municipalities')
41+
->allowedIncludes('cities')
4042
->first();
41-
43+
4244
return new DistrictResource($district);
4345
}
4446
}

app/Http/Controllers/MunicipalityController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$cities = QueryBuilder::for(Municipality::class)
22-
->allowedIncludes('barangays')
23-
->paginate($perPage);
21+
$municipalities = QueryBuilder::for(Municipality::class)->allowedIncludes('barangays');
22+
23+
if ($perPage === 'all') {
24+
return MunicipalityResource::collection($municipalities->get());
25+
}
2426

25-
return MunicipalityResource::collection($cities);
27+
return MunicipalityResource::collection($municipalities->paginate($perPage));
2628
}
2729

2830
/**
@@ -38,7 +40,7 @@ public function show(Request $request, Municipality $municipality)
3840
$municipality = QueryBuilder::for($query)
3941
->allowedIncludes('barangays')
4042
->first();
41-
43+
4244
return new MunicipalityResource($municipality);
4345
}
4446
}

app/Http/Controllers/ProvinceController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$provinces = QueryBuilder::for(Province::class)
22-
->allowedIncludes('cities', 'municipalities')
23-
->paginate($perPage);
21+
$provinces = QueryBuilder::for(Province::class)->allowedIncludes('cities', 'municipalities');
22+
23+
if ($perPage === 'all') {
24+
return ProvinceResource::collection($provinces->get());
25+
}
2426

25-
return ProvinceResource::collection($provinces);
27+
return ProvinceResource::collection($provinces->paginate($perPage));
2628
}
2729

2830
/**
@@ -38,7 +40,7 @@ public function show(Request $request, Province $province)
3840
$province = QueryBuilder::for($query)
3941
->allowedIncludes('cities', 'municipalities')
4042
->first();
41-
43+
4244
return new ProvinceResource($province);
4345
}
4446
}

app/Http/Controllers/RegionController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$regions = QueryBuilder::for(Region::class)
22-
->allowedIncludes('provinces', 'districts')
23-
->paginate($perPage);
21+
$regions = QueryBuilder::for(Region::class)->allowedIncludes('provinces', 'districts');
22+
23+
if ($perPage === 'all') {
24+
return RegionResource::collection($regions->get());
25+
}
2426

25-
return RegionResource::collection($regions);
27+
return RegionResource::collection($regions->paginate($perPage));
2628
}
2729

2830
/**
@@ -38,7 +40,7 @@ public function show(Request $request, Region $region)
3840
$region = QueryBuilder::for($query)
3941
->allowedIncludes('provinces', 'districts')
4042
->first();
41-
43+
4244
return new RegionResource($region);
4345
}
4446
}

app/Http/Controllers/SubMunicipalityController.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@ public function index(Request $request)
1818
{
1919
$perPage = $request->per_page ?? self::ITEMS_PER_PAGE;
2020

21-
$cities = QueryBuilder::for(SubMunicipality::class)
22-
->allowedIncludes('barangays')
23-
->paginate($perPage);
21+
$subMunicipalities = QueryBuilder::for(SubMunicipality::class)->allowedIncludes('barangays');
22+
23+
if ($perPage === 'all') {
24+
return SubMunicipalityResource::collection($subMunicipalities->get());
25+
}
2426

25-
return SubMunicipalityResource::collection($cities);
27+
return SubMunicipalityResource::collection($subMunicipalities->paginate($perPage));
2628
}
2729

2830
/**
@@ -38,7 +40,7 @@ public function show(Request $request, SubMunicipality $subMunicipality)
3840
$subMunicipality = QueryBuilder::for($query)
3941
->allowedIncludes('barangays')
4042
->first();
41-
43+
4244
return new SubMunicipalityResource($subMunicipality);
4345
}
4446
}

0 commit comments

Comments
 (0)