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'] = app(\App\Services\Agent\AgentProfileService::class)->summary($agent); return $result; }); } public function logout(AgentAuthService $service) { return $this->execute(function () use ($service) { $service->logout(request()->attributes->get('agent_token')); return []; }); } }