102 lines
3.1 KiB
Plaintext
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!');
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|