2023-05-15 10:03:46 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Modules\CetakLabel\Http\Controllers\Api;
|
|
|
|
|
|
|
|
use App\Http\Controllers\ApiController;
|
|
|
|
use Exception;
|
|
|
|
use Modules\CetakLabel\Entities\Job;
|
|
|
|
use Modules\CetakLabel\Http\Requests\Job\StoreJobRequest;
|
|
|
|
use Modules\CetakLabel\Http\Requests\Job\UpdateJobRequest;
|
|
|
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
|
|
|
|
|
|
|
class JobController extends ApiController
|
|
|
|
{
|
2023-05-15 14:14:52 +00:00
|
|
|
public function index()
|
|
|
|
: JsonResponse
|
2023-05-15 10:03:46 +00:00
|
|
|
{
|
|
|
|
$jobs = Job::all();
|
|
|
|
|
|
|
|
return $this->sendResponse($jobs, 'Jobs retrieved successfully.');
|
|
|
|
}
|
|
|
|
|
2023-05-15 14:14:52 +00:00
|
|
|
public function show($job)
|
|
|
|
: JsonResponse
|
2023-05-15 10:03:46 +00:00
|
|
|
{
|
|
|
|
$job = Job::find($job);
|
|
|
|
if (is_null($job)) {
|
|
|
|
return $this->sendError('Job not found.');
|
|
|
|
}
|
|
|
|
|
|
|
|
return $this->sendResponse($job, 'Job retrieved successfully.');
|
|
|
|
}
|
|
|
|
|
2023-05-15 14:14:52 +00:00
|
|
|
public function store(StoreJobRequest $request)
|
|
|
|
: JsonResponse
|
2023-05-15 10:03:46 +00:00
|
|
|
{
|
|
|
|
// Validate the request...
|
|
|
|
$validated = $request->validated();
|
|
|
|
|
|
|
|
// Store the Job...
|
|
|
|
if ($validated) {
|
|
|
|
try {
|
|
|
|
$data = Job::create($validated);
|
|
|
|
|
|
|
|
return $this->sendResponse($data, 'Job created successfully.');
|
|
|
|
} catch (Exception $e) {
|
|
|
|
return $this->sendError($e->getMessage(), $e->getCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $this->sendError('Job created failed.', 400);
|
|
|
|
}
|
|
|
|
|
2023-05-15 14:14:52 +00:00
|
|
|
public function update(UpdateJobRequest $request, Job $job)
|
|
|
|
: JsonResponse
|
2023-05-15 10:03:46 +00:00
|
|
|
{
|
|
|
|
// Validate the request...
|
|
|
|
$validated = $request->validated();
|
|
|
|
|
|
|
|
// Store the Job...
|
|
|
|
if ($validated) {
|
|
|
|
try {
|
|
|
|
$data = $job->update($validated);
|
|
|
|
|
|
|
|
return $this->sendResponse($data, 'Job updated successfully.');
|
|
|
|
} catch (Exception $e) {
|
|
|
|
return $this->sendError($e->getMessage(), $e->getCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $this->sendError('Job created failed.', 400);
|
|
|
|
}
|
|
|
|
|
2023-05-15 14:14:52 +00:00
|
|
|
public function destroy($id)
|
|
|
|
: JsonResponse
|
2023-05-15 10:03:46 +00:00
|
|
|
{
|
|
|
|
$job = Job::find($id);
|
|
|
|
if (is_null($job)) {
|
|
|
|
return $this->sendError('Job not found.');
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
$job->delete();
|
|
|
|
|
|
|
|
return $this->sendResponse($job, 'Job deleted successfully.');
|
|
|
|
} catch (Exception $e) {
|
|
|
|
return $this->sendError($e->getMessage(), $e->getCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|