# services/motie_vip_service.py

VIP_POSITIONS = [
    "감사관", "과장", "국장", "대변인", "실장",
    "장관", "통상차관보", "팀장", "1차관", "2차관"
]

from services.motie_vip_parser import get_motie_departments
from supabase import create_client
import os

SUPABASE_URL = os.getenv("SUPABASE_URL")
SUPABASE_KEY = os.getenv("SUPABASE_KEY")
supabase = create_client(SUPABASE_URL, SUPABASE_KEY)

def update_motie_vip_table():
    print("🔍 부서 리스트 수집 중...")
    departments = get_motie_departments()
    print(f"📌 대상 부서 수: {len(departments)}")

    # 기존 VIP 데이터 삭제
    try:
        supabase.table("motie_vip").delete().neq("name", "").execute()
        print("🧹 motie_vip 초기화 완료")
    except Exception as e:
        print(f"[❌] VIP 초기화 실패: {e}")

    inserted_count = 0

    # 부서별 VIP 필터링
    for dept in departments:
        try:
            result = supabase.table("motie_org") \
                .select("*") \
                .eq("department", dept) \
                .in_("position", VIP_POSITIONS) \
                .execute()
            
            data = result.data
            if data:
                supabase.table("motie_vip").insert(data).execute()
                inserted_count += len(data)
                print(f"✅ {dept} → {len(data)}건 추가")

        except Exception as e:
            print(f"[❌] {dept} 처리 실패: {e}")

    print(f"🎯 최종 VIP 인원: {inserted_count}명 저장 완료")
