File manager - Edit - /var/www/html/pcadigital/api/app/Http/Controllers/DashboardController.php
Back
<?php namespace App\Http\Controllers; use App\Http\Resources\OccurrenceResource; use App\Http\Services\AuthService; use App\Http\Services\DashboardService; use Exception; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; /** * @OA\Tag( * name="Dashboard", * description="Endpoints de Dashboard" * ) */ class DashboardController extends Controller { private DashboardService $dashboardService; private AuthService $authService; public function __construct() { $this->dashboardService = new DashboardService(); $this->authService = new AuthService(); } /** * @OA\Get( * path="/api/dashboard/user", * summary="Dados do dashboard do usuário autenticado", * operationId="UserDashboard", * tags={"Dashboard"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="limit", * in="query", * required=false, * @OA\Schema(type="integer", default=10) * ), * @OA\Response( * response=200, * description="Dados retornados com sucesso" * ), * @OA\Response( * response=401, * description="Não autenticado ou não autorizado" * ), * @OA\Response( * response=500, * description="Erro interno do servidor" * ) * ) */ public function userDashboard(Request $request) { try { $data = $request->all(); $response = $this->authService->validateSessionUser($request, $data['user']['data']['id']); if ($response->status() != JsonResponse::HTTP_OK) { return $response; } $user = $response->json()['data']; if ($user['user_type_id'] == 2) { return response()->json( ["message" => "Usuário não autorizado"], JsonResponse::HTTP_UNAUTHORIZED ); } $response = $this->dashboardService->userDashboard($request, $user); return response()->json($response->data, $response->code); } catch (Exception $e) { return response()->json( ["message" => $e->getMessage()], JsonResponse::HTTP_INTERNAL_SERVER_ERROR ); } } /** * @OA\Get( * path="/api/dashboard/citizen/{citizenId}", * summary="Dados do dashboard de um cidadão", * operationId="CitizenDashboard", * tags={"Dashboard"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="citizenId", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response( * response=200, * description="Lista de ocorrências retornadas com sucesso" * ), * @OA\Response( * response=401, * description="Não autenticado ou não autorizado" * ) * ) */ public function citizenDashboard(Request $request, string $citizenId) { $response = $this->authService->validateSessionUser($request, $citizenId); if ($response->status() != JsonResponse::HTTP_OK) { return $response; } $user = $response->json()['data']; $response = $this->dashboardService->citizenDashboard($user); return OccurrenceResource::collection($response); } /** * @OA\Get( * path="/api/dashboard/feed/{citizenId}", * summary="Feed do dashboard para um cidadão", * operationId="FeedDashboard", * tags={"Dashboard"}, * security={{"bearerAuth":{}}}, * @OA\Parameter( * name="citizenId", * in="path", * required=true, * @OA\Schema(type="string") * ), * @OA\Response( * response=200, * description="Feed retornado com sucesso", * @OA\JsonContent(type="array", @OA\Items()) * ), * @OA\Response( * response=401, * description="Não autenticado ou não autorizado" * ) * ) */ public function feedDashboard(Request $request, string $citizenId) { $response = $this->authService->validateSessionUser($request, $citizenId); if ($response->status() != JsonResponse::HTTP_OK) { return $response; } $user = $response->json()['data']; $response = $this->dashboardService->feedDashboard($request, $user); return response()->json($response, JsonResponse::HTTP_OK); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings