Files
nexusphp/app/Http/Controllers/AuthenticateController.php
2022-02-28 23:20:42 +08:00

47 lines
1.2 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Resources\ExamResource;
use App\Http\Resources\UserResource;
use App\Models\Setting;
use App\Repositories\AuthenticateRepository;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Auth;
class AuthenticateController extends Controller
{
private $repository;
public function __construct(AuthenticateRepository $repository)
{
$this->repository = $repository;
}
public function login(Request $request)
{
$request->validate([
'username' => 'required',
'password' => 'required',
]);
$result = $this->repository->login($request->username, $request->password);
$includes = explode(',', $request->get('include', ''));
if (in_array('site_info', $includes)) {
$basic = Setting::get('basic');
$result['site_info'] = [
'site_name' => $basic['SITENAME'],
];
}
return $this->success($result);
}
public function logout(Request $request)
{
$result = $this->repository->logout(Auth::id());
return $this->success($result);
}
}