From 275d64c5649d0983b1d50971e44fc49344791225 Mon Sep 17 00:00:00 2001 From: Mior Muhammad Zaki Date: Thu, 12 Dec 2019 09:43:26 +0800 Subject: [PATCH] Add class to update mail configuration Signed-off-by: Mior Muhammad Zaki --- src/Installation.php | 9 +++---- src/MailConfigurationUpdater.php | 42 ++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 src/MailConfigurationUpdater.php diff --git a/src/Installation.php b/src/Installation.php index 34b05af..d9df962 100644 --- a/src/Installation.php +++ b/src/Installation.php @@ -108,11 +108,10 @@ public function create(User $user, array $input): void // email configuration. $memory->put('site.name', $input['site_name']); $memory->put('site.theme', $theme); - $memory->put('email', \config('mail')); - $memory->put('email.from', [ - 'name' => $input['site_name'], - 'address' => $input['email'], - ]); + + \with(new MailConfigurationUpdater($memory), static function ($updater) use ($input) { + $updater($input['site_name'], $input['email']); + }); // We should also create a basic ACL for Orchestra Platform, since // the basic roles is create using Fluent Query Builder we need diff --git a/src/MailConfigurationUpdater.php b/src/MailConfigurationUpdater.php new file mode 100644 index 0000000..2df0fef --- /dev/null +++ b/src/MailConfigurationUpdater.php @@ -0,0 +1,42 @@ +memory = $memory; + } + + /** + * Update mail configuration. + * + * @param string $siteName + * @param string $email + * + * @return void + */ + public function __invoke(string $siteName, string $email): void + { + $this->memory->put('email', \config('mail')); + $this->memory->put('email.from', [ + 'name' => $siteName, + 'address' => $email, + ]); + } +}