Add endpoint and backend for managing postcode

This commit is contained in:
afiq.hamzah
2023-03-16 16:38:08 +08:00
parent bc41c09210
commit 5e94cae9a0
3 changed files with 52 additions and 4 deletions
+40 -4
View File
@@ -4,22 +4,40 @@ namespace App\Http\Controllers;
use App\Poskod;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class PoskodController extends Controller
{
public function showAllPoskod()
{
$poskod = Poskod::on('mysql7')->get();
$poskod = Poskod::on('mysql7')
->with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah'])
->when(request()->query_string, function ($q) {
return $q->where('poskod', 'like', '%' . request()->query_string . '%')
->orWhereHas('negeri', function ($b) {
$b->where(DB::raw('lower(negeri)'), 'like', '%' . strtolower(request()->query_string) . '%');
})
->orWhereHas('daerah', function ($b) {
$b->where(DB::raw('lower(namadaerah)'), 'like', '%' . strtolower(request()->query_string) . '%');
});
})
->paginate(12);
return response()->json($poskod);
return response()
->json($poskod)
->header('query_string', request()->query_string);
}
public function showOnePoskod($poskod)
{
$poskod = Poskod::on('mysql7')
->with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah'])
->where('poskod', '=', $poskod)
->first();
return response()->json($poskod);
}
@@ -27,10 +45,10 @@ class PoskodController extends Controller
{
if (Poskod::where('poskod', $request->poskod)->exists()) {
return response()->json('Poskod creation forbidden, already exist', 403);
return response()->json("Daftar poskod tidak dibenarkan, poskod {$request->poskod} sudah wujud", 403);
}
$created_poskod = Poskod::create([
$created_poskod = Poskod::create([
'poskod' => $request->poskod,
'koddaerah' => $request->koddaerah,
'kodnegeri' => $request->kodnegeri,
@@ -38,4 +56,22 @@ class PoskodController extends Controller
return response()->json($created_poskod, 200);
}
public function update(Request $request)
{
if (Poskod::where('poskod', $request->poskod)->exists()) {
return response()->json("Kemaskini poskod tidak dibenarkan, poskod {$request->poskod} sudah wujud", 403);
}
$updated_poskod = Poskod::find($request->recno);
$updated_poskod->update([
'poskod' => $request->poskod,
'koddaerah' => $request->koddaerah,
'kodnegeri' => $request->kodnegeri,
]);
return response()->json($updated_poskod, 200);
}
}