| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace App\Http\Controllers;
- use App\Http\Requests\CustomScheduleRequest;
- use App\Http\Resources\CustomScheduleResource;
- use App\Services\CustomScheduleService;
- use Illuminate\Http\JsonResponse;
- class CustomScheduleController extends Controller
- {
- protected $customScheduleService;
- public function __construct(CustomScheduleService $customScheduleService)
- {
- $this->customScheduleService = $customScheduleService;
- }
- public function index(): JsonResponse
- {
- $customSchedules = $this->customScheduleService->getAll();
- return $this->successResponse(
- CustomScheduleResource::collection($customSchedules),
- );
- }
- public function store(CustomScheduleRequest $request): JsonResponse
- {
- try {
- $validated = $request->validated();
- $customSchedules = $this->customScheduleService->create($validated);
-
- $count = count($customSchedules);
- $message = $count > 1
- ? "{$count} oportunidades criadas com sucesso!"
- : __("messages.created");
- return $this->successResponse(
- payload: CustomScheduleResource::collection($customSchedules),
- message: $message,
- code: 201,
- );
- } catch (\Exception $e) {
- return $this->errorResponse($e->getMessage(), 422);
- }
- }
- public function show(string $id): JsonResponse
- {
- $customSchedule = $this->customScheduleService->getById($id);
- return $this->successResponse(
- new CustomScheduleResource($customSchedule),
- );
- }
- public function update(CustomScheduleRequest $request, string $id): JsonResponse
- {
- try {
- $customSchedule = $this->customScheduleService->update($id, $request->validated());
- return $this->successResponse(
- payload: new CustomScheduleResource($customSchedule),
- message: __("messages.updated"),
- );
- } catch (\Exception $e) {
- return $this->errorResponse($e->getMessage(), 422);
- }
- }
- public function destroy(string $id): JsonResponse
- {
- try {
- $this->customScheduleService->delete($id);
- return $this->successResponse(
- message: __("messages.deleted"),
- );
- } catch (\Exception $e) {
- return $this->errorResponse($e->getMessage(), 422);
- }
- }
- }
|