52 lines
1.0 KiB
PHP
52 lines
1.0 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace Lucent\Http\Controller\Api;
|
||
|
|
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use Illuminate\Contracts\View\View;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
use Illuminate\Http\Response;
|
||
|
|
use Lucent\Account\AuthService;
|
||
|
|
use Lucent\LucentException;
|
||
|
|
use function Lucent\Response\fail;
|
||
|
|
use function Lucent\Response\ok;
|
||
|
|
use function Lucent\Svelte\svelte;
|
||
|
|
|
||
|
|
|
||
|
|
class AccountController extends Controller
|
||
|
|
{
|
||
|
|
public function __construct(
|
||
|
|
private readonly AuthService $authService,
|
||
|
|
)
|
||
|
|
{
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
public function profile(): View
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
return svelte(
|
||
|
|
layout: "account",
|
||
|
|
view: "profile",
|
||
|
|
title: "Profile",
|
||
|
|
data: []
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
public function updateName(Request $request): Response
|
||
|
|
{
|
||
|
|
|
||
|
|
try {
|
||
|
|
$this->authService->updateName(session("user.id"), $request->input("name"));
|
||
|
|
} catch (LucentException $th) {
|
||
|
|
return fail($th);
|
||
|
|
}
|
||
|
|
$request->session()->put("user.name", $request->input("name"));
|
||
|
|
|
||
|
|
return ok();
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|