diff --git a/app/Observer/UserObserver.php b/app/Observer/UserObserver.php index 98222809c..f2c523852 100644 --- a/app/Observer/UserObserver.php +++ b/app/Observer/UserObserver.php @@ -3,6 +3,7 @@ namespace App\Observers; use App\{Profile, User}; +use App\Jobs\AvatarPipeline\CreateAvatar; class UserObserver { @@ -14,11 +15,26 @@ class UserObserver */ public function saved(User $user) { - if($user->has('profile')->count() == 0) { + if(empty($user->profile)) { $profile = new Profile; $profile->user_id = $user->id; $profile->username = $user->username; + $profile->name = $user->name; + $pkiConfig = [ + "digest_alg" => "sha512", + "private_key_bits" => 2048, + "private_key_type" => OPENSSL_KEYTYPE_RSA, + ]; + $pki = openssl_pkey_new($pkiConfig); + openssl_pkey_export($pki, $pki_private); + $pki_public = openssl_pkey_get_details($pki); + $pki_public = $pki_public['key']; + + $profile->private_key = $pki_private; + $profile->public_key = $pki_public; $profile->save(); + + CreateAvatar::dispatch($user); } }