Mail alert on service token generate from BO
This commit is contained in:
parent
72a5b73902
commit
de25ed732c
5 changed files with 114 additions and 1 deletions
|
|
@ -2,7 +2,10 @@
|
|||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\GenerateApiToken;
|
||||
use App\Mail\ServiceCredentialRenewed;
|
||||
use App\Models\Service;
|
||||
use Illuminate\Support\Facades\Mail;
|
||||
use Kwaadpepper\CrudPolicies\Http\Requests\CrudIndexRequest;
|
||||
use Kwaadpepper\CrudPolicies\Traits\CrudController;
|
||||
|
||||
|
|
@ -27,11 +30,15 @@ class ServiceController extends Controller
|
|||
return view('service.index', $view->getData());
|
||||
}
|
||||
|
||||
public function generateApiToken(Service $service)
|
||||
// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.FoundInExtendedClassBeforeLastUsed
|
||||
public function generateApiToken(GenerateApiToken $request, Service $service)
|
||||
{
|
||||
/** @var \App\Models\User $user */
|
||||
$user = auth()->user();
|
||||
$bearerToken = $service->generateBearerToken();
|
||||
$bearerPwd = $service->bearer_pwd;
|
||||
$service->saveOrFail();
|
||||
Mail::send(new ServiceCredentialRenewed($service, $user));
|
||||
return back()
|
||||
// phpcs:ignore Generic.Files.LineLength.TooLong
|
||||
->with('error', "ATTENTION : METTEZ À JOUR LE SITE ! \nNouveau token d'API de $service->name : '$bearerToken' et mot de passe '$bearerPwd'");
|
||||
|
|
|
|||
30
app/Http/Requests/GenerateApiToken.php
Normal file
30
app/Http/Requests/GenerateApiToken.php
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class GenerateApiToken extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
//
|
||||
];
|
||||
}
|
||||
}
|
||||
55
app/Mail/ServiceCredentialRenewed.php
Normal file
55
app/Mail/ServiceCredentialRenewed.php
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<?php
|
||||
|
||||
namespace App\Mail;
|
||||
|
||||
use App\Models\Service;
|
||||
use App\Models\User;
|
||||
use Illuminate\Mail\Mailable;
|
||||
|
||||
class ServiceCredentialRenewed extends Mailable
|
||||
{
|
||||
|
||||
/**
|
||||
* The concerned service
|
||||
*
|
||||
* @var \App\Models\Service
|
||||
*/
|
||||
public $service;
|
||||
|
||||
/**
|
||||
* The user who did the action
|
||||
*
|
||||
* @var \App\Models\User
|
||||
*/
|
||||
public $user;
|
||||
|
||||
/**
|
||||
* Create a new message instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Service $service, User $user)
|
||||
{
|
||||
$this->service = $service;
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build the message.
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function build()
|
||||
{
|
||||
return $this->view('mail.service-renewed')
|
||||
->subject('!!! Warning !!!, New service credential have been generated !')
|
||||
->text('mail.service-renewed-plain')
|
||||
->with('appName', config('app.name'))
|
||||
->with('service', $this->service)
|
||||
->with('by', sprintf('%s %s (%s)', $this->user->firstname, $this->user->lastname, $this->user->email))
|
||||
->to(
|
||||
config('mail.contactsList.serviceweb', 'equipe.web@ldc.fr'),
|
||||
sprintf('%s service warning', config('app.name'))
|
||||
);
|
||||
}
|
||||
}
|
||||
8
resources/views/mail/service-renewed-plain.blade.php
Normal file
8
resources/views/mail/service-renewed-plain.blade.php
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
{{ config('app.name') }} Service Warning
|
||||
|
||||
Un service vient d'être régénéré sur {{ $appName }}
|
||||
{{ $service->name }} (marque : {{ $service->brand->name }})
|
||||
Régénéré le {{ $service->updated_at->format('D/m/Y H:i') }}
|
||||
par {{ $by }}
|
||||
Celà va empêcher le service de fonctionner tant que les crédentials d'api n'auront pas été mis à jour sur le service concerné, veuillez faire au plus vite !
|
||||
13
resources/views/mail/service-renewed.blade.php
Normal file
13
resources/views/mail/service-renewed.blade.php
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>{{ config('app.name') }} Service Warning</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>Un service vient d'être régénéré sur {{ $appName }}</h1>
|
||||
<h2>{{ $service->name }} (marque : {{ $service->brand->name }})</h2>
|
||||
<h3>Régénéré le {{ $service->updated_at->format('D d/m/Y H:i') }} <br> par {{ $by }}</h3>
|
||||
<p><b>Celà va empêcher le service de fonctionner</b> tant que les crédentials d'api n'auront pas été mis à jour sur le service concerné, veuillez faire au plus vite !</p>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Reference in a new issue