From 82053a9c500548dc10cb452b7dedf47294e3b25a Mon Sep 17 00:00:00 2001 From: NOZTDEV <1abelpacheco9@gmail.com> Date: Tue, 3 Dec 2024 23:30:25 -0400 Subject: [PATCH] avance de avisos en el back --- app/Http/Controllers/Api/MailController.php | 63 +++++++++++++++++++++ app/Http/Resources/Api/UserResource.php | 1 + app/Mail/Mails.php | 2 + resources/views/emails/sendAvisos.blade.php | 11 ++++ routes/api.php | 1 + 5 files changed, 78 insertions(+) create mode 100644 resources/views/emails/sendAvisos.blade.php diff --git a/app/Http/Controllers/Api/MailController.php b/app/Http/Controllers/Api/MailController.php index 50cb3b5..4736208 100644 --- a/app/Http/Controllers/Api/MailController.php +++ b/app/Http/Controllers/Api/MailController.php @@ -9,6 +9,7 @@ use Illuminate\Support\Str; use App\Http\Controllers\Api\PermissionsController; use App\Http\Requests\Api\PermissionRequest; +use App\Http\Requests\Api\UserRequest; use Illuminate\Support\Facades\Log; class MailController extends Controller @@ -49,4 +50,66 @@ public function sendEmail(Request $request) return response()->json(["message" => "Correo enviado a $recipientEmail"]); } + /* + public function sendAvisos(UserRequest $request){ + $correos = $request->input("emailuser"); + $details = "hola mundo"; + Mail::to("1abelpacheco9@gmail.com")->send(new Mails($details)); + return "correo enviado"; + } + */ + /* + public function sendAvisos(UserRequest $request) + { + // Obtener los correos del request + $correos = $request->input("emailuser"); + + // Verificar si $correos es un array + if (!is_array($correos) || empty($correos)) { + return response()->json(["message" => "No se proporcionaron correos validos."], 400); + } + + // Detalles del correo + $details = [ + 'title' => "Aviso importante", + 'body' => "Este es un aviso para todos los destinatarios." + ]; + + // Enviar el correo a cada dirección + try { + foreach ($correos as $correo) { + Mail::to($correo)->send(new Mails($details)); + } + return response()->json(["message" => "Correos enviados exitosamente."]); + } catch (\Exception $e) { + Log::error('Error al enviar correos: ' . $e->getMessage()); + return response()->json(["message" => "Error al enviar los correos."], 500); + } + } + */ + public function sendAvisos(UserRequest $request) + { + // Correos de prueba + $correos = [ + "202000212@est.umss.edu", + "1abelpacheco9@gmail.com", + ]; + + // Detalles del correo + $details = [ + 'title' => "Aviso importante", + 'body' => "Este es un aviso para todos los destinatarios." + ]; + + // Enviar el correo a cada dirección + try { + foreach ($correos as $correo) { + Mail::to($correo)->send(new Mails($details)); + } + return response()->json(["message" => "Correos enviados exitosamente."]); + } catch (\Exception $e) { + Log::error('Error al enviar correos: ' . $e->getMessage()); + return response()->json(["message" => "Error al enviar los correos."], 500); + } + } } \ No newline at end of file diff --git a/app/Http/Resources/Api/UserResource.php b/app/Http/Resources/Api/UserResource.php index 4636b0e..0e8bcec 100644 --- a/app/Http/Resources/Api/UserResource.php +++ b/app/Http/Resources/Api/UserResource.php @@ -31,6 +31,7 @@ public function toArray($request) 'Imagen_Perfil' => $this->user->profileuser, ]; }), + //array de correos 'Imagen_Perfil' => $this->profileuser, 'created_at' => Carbon::parse($this->created_at)->format('d/m/Y - H:i:s'), 'updated_at' => Carbon::parse($this->updated_at)->format('d/m/Y - H:i:s'), diff --git a/app/Mail/Mails.php b/app/Mail/Mails.php index 271f860..93394d3 100644 --- a/app/Mail/Mails.php +++ b/app/Mail/Mails.php @@ -32,6 +32,8 @@ public function build() { return $this->subject('Código secreto') ->view('emails.sendEmails') + ->with('details', $this->details) + ->view('emails.sendAvisos') ->with('details', $this->details); } } diff --git a/resources/views/emails/sendAvisos.blade.php b/resources/views/emails/sendAvisos.blade.php new file mode 100644 index 0000000..503140d --- /dev/null +++ b/resources/views/emails/sendAvisos.blade.php @@ -0,0 +1,11 @@ + + +
+ +{{ $details['body'] }}
+ + diff --git a/routes/api.php b/routes/api.php index 35d7ed2..fc01d1f 100644 --- a/routes/api.php +++ b/routes/api.php @@ -37,6 +37,7 @@ // Route::get('sendEmail', [MailController::class, 'sendEmail']); Route::post('sendEmail', [MailController::class, 'sendEmail']); +Route::post('sendAvisos', [MailController::class, 'sendAvisos']); Route::middleware('auth:sanctum')->get('/user', function (Request $request) { return new UserResource($request->user()->load(['roles', 'user']));