From e7485983cc5074d9f47ee5c650173ecab4ac8284 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 14 Nov 2025 10:49:55 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20pharmacy=5Fcode=20=EC=B6=94=EC=B6=9C=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 문제: - farmq API 응답에서 pharmacy_code 추출 실패 - 약국은 생성되었지만 코드를 못 가져와서 gateway 계정 생성 불가 원인: - JSON 구조가 {"pharmacy": {"pharmacy_code": "P0005"}}인데 - 기존 패턴은 최상위 레벨만 검색 해결: - grep -oP '"pharmacy_code":"\K[^"]+' 패턴 사용 - \K를 사용하여 매칭된 부분 이전은 제외하고 pharmacy_code 값만 추출 - success 체크 먼저 수행 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- headscale-auto-register.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/headscale-auto-register.sh b/headscale-auto-register.sh index c01e763..ad0d392 100755 --- a/headscale-auto-register.sh +++ b/headscale-auto-register.sh @@ -560,11 +560,18 @@ EOF -H "Content-Type: application/json" \ -d "$JSON_DATA") - # pharmacy_code 추출 - PHARMACY_CODE=$(echo "$RESPONSE" | grep -oP '"pharmacy_code":"[^"]*"' | cut -d'"' -f4) + # 성공 여부 먼저 확인 + if ! echo "$RESPONSE" | grep -q '"success":true'; then + echo -e "${RED}✗ 약국 생성 실패${NC}" + echo "$RESPONSE" + return 1 + fi + + # pharmacy_code 추출 (pharmacy 객체 내부) + PHARMACY_CODE=$(echo "$RESPONSE" | grep -oP '"pharmacy_code":"\K[^"]+' | head -1) if [ -z "$PHARMACY_CODE" ]; then - echo -e "${RED}✗ 약국 생성 실패${NC}" + echo -e "${RED}✗ pharmacy_code 추출 실패${NC}" echo "$RESPONSE" return 1 fi