Merge pull request #627 from pixelfed/frontend-ui-refactor

Frontend ui refactor
This commit is contained in:
daniel 2018-12-08 19:39:22 -07:00 committed by GitHub
commit 2b05afe80c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 32 deletions

View file

@ -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) $profile->private_key = $pki_private;
{ $profile->public_key = $pki_public;
$pid = $user->profile->id; $profile->save();
Cache::remember('feature:discover:following:'.$pid, 10080, function() use ($pid) { CreateAvatar::dispatch($profile);
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();
});
} }
} }

View file

@ -20,25 +20,27 @@ class UserObserver
public function saved(User $user) public function saved(User $user)
{ {
if (empty($user->profile)) { if (empty($user->profile)) {
$profile = new Profile(); DB::transaction(function() use($user) {
$profile->user_id = $user->id; $profile = new Profile();
$profile->username = $user->username; $profile->user_id = $user->id;
$profile->name = $user->name; $profile->username = $user->username;
$pkiConfig = [ $profile->name = $user->name;
'digest_alg' => 'sha512', $pkiConfig = [
'private_key_bits' => 2048, 'digest_alg' => 'sha512',
'private_key_type' => OPENSSL_KEYTYPE_RSA, 'private_key_bits' => 2048,
]; 'private_key_type' => OPENSSL_KEYTYPE_RSA,
$pki = openssl_pkey_new($pkiConfig); ];
openssl_pkey_export($pki, $pki_private); $pki = openssl_pkey_new($pkiConfig);
$pki_public = openssl_pkey_get_details($pki); openssl_pkey_export($pki, $pki_private);
$pki_public = $pki_public['key']; $pki_public = openssl_pkey_get_details($pki);
$pki_public = $pki_public['key'];
$profile->private_key = $pki_private; $profile->private_key = $pki_private;
$profile->public_key = $pki_public; $profile->public_key = $pki_public;
$profile->save(); $profile->save();
CreateAvatar::dispatch($profile); CreateAvatar::dispatch($profile);
});
} }
if (empty($user->settings)) { if (empty($user->settings)) {