DashboardController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Services\DashboardService;
  4. use App\Http\Resources\DashboardClienteResource;
  5. use App\Http\Resources\DashboardPrestadorResource;
  6. use Illuminate\Http\JsonResponse;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\Log;
  9. class DashboardController extends Controller
  10. {
  11. public function __construct(private readonly DashboardService $service) {}
  12. public function dadosDashboardCliente(): JsonResponse
  13. {
  14. try {
  15. $dados = $this->service->dadosDashboardCliente();
  16. return $this->successResponse(
  17. payload: new DashboardClienteResource($dados),
  18. );
  19. } catch (\Exception $e) {
  20. Log::error("Erro ao obter dados do dashboard do cliente: " . $e->getMessage());
  21. return $this->errorResponse(message: __("messages.error_fetching_data"), code: 500);
  22. }
  23. }
  24. public function dadosDashboardPrestador(): JsonResponse
  25. {
  26. try {
  27. $dados = $this->service->dadosDashboardPrestador();
  28. return $this->successResponse(
  29. payload: new DashboardPrestadorResource($dados),
  30. );
  31. } catch (\Exception $e) {
  32. Log::error("Erro ao obter dados do dashboard do prestador: " . $e->getMessage());
  33. return $this->errorResponse(message: __("messages.error_fetching_data"), code: 500);
  34. }
  35. }
  36. }