Update SettingsController, fix double json encoding and cache settings for 7 days

This commit is contained in:
Daniel Supernault 2022-09-19 03:39:33 -06:00
parent ef0d1f84ae
commit 4514ab1dbe
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
3 changed files with 60 additions and 20 deletions

View file

@ -303,7 +303,7 @@ class SettingsController extends Controller
}
if($changed) {
$setting->compose_settings = json_encode($compose);
$setting->compose_settings = $compose;
$setting->save();
Cache::forget('profile:compose:settings:' . $request->user()->id);
}

View file

@ -74,6 +74,7 @@ class AccountService
public static function settings($id)
{
return Cache::remember('profile:compose:settings:' . $id, 604800, function() use($id) {
$settings = UserSetting::whereUserId($id)->first();
if(!$settings) {
return self::defaultSettings();
@ -96,6 +97,7 @@ class AccountService
}
return $item;
});
});
}
public static function canEmbed($id)

View file

@ -0,0 +1,38 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use App\UserSetting;
class FixDoubleJsonEncodedSettingsInUsersettingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
UserSetting::whereNotNull('compose_settings')
->chunk(50, function($settings) {
foreach($settings as $userSetting) {
if(is_array($userSetting->compose_settings)) {
continue;
}
$userSetting->compose_settings = json_decode($userSetting->compose_settings);
$userSetting->save();
}
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
}
}