isSuperAdmin() && isset($data['name'])) { $user->name = $data['name']; } $user->phone = $data['phone'] ?? null; $user->updated_by = $user->id; return $user->save(); } /** * 비밀번호 변경 */ public function changePassword(User $user, string $currentPassword, string $newPassword): array { // 현재 비밀번호 확인 if (! Hash::check($currentPassword, $user->password)) { return [ 'success' => false, 'message' => '현재 비밀번호가 일치하지 않습니다.', ]; } // 새 비밀번호가 현재 비밀번호와 동일한지 확인 if (Hash::check($newPassword, $user->password)) { return [ 'success' => false, 'message' => '새 비밀번호는 현재 비밀번호와 다르게 설정해주세요.', ]; } // 비밀번호 업데이트 + 비밀번호 변경 필요 플래그 해제 $user->password = Hash::make($newPassword); $user->must_change_password = false; $user->updated_by = $user->id; $user->save(); return [ 'success' => true, 'message' => '비밀번호가 변경되었습니다.', ]; } }