ldc-wenn-dann-mit-respekt/app/Http/Controllers/StoreController.php
Vincent BRIDIER 2aa73fa32c Clean + CI/CD
2022-12-23 17:24:09 +00:00

48 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
class StoreController extends Controller
{
/**
* Store by city
*
* @param \Illuminate\Http\Request $request
* @param mixed $city
* @return \App\Store;
*/
public function city(Request $request, mixed $city)
{
// CSRF Token check.
if (
!(is_string($request->session()->token()) &&
is_string($request->header('X-CSRF-TOKEN')) &&
hash_equals($request->session()->token(), $request->header('X-CSRF-TOKEN')))
) {
\abort(419);
}
if (is_numeric($city)) {
$stores = DB::table('stores')
->join('retailregions', 'stores.region_id', '=', 'retailregions.id')
->join('retailgroups', 'retailregions.region_group', '=', 'retailgroups.id')
->select('stores.*', 'retailregions.*', 'retailgroups.*')
->where('stores.zipcode', $city)
->get();
return $stores;
} else {
$stores = DB::table('stores')
->join('retailregions', 'stores.region_id', '=', 'retailregions.id')
->join('retailgroups', 'retailregions.region_group', '=', 'retailgroups.id')
->select('stores.*', 'retailregions.*', 'retailgroups.*')
->where('stores.city', $city)
->get();
return $stores;
}
}
}