execute(function () use ($request, $service) { $data = $request->validate([ 'username' => ['required', 'string', 'max:64'], 'password' => ['required', 'string', 'max:100'], ]); $result = $service->login(trim($data['username']), $data['password'], $request); $agent = \App\Models\Agent\Agent::query()->where('username', trim($data['username']))->firstOrFail(); $result['agent'] = [ 'id' => (int) $agent->id, 'username' => $agent->username, 'real_name' => $agent->real_name, 'invitation_code' => $agent->invitation_code, ]; return $result; }); } public function logout(AgentAuthService $service) { return $this->execute(function () use ($service) { $service->logout(request()->attributes->get('agent_token')); return []; }); } }