From 861f5ce7ab23ace8f390efc46f6e21ac80606860 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sat, 8 Dec 2018 19:36:03 -0700 Subject: [PATCH] Update AuthLogin Listener --- app/Listeners/AuthLogin.php | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/app/Listeners/AuthLogin.php b/app/Listeners/AuthLogin.php index 79e9c5ea..777ff5e1 100644 --- a/app/Listeners/AuthLogin.php +++ b/app/Listeners/AuthLogin.php @@ -30,22 +30,29 @@ class AuthLogin ]); }); } - $this->warmCache($user); - } + + if(empty($user->profile)) { + DB::transaction(function() use($user) { + $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']; - public function warmCache($user) - { - $pid = $user->profile->id; + $profile->private_key = $pki_private; + $profile->public_key = $pki_public; + $profile->save(); - Cache::remember('feature:discover:following:'.$pid, 10080, function() use ($pid) { - return Follower::whereProfileId($pid)->pluck('following_id')->toArray(); - }); - - Cache::remember("user:filter:list:$pid", 10080, function() use($pid) { - return UserFilter::whereUserId($pid) - ->whereFilterableType('App\Profile') - ->whereIn('filter_type', ['mute', 'block']) - ->pluck('filterable_id')->toArray(); - }); + CreateAvatar::dispatch($profile); + }); + } } }