This commit is contained in:
Ubuntu 2023-12-13 21:46:39 +00:00
commit ce54f362d7
25 changed files with 195 additions and 454 deletions

View File

@ -2,6 +2,7 @@
namespace App\Exceptions;
use App\Helpers\ResponseJson;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\App;
use Illuminate\Database\QueryException;
@ -149,6 +150,6 @@ class Handler extends ExceptionHandler
{
[$message, $status_code] = $this->messageCustom($ex);
return response()->json(['error' => $message], $status_code);
return ResponseJson::error($message, $status_code);
}
}

View File

@ -0,0 +1,25 @@
<?php
namespace App\Helpers;
use Illuminate\Http\Response;
use Illuminate\Http\JsonResponse;
class ResponseJson
{
public static function message(string $message, $status_code = Response::HTTP_OK): JsonResponse
{
return response()->json(compact('message'), $status_code);
}
public static function data(mixed $data, $status_code = Response::HTTP_OK): JsonResponse
{
return response()->json(compact('data'), $status_code);
}
public static function error(mixed $error, int $status_code): JsonResponse
{
return response()->json(compact('error'), $status_code);
}
}

View File

@ -2,13 +2,14 @@
namespace App\Http\Controllers\Auth;
use App\Models\User;
use App\Helpers\ResponseJson;
use App\Http\Controllers\Controller;
use App\Http\Requests\LoginResquest;
use App\Models\User;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
use Laravel\Sanctum\PersonalAccessToken;
use Illuminate\Support\Facades\Auth;
class AuthController extends Controller
{
@ -16,41 +17,32 @@ class AuthController extends Controller
{
$credentials = $request->only('email', 'password');
if (!auth()->attempt($credentials))
{
if (!auth()->attempt($credentials)) {
abort(401, 'Inavalid Credentials');
}
$user = User::with('roles')->where('email', $credentials['email'])->firstOrFail();
$token = $user->createToken('API Token', $user->roles->pluck('name')->toArray());
$token = $user->createToken(
'API Token',
$user->roles->pluck('name')->toArray()
);
return response()->json([
'token' => $token->plainTextToken,
'user' => $user
], 200);
}
public function logout(Request $request): JsonResponse
{
$requestToken = $request->header('authorization');
/**
* @var \App\Models\User|null;
*/
$user = Auth::user();
$array = Str::of($requestToken)->explode('|');
$user?->currentAccessToken()?->delete();
$token = (new PersonalAccessToken())
->findToken($array->offsetGet(1));
if (!$token){
return response()->json([
'message' => 'Token has already been revoked.'
], 500);
}
$token->delete();
return response()->json([
'message' => 'Token Revoked.'
], 200);
return ResponseJson::message('Token Revoked.');
}
}

View File

@ -4,10 +4,10 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Http\Resources\DadosCadastraisResponse;
use App\Repositories\DadosCadastrais\DadosCadastraisContractInterface;
use App\Traits\ApiResponse;
use Illuminate\Http\Response;
use App\Helpers\ResponseJson;
use App\Repositories\DadosCadastrais\DadosCadastraisContractInterface;
use Illuminate\Http\Request;
class ClientController extends Controller
@ -15,19 +15,14 @@ class ClientController extends Controller
use ApiResponse;
public function __construct(
protected DadosCadastraisContractInterface $dadosCadastraisContract)
{
protected DadosCadastraisContractInterface $dadosCadastraisContract
) {
}
public function index(Request $request)
{
try {
$response = $this->dadosCadastraisContract->search($request->all());
return (new DadosCadastraisResponse($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
}

View File

@ -4,12 +4,12 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Http\Resources\EconomyResource;
use App\Helpers\ResponseJson;
use App\Repositories\Economy\EconomyContractInterface;
use App\Traits\ApiResponse;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class EconomyController extends Controller
{
@ -24,14 +24,14 @@ class EconomyController extends Controller
{
$response = $this->economyContract->search($request->all());
return response()->json($response, Response::HTTP_OK);
return ResponseJson::data($response);
}
public function grossAnnualEconomy(Request $request): JsonResponse
{
$response = $this->economyContract->getGrossAnnualEconomy($request->all());
return response()->json($response, Response::HTTP_OK);
return ResponseJson::data($response);
}
public function grossMonthlyEconomy(Request $request): JsonResponse
@ -39,20 +39,20 @@ class EconomyController extends Controller
$response = $this->economyContract->getGrossMonthlyEconomy($request->all());
return response()->json($response, Response::HTTP_OK);
return ResponseJson::data($response);
}
public function captiveMonthlyEconomy(Request $request): JsonResponse
{
$response = $this->economyContract->getCaptiveMonthlyEconomy($request->all());
return response()->json($response, Response::HTTP_OK);
return ResponseJson::data($response);
}
public function costMWhEconomy(Request $request): JsonResponse
{
$response = $this->economyContract->getCostMWhEconomy($request->all());
return response()->json($response, Response::HTTP_OK);
return ResponseJson::data($response);
}
}

View File

@ -4,9 +4,10 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Http\Resources\FaqResource;
use App\Repositories\Faqs\FaqContractInterface;
use App\Traits\ApiResponse;
use App\Helpers\ResponseJson;
use App\Repositories\Faqs\FaqContractInterface;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
@ -17,64 +18,41 @@ class FaqController extends Controller
public function __construct(
protected FaqContractInterface $faq
){}
) {
}
public function index(): JsonResponse
{
try {
$response = $this->faq->all();
return (new FaqResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function store(Request $notificationRequest): JsonResponse
{
try {
$response = $this->faq->create($notificationRequest->all());
return (new FaqResource($response))
->response()
->setStatusCode(Response::HTTP_CREATED);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response, Response::HTTP_CREATED);
}
public function show(int $id): JsonResponse
{
try {
$response = $this->faq->find($id);
return (new FaqResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function update(Request $request, $id): JsonResponse
{
try {
$response = $this->faq->update($request->all(), $id);
return (new FaqResource($response))
->response()
->setStatusCode(Response::HTTP_ACCEPTED);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function destroy($id): JsonResponse
{
try {
$response = $this->faq->destroy($id);
return response()->json($response, Response::HTTP_NO_CONTENT);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
}
return ResponseJson::data($response);
}
}

View File

@ -4,27 +4,31 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Http\Resources\NewsResource;
use Carbon\Carbon;
use DateTimeZone;
use Illuminate\Http\Response;
use App\Helpers\ResponseJson;
use Illuminate\Support\Arr;
use Illuminate\Support\Carbon;
class NewsController extends Controller
{
public function send()
{
try {
$xmlObject = xmlToObject(config('services.webhook.news'));
$resource = @json_decode(@json_encode($xmlObject->children()), true);
$resource = \json_decode(
\json_encode($xmlObject->children()),
true
);
$resource = collect($resource['channel']['item'])
->transform(fn($item)
=> Arr::set($item, 'pubDate', Carbon::parse($item['pubDate'])->translatedFormat('D, d F Y H:i:s')));
return (new NewsResource($resource))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
->transform(
fn ($item) => Arr::set(
$item,
'pubDate',
Carbon::parse($item['pubDate'])->translatedFormat('D, d F Y H:i:s')
)
);
return ResponseJson::data($resource);
}
}

View File

@ -4,10 +4,11 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Helpers\ResponseJson;
use App\Http\Requests\StoreNotificationRequest;
use App\Http\Resources\NotificationResource;
use App\Repositories\Notifications\NotificationContractInterface;
use App\Traits\ApiResponse;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;
@ -18,75 +19,49 @@ class NotificationController extends Controller
public function __construct(
protected NotificationContractInterface $notification
){}
) {
}
public function index(): JsonResponse
{
try {
$response = $this->notification->all();
return (new NotificationResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function store(StoreNotificationRequest $request): JsonResponse
{
try {
$response = $this->notification->create($request->validated());
$response->users()->sync($request->input('users.*.user_id', []));
return (new NotificationResource($response))
->response()
->setStatusCode(Response::HTTP_CREATED);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response, Response::HTTP_CREATED);
}
public function show(int $id): JsonResponse
{
try {
$response = $this->notification->find($id);
return (new NotificationResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function update(Request $request, $id): JsonResponse
{
try {
$response = $this->notification->update($request->all(), $id);
return (new NotificationResource($response))
->response()
->setStatusCode(Response::HTTP_ACCEPTED);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function destroy($id): JsonResponse
{
try {
$response = $this->notification->destroy($id);
return response()->json($response, Response::HTTP_NO_CONTENT);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function notify()
{
try {
$response = $this->notification->getNotify();
return response()->json($response, Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
}

View File

@ -5,12 +5,11 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Helpers\Helpers;
use App\Http\Resources\OperationSummaryResource;
use App\Repositories\DadosTe\DadosTeContractInterface;
use App\Traits\ApiResponse;
use DateTime;
use App\Helpers\ResponseJson;
use App\Repositories\DadosTe\DadosTeContractInterface;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class OperationSummaryController extends Controller
{
@ -18,33 +17,21 @@ class OperationSummaryController extends Controller
public function __construct(
protected DadosTeContractInterface $dadosTeContract
)
{
) {
}
public function index(Request $request)
{
try {
$response = $this->dadosTeContract->search($request->all(), true);
$response = Helpers::orderByDate($response, 'm/Y');
return (new OperationSummaryResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function operationSummary(Request $request)
{
try {
$response = $this->dadosTeContract->getOperationSummary($request->all());
return (new OperationSummaryResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
}
return ResponseJson::data($response);
}
}

View File

@ -5,11 +5,11 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Helpers\Helpers;
use App\Http\Resources\PldResource;
use App\Repositories\Pld\PldContractInterface;
use App\Helpers\ResponseJson;
use App\Traits\ApiResponse;
use App\Repositories\Pld\PldContractInterface;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class PldController extends Controller
{
@ -18,66 +18,42 @@ class PldController extends Controller
public function __construct(
protected PldContractInterface $pldContract
){}
) {
}
public function index(Request $request)
{
try {
$response = $this->pldContract->search($request->all());
$response = Helpers::orderByDate($response, 'm/Y', 'mes_ref');
return (new PldResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function overviewByRegion()
{
try {
$response = $this->pldContract->getOverviewByRegion();
return (new PldResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function listConsumption(Request $request)
{
try {
$response = $this->pldContract->getListConsumption($request->all());
return (new PldResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function consumptionByDaily(Request $request)
{
try {
$response = $this->pldContract->getConsumptionByDaily($request->all());
return (new PldResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function consumptionBySchedule(Request $request)
{
try {
$response = $this->pldContract->getConsumptionBySchedule($request->all());
return (new PldResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
}catch (\Exception $ex){
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
}

View File

@ -4,6 +4,7 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Helpers\ResponseJson;
use App\Http\Resources\TelemetryResource;
use App\Repositories\Med5min\Med5minContractInterface;
use App\Traits\ApiResponse;
@ -17,42 +18,27 @@ class TelemetryController extends Controller
public function __construct(
protected Med5minContractInterface $med5minContract
){}
) {
}
public function index(Request $request)
{
try {
$response = $this->med5minContract->search($request->all());
return (new TelemetryResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function discretization(Request $request)
{
try {
$response = $this->med5minContract->getDiscretization($request->all(), $request->getPathInfo());
return (new TelemetryResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
return ResponseJson::data($response);
}
public function download(Request $request)
{
try {
$response = $this->med5minContract->getDiscretization($request->all(), $request->getPathInfo());
return (new TelemetryResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
} catch (\Exception $ex) {
return $this->errorResponse(false, $ex->getMessage(), Response::HTTP_INTERNAL_SERVER_ERROR);
}
}
return ResponseJson::data($response);
}
}

View File

@ -4,9 +4,9 @@ declare(strict_types=1);
namespace App\Http\Controllers;
use App\Helpers\ResponseJson;
use App\Http\Requests\ImportUsersWithSmartUsersRequest;
use App\Traits\ApiResponse;
use App\Http\Resources\UserResource;
use App\Http\Requests\StoreUserRequest;
use App\Imports\UsersWithSmartUsersImport;
use App\Repositories\Users\UserContractInterface;
@ -36,9 +36,7 @@ class UserController extends Controller
{
$response = $this->user->getOrdered();
return (new UserResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
return ResponseJson::data($response);
}
/**
@ -62,9 +60,7 @@ class UserController extends Controller
$response = $this->user->create($data);
$response->roles()->sync($data['role']);
return (new UserResource($response))
->response()
->setStatusCode(Response::HTTP_CREATED);
return ResponseJson::data($response, Response::HTTP_CREATED);
}
/**
@ -77,9 +73,7 @@ class UserController extends Controller
{
$response = $this->user->find($id);
return (new UserResource($response))
->response()
->setStatusCode(Response::HTTP_OK);
return ResponseJson::data($response);
}
/**
@ -95,9 +89,7 @@ class UserController extends Controller
$data['password'] = $request->password;
$response = $this->user->update($data, $id);
return (new UserResource($response))
->response()
->setStatusCode(Response::HTTP_ACCEPTED);
return ResponseJson::data($response);
}
/**
@ -134,9 +126,7 @@ class UserController extends Controller
disk: $disk,
);
return response()
->json(['message' => 'Dados importados com sucesso!'])
->setStatusCode(Response::HTTP_CREATED);
return ResponseJson::message('Dados importados com sucesso!', Response::HTTP_CREATED);
} catch (\Throwable $th) {
throw $th;
} finally {

View File

@ -1,16 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class AboutUsResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class DadosCadastraisResponse extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class EconomyResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,16 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class FaqResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class NewsResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class NotificationResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class OperationSummaryResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class OverviewResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class PldResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,17 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Resources\Json\JsonResource;
class TelemetryResource extends JsonResource
{
public function toArray($request): array|\JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

View File

@ -1,19 +0,0 @@
<?php
declare(strict_types=1);
namespace App\Http\Resources;
use Illuminate\Contracts\Support\Arrayable;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use JsonSerializable;
class UserResource extends JsonResource
{
public function toArray($request): array|JsonSerializable|Arrayable
{
return parent::toArray($request);
}
}

12
insertEconomy.php Normal file

File diff suppressed because one or more lines are too long

View File

@ -14,11 +14,11 @@ use Illuminate\Support\Facades\Route;
Route::prefix('auth')->group(function (){
Route::post('login', [\App\Http\Controllers\Auth\AuthController::class, 'login']);
Route::post('logout', [\App\Http\Controllers\Auth\AuthController::class, 'logout']);
Route::post('/forgot-password', \App\Http\Controllers\Auth\ForgotPasswordController::class);
Route::post('/reset-password', \App\Http\Controllers\Auth\ResetPasswordController::class);
});
/* --- Routes verified --- */
Route::middleware(['auth:sanctum', 'verified'])->group(function () {
Route::get('notification', [\App\Http\Controllers\NotificationController::class, 'index']);
Route::get('notification/{notification}', [\App\Http\Controllers\NotificationController::class, 'show']);
@ -35,6 +35,7 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function () {
Route::get('download', [\App\Http\Controllers\InfoSectorialController::class, 'download']);
});
/* --- Routes Admin --- */
Route::middleware(['auth:sanctum', 'ability:Admin'])->group(function () {
Route::apiResource('user', \App\Http\Controllers\UserController::class);
@ -53,6 +54,7 @@ Route::middleware(['auth:sanctum', 'ability:Admin'])->group(function () {
Route::post('sendFile', [\App\Http\Controllers\FileController::class, 'store']);
});
/* --- Routes Client --- */
Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
Route::post('pld/overview', [\App\Http\Controllers\PldController::class, 'overviewByRegion']); //Visão Geral por Região
@ -81,4 +83,9 @@ Route::middleware(['auth:sanctum', 'ability:Client'])->group(function () {
});
/* --- Routes Admin and Client --- */
Route::middleware(['auth:sanctum', 'ability:Admin,Client'])->group(function() {
Route::post('logout', [\App\Http\Controllers\Auth\AuthController::class, 'logout']);
});
Route::post('import', [\App\Http\Controllers\UserController::class, 'importUserControll']);