Files
Sio-Back/app/Providers/ResponseProvider.php
2025-12-26 17:21:11 -08:00

73 lines
1.7 KiB
PHP

<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\MessageBag;
use Log;
class ResponseProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
Response::macro('success', function ($data) {
return Response::json($data,200);
});
Response::macro('badRequest', function ($message) {
return Response::json(['error'=>$message],400);
});
Response::macro('unauthorized', function ($reason) {
return Response::json(['error'=>$reason],401);
});
Response::macro('forbidden', function ($reason) {
return Response::json(['error'=>$reason],403);
});
Response::macro('notFound', function ($reason) {
return Response::json(['error'=>$reason],404);
});
Response::macro('unprocessable', function ($message, $errors=[]) {
if($errors instanceof MessageBag){
$err = [];
foreach ($errors->toArray() as $error) {
$err[] = $error[0];
}
$errors = $err;
}
Log::info("Error - Mensaje: $message - Errors: ".json_encode($errors));
return Response::json(['message'=>$message,'errors'=>$errors],422);
});
Response::macro('tooManyAttempts', function ($reason) {
return Response::json(['error'=>$reason],423);
});
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}