pixelfed/app/Http/Controllers/UserAppSettingsController.php

49 wiersze
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\StoreUserAppSettings;
use App\Http\Resources\UserAppSettingsResource;
2025-12-20 07:39:10 +00:00
use App\Models\UserAppSettings;
use App\Services\Account\AccountAppSettingsService;
use Illuminate\Http\Request;
class UserAppSettingsController extends Controller
{
public function __construct()
{
2025-12-20 07:39:10 +00:00
$this->middleware('auth');
}
public function get(Request $request)
{
2025-12-20 07:39:10 +00:00
abort_if(! $request->user(), 403);
2025-12-20 07:39:10 +00:00
$settings = UserAppSettings::whereUserId($request->user()->id)->first();
2025-12-20 07:39:10 +00:00
if (! $settings) {
return [
'id' => (string) $request->user()->profile_id,
'username' => $request->user()->username,
'updated_at' => null,
'common' => AccountAppSettingsService::default(),
];
}
2025-12-20 07:39:10 +00:00
return new UserAppSettingsResource($settings);
}
public function store(StoreUserAppSettings $request)
{
2025-12-20 07:39:10 +00:00
$res = UserAppSettings::updateOrCreate([
'user_id' => $request->user()->id,
], [
'profile_id' => $request->user()->profile_id,
'common' => $request->common,
]
);
return new UserAppSettingsResource($res);
}
}