File: /var/www/api_matriculas/app/Http/Controllers/CourseController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\Course\StoreCourseRequest;
use App\Http\Requests\Course\UpdateCourseRequest;
use App\Services\CourseService;
use Exception;
class CourseController extends Controller
{
protected $courseService;
public function __construct(CourseService $courseService)
{
$this->courseService = $courseService;
}
public function list($allData = false)
{
try {
$data = $this->courseService->list($allData);
return genericResponse(['data' => $data, 'message' => 'ok', 'code' => 200], 200);
} catch (Exception $e) {
$errorCode = $e->getCode();
return genericResponse(['error' => $e->getMessage()], $errorCode ? $errorCode : 500);
}
}
public function store(StoreCourseRequest $request)
{
try {
$data = $this->courseService->store($request);
return genericResponse(['data' => $data, 'message' => 'Curso Creado Correctamente', 'code' => 201], 201);
} catch (Exception $e) {
$errorCode = $e->getCode();
return genericResponse(['error' => $e->getMessage()], $errorCode ? $errorCode : 500);
}
}
public function update($id, UpdateCourseRequest $request)
{
try {
$data = $this->courseService->update($request, $id);
return genericResponse(['data' => null, 'message' => null, 'code' => 204], 204);
} catch (Exception $e) {
$errorCode = $e->getCode();
return genericResponse(['error' => $e->getMessage()], $errorCode ? $errorCode : 500);
}
}
public function show($id)
{
try {
$data = $this->courseService->show($id);
return genericResponse(['data' => $data, 'message' => 'ok', 'code' => 200], 200);
} catch (Exception $e) {
$errorCode = $e->getCode();
return genericResponse(['error' => $e->getMessage()], $errorCode ? $errorCode : 500);
}
}
public function destroy($id)
{
try {
$data = $this->courseService->delete($id);
return genericResponse(['data' => null, 'message' => 'Curso Eliminado correctamente', 'code' => 200], 200);
} catch (Exception $e) {
$errorCode = $e->getCode();
return genericResponse(['error' => $e->getMessage()], $errorCode ? $errorCode : 500);
}
}
}