diff --git a/headscale-quick-install.sh b/headscale-quick-install.sh index e0617c1..b20ce37 100755 --- a/headscale-quick-install.sh +++ b/headscale-quick-install.sh @@ -486,28 +486,185 @@ show_final_info() { print_header "설치 완료 - 팜큐 네트워크를 사용할 수 있습니다!" } +# ================================ +# 약국 자동 등록 함수들 +# ================================ + +# 약국 정보 수집 +collect_pharmacy_info() { + echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" + echo -e "${WHITE}약국 정보 입력${NC}" + echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" + + # 약국명 입력 (필수) + while [ -z "$PHARMACY_NAME" ]; do + read -p "약국명을 입력하세요: " PHARMACY_NAME + done + + # 요양기관부호 입력 (선택) + read -p "요양기관부호 (선택, Enter로 건너뛰기): " HIRA_CODE + + # 약국 주소 입력 (선택) + read -p "약국 주소 (선택): " PHARMACY_ADDRESS + + # 약국장 이름 입력 (선택) + read -p "약국장 이름 (선택): " OWNER_NAME + + # 연락처 입력 (선택) + read -p "약국 연락처 (선택): " PHARMACY_PHONE + + echo -e "${GREEN}✓ 약국 정보 입력 완료${NC}" +} + +# VPN IP 확인 +get_assigned_vpn_ip() { + echo -e "${BLUE}VPN IP 확인 중...${NC}" + + # tailscale status로 IP 추출 (최대 10초 대기) + for i in {1..10}; do + VPN_IP=$(tailscale status --json 2>/dev/null | grep -oP '"TailscaleIPs":\["\K[^"]+' | head -1) + + if [ -n "$VPN_IP" ]; then + echo -e "${GREEN}✓ VPN IP: $VPN_IP${NC}" + return 0 + fi + + echo -e "${YELLOW}⏳ VPN IP 할당 대기 중... ($i/10)${NC}" + sleep 1 + done + + echo -e "${RED}✗ VPN IP를 가져올 수 없습니다${NC}" + return 1 +} + +# farmq-admin API 호출하여 약국 생성 +create_pharmacy_via_api() { + echo -e "${BLUE}약국 등록 중 (farmq.db)...${NC}" + + # JSON 데이터 구성 + JSON_DATA=$(cat <