From de25ed732ce66fcbb99af8700cff98367dae82d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Wed, 8 Sep 2021 17:14:39 +0200 Subject: [PATCH] Mail alert on service token generate from BO --- app/Http/Controllers/ServiceController.php | 9 ++- app/Http/Requests/GenerateApiToken.php | 30 ++++++++++ app/Mail/ServiceCredentialRenewed.php | 55 +++++++++++++++++++ .../mail/service-renewed-plain.blade.php | 8 +++ .../views/mail/service-renewed.blade.php | 13 +++++ 5 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 app/Http/Requests/GenerateApiToken.php create mode 100644 app/Mail/ServiceCredentialRenewed.php create mode 100644 resources/views/mail/service-renewed-plain.blade.php create mode 100644 resources/views/mail/service-renewed.blade.php diff --git a/app/Http/Controllers/ServiceController.php b/app/Http/Controllers/ServiceController.php index ac752ed..98cdcff 100644 --- a/app/Http/Controllers/ServiceController.php +++ b/app/Http/Controllers/ServiceController.php @@ -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'"); diff --git a/app/Http/Requests/GenerateApiToken.php b/app/Http/Requests/GenerateApiToken.php new file mode 100644 index 0000000..cecfde4 --- /dev/null +++ b/app/Http/Requests/GenerateApiToken.php @@ -0,0 +1,30 @@ +check(); + } + + /** + * Get the validation rules that apply to the request. + * + * @return array + */ + public function rules() + { + return [ + // + ]; + } +} diff --git a/app/Mail/ServiceCredentialRenewed.php b/app/Mail/ServiceCredentialRenewed.php new file mode 100644 index 0000000..5a32473 --- /dev/null +++ b/app/Mail/ServiceCredentialRenewed.php @@ -0,0 +1,55 @@ +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')) + ); + } +} diff --git a/resources/views/mail/service-renewed-plain.blade.php b/resources/views/mail/service-renewed-plain.blade.php new file mode 100644 index 0000000..b3b0c69 --- /dev/null +++ b/resources/views/mail/service-renewed-plain.blade.php @@ -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 ! diff --git a/resources/views/mail/service-renewed.blade.php b/resources/views/mail/service-renewed.blade.php new file mode 100644 index 0000000..31a1180 --- /dev/null +++ b/resources/views/mail/service-renewed.blade.php @@ -0,0 +1,13 @@ + + + + {{ 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 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 !

+ +