big update base struktur tahap 1
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Wilayah;
|
||||
|
||||
use App\Http\Controllers\ApiController;
|
||||
use App\Http\Requests\Wilayah\AlamatLengkapRequest;
|
||||
use App\Http\Requests\Wilayah\IndexWilayahRequest;
|
||||
use App\Http\Requests\Wilayah\LookupWilayahRequest;
|
||||
use App\Http\Requests\Wilayah\StoreWilayahRequest;
|
||||
use App\Http\Requests\Wilayah\UpdateWilayahRequest;
|
||||
use App\Http\Resources\Wilayah\WilayahResource;
|
||||
use App\Models\WilayahKabupaten;
|
||||
use App\Models\WilayahKecamatan;
|
||||
use App\Models\WilayahProvinsi;
|
||||
use App\Services\Wilayah\WilayahService;
|
||||
|
||||
class WilayahController extends ApiController
|
||||
{
|
||||
public function __construct(protected WilayahService $service) {}
|
||||
|
||||
public function index(IndexWilayahRequest $request, string $tingkat)
|
||||
{
|
||||
return $this->successPaginated(
|
||||
$this->service->list($tingkat, $request->validated()),
|
||||
WilayahResource::class,
|
||||
"Daftar {$tingkat} berhasil diambil"
|
||||
);
|
||||
}
|
||||
|
||||
public function store(StoreWilayahRequest $request, string $tingkat)
|
||||
{
|
||||
return $this->created(
|
||||
new WilayahResource($this->service->create($tingkat, $request->validated())),
|
||||
ucfirst($tingkat).' berhasil dibuat'
|
||||
);
|
||||
}
|
||||
|
||||
public function show(int $wilayah, string $tingkat)
|
||||
{
|
||||
return $this->success(
|
||||
new WilayahResource($this->service->find($tingkat, $wilayah)),
|
||||
'Detail wilayah berhasil diambil'
|
||||
);
|
||||
}
|
||||
|
||||
public function update(UpdateWilayahRequest $request, int $wilayah, string $tingkat)
|
||||
{
|
||||
return $this->updated(
|
||||
new WilayahResource($this->service->update($tingkat, $wilayah, $request->validated())),
|
||||
ucfirst($tingkat).' berhasil diperbarui'
|
||||
);
|
||||
}
|
||||
|
||||
public function destroy(int $wilayah, string $tingkat)
|
||||
{
|
||||
$this->service->delete($tingkat, $wilayah);
|
||||
|
||||
return $this->deleted(ucfirst($tingkat).' berhasil dihapus');
|
||||
}
|
||||
|
||||
public function alamatLengkap(AlamatLengkapRequest $request)
|
||||
{
|
||||
return $this->success(
|
||||
$this->service->alamatLengkap($request->validated()),
|
||||
'Alamat wilayah lengkap berhasil diambil'
|
||||
);
|
||||
}
|
||||
|
||||
public function provinsiOptions(LookupWilayahRequest $request)
|
||||
{
|
||||
return $this->success(
|
||||
$this->service->options('provinsi', $request->validated()),
|
||||
'Pilihan provinsi berhasil diambil'
|
||||
);
|
||||
}
|
||||
|
||||
public function kabupatenOptions(
|
||||
LookupWilayahRequest $request,
|
||||
WilayahProvinsi $provinsi
|
||||
) {
|
||||
return $this->success(
|
||||
$this->service->options('kabupaten', $request->validated(), $provinsi->id),
|
||||
'Pilihan kabupaten berhasil diambil'
|
||||
);
|
||||
}
|
||||
|
||||
public function kecamatanOptions(
|
||||
LookupWilayahRequest $request,
|
||||
WilayahKabupaten $kabupaten
|
||||
) {
|
||||
return $this->success(
|
||||
$this->service->options('kecamatan', $request->validated(), $kabupaten->id),
|
||||
'Pilihan kecamatan berhasil diambil'
|
||||
);
|
||||
}
|
||||
|
||||
public function desaOptions(
|
||||
LookupWilayahRequest $request,
|
||||
WilayahKecamatan $kecamatan
|
||||
) {
|
||||
return $this->success(
|
||||
$this->service->options('desa', $request->validated(), $kecamatan->id),
|
||||
'Pilihan desa berhasil diambil'
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user