Test ses connection before storing credentials into the app

This commit is contained in:
Čarodej
2022-04-08 10:30:44 +02:00
parent 9a15f2ecd8
commit 9de6c65643
7 changed files with 105 additions and 21 deletions

View File

@@ -6,6 +6,7 @@ use Illuminate\Http\JsonResponse;
use App\Http\Controllers\Controller;
use Domain\Settings\DTO\S3CredentialsData;
use Domain\Settings\Actions\TestS3ConnectionAction;
use Domain\Settings\Actions\TestSESConnectionAction;
use Domain\Settings\Actions\TestSMTPConnectionAction;
use Domain\Settings\Actions\TestMailgunConnectionAction;
use Domain\Settings\Actions\TestPostmarkConnectionAction;
@@ -15,6 +16,7 @@ class StoreEnvironmentSettingsController extends Controller
{
public function __construct(
private TestS3ConnectionAction $testS3Connection,
private TestSESConnectionAction $testSESConnection,
private TestSMTPConnectionAction $testSMTPConnection,
private TestMailgunConnectionAction $testMailgunConnection,
private TestPostmarkConnectionAction $testPostmarkConnection,
@@ -53,6 +55,13 @@ class StoreEnvironmentSettingsController extends Controller
'token' => $request->input('postmark.token'),
'sender' => $request->input('postmark.sender'),
]),
'ses' => ($this->testSESConnection)([
'access_key' => $request->input('ses.access_key'),
'secret_access_key' => $request->input('ses.secret_access_key'),
'default_region' => $request->input('ses.default_region'),
'session_token' => $request->input('ses.session_token'),
'identity' => $request->input('ses.sender'),
]),
};
$setup = [
@@ -116,6 +125,8 @@ class StoreEnvironmentSettingsController extends Controller
'AWS_SECRET_ACCESS_KEY' => $request->input('ses.secret_access_key'),
'AWS_DEFAULT_REGION' => $request->input('ses.default_region'),
'AWS_SESSION_TOKEN' => $request->input('ses.session_token'),
'MAIL_FROM_ADDRESS' => $request->input('ses.sender'),
'MAIL_FROM_NAME' => $request->input('ses.sender'),
],
'mailgun' => [
'MAIL_DRIVER' => 'mailgun',