update: normalize user settings

Use a 1-1 relation. Cache it indefinitely to reduce queries for every http request. This will make it much easier to add additional user settings for various site features without sacrificing clean code or performance.
This commit is contained in:
Roardom
2024-05-26 07:40:17 +00:00
parent 683ba9077a
commit d00475778b
44 changed files with 514 additions and 187 deletions
@@ -134,12 +134,11 @@ class PrivacySettingController extends Controller
$privacy->json_rank_groups = array_map('intval', $request->json_rank_groups ?? []);
$privacy->json_request_groups = array_map('intval', $request->json_request_groups ?? []);
$privacy->json_other_groups = array_map('intval', $request->json_other_groups ?? []);
$privacy->private_profile = $request->private_profile;
$privacy->hidden = $request->hidden;
$privacy->save();
$user->update([
'private_profile' => $request->private_profile,
'hidden' => $request->hidden,
]);
cache()->forget('user-privacy:by-user-id:'.$user->id);
return to_route('users.privacy_settings.edit', ['user' => $user])
->withSuccess('Your privacy settings have been successfully saved.');