feat:바로빌 테스트/운영 서버 선택 기능 추가
- 회원사 관리 페이지에 서버 선택 토글 UI 추가 - 서버 모드 전환 API 추가 (GET/POST /api/admin/barobill/members/server-mode) - BarobillService에서 세션 기반 서버 모드 읽기 지원 - 선택한 서버 설정이 바로빌 API 호출에 적용됨 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -856,4 +856,59 @@ public function getServiceCodes(): JsonResponse
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 서버 모드 설정 (테스트/운영 서버 전환)
|
||||
*
|
||||
* 세션에 바로빌 서버 모드를 저장합니다.
|
||||
* BarobillService 생성 시 이 세션 값을 읽어 사용합니다.
|
||||
*/
|
||||
public function setServerMode(Request $request): JsonResponse
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'mode' => 'required|in:test,production',
|
||||
], [
|
||||
'mode.required' => '서버 모드를 선택해주세요.',
|
||||
'mode.in' => '서버 모드는 test 또는 production 이어야 합니다.',
|
||||
]);
|
||||
|
||||
$mode = $validated['mode'];
|
||||
session(['barobill_server_mode' => $mode]);
|
||||
|
||||
Log::info('바로빌 서버 모드 변경', [
|
||||
'mode' => $mode,
|
||||
'user_id' => auth()->id(),
|
||||
]);
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'mode' => $mode,
|
||||
'message' => ($mode === 'test' ? '테스트' : '운영') . ' 서버로 전환되었습니다.',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 서버 모드 조회
|
||||
*
|
||||
* 현재 세션에 저장된 바로빌 서버 모드를 반환합니다.
|
||||
* 세션 값이 없으면 .env 설정값을 반환합니다.
|
||||
*/
|
||||
public function getServerMode(): JsonResponse
|
||||
{
|
||||
$sessionMode = session('barobill_server_mode');
|
||||
|
||||
if ($sessionMode) {
|
||||
$mode = $sessionMode;
|
||||
} else {
|
||||
// .env 설정 기준 (BAROBILL_TEST_MODE)
|
||||
$isTestMode = config('services.barobill.test_mode', true);
|
||||
$mode = $isTestMode ? 'test' : 'production';
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
'mode' => $mode,
|
||||
'source' => $sessionMode ? 'session' : 'env',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user