Files
kulakpos_web/public/restaurant/resources/stubs/api-controller.stub

102 lines
3.1 KiB
Plaintext

<?php
namespace DummyNamespace;
use App\Http\Controllers\Controller;
use App\Http\Requests\DummyModel\DummyModelStoreRequest;
use App\Http\Requests\DummyModel\DummyModelUpdateRequest;
use App\Services\DummyModel\DummyModelService;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Traits\ResponseTrait;
class DummyClass extends Controller
{
use ResponseTrait;
public function __construct(
private DummyModelService $service
) {}
public function all(Request $request)
{
$models = $this->service->getAll($request);
$metadata['count'] = count($models);
if(!$models){
return $this->ResponseError([], null, 'No Data Found!');
}
return $this->ResponseSuccess($models, $metadata, 'DummyModel has been fetch successfully.');
}
public function index(Request $request)
{
$perPage = request('per_page') ?? env('PER_PAGE');
$models = $this->service->index($request, $perPage);
if(!$models){
return $this->ResponseError([], null, 'No Data Found!');
}
return $this->ResponseSuccess($models, null, 'DummyModel has been fetch successfully.');
}
public function store(DummyModelStoreRequest $request)
{
DB::beginTransaction();
try {
$data = $this->service->create($request->validated());
DB::commit();
return $this->ResponseSuccess($data, [], 'DummyModel has been create successfully.');
} catch (\Exception $e) {
DB::rollBack();
return $this->ResponseError($e->getMessage(). " in " . $e->getFile() . " on line " . $e->getLine(), null, 'Data Process Error!');
}
}
public function show(int $id)
{
$model = $this->service->getById($id);
if(!$model){
return $this->ResponseError([], null, 'No Data Found!');
}
return $this->ResponseSuccess($model, null, 'DummyModel has been show successfully.');
}
public function update(DummyModelUpdateRequest $request, int $id)
{
DB::beginTransaction();
try {
$data = $this->service->update($id, $request->validated());
DB::commit();
return $this->ResponseSuccess($data, null, 'DummyModel has been update successfully.');
} catch (\Exception $e) {
DB::rollBack();
return $this->ResponseError($e->getMessage(). " in " . $e->getFile() . " on line " . $e->getLine(), null, 'Data Process Error!');
}
}
public function destroy(int $id)
{
DB::beginTransaction();
try {
$data = $this->service->delete($id);
if(!$data){
return $this->ResponseError([], null, 'Data Not Found!', 204);
}
DB::commit();
return $this->ResponseSuccess($data, null, 'DummyModel has been delete successfully.', 200);
} catch (\Exception $e) {
DB::rollBack();
return $this->ResponseError($e->getMessage(). " in " . $e->getFile() . " on line " . $e->getLine(), null, 'Data Not Found!');
}
}
}