#!/usr/bin/env bash
# scripts/ci/fetch-gitlab-metadata - Fetch open issues and active milestones from GitLab
set -euo pipefail

# Usage: ./scripts/ci/fetch-gitlab-metadata [--issues|--milestones|--all]

# 1. Fetch Issues
fetch_issues() {
    echo "--- Fetching Open Issues ---"
    glab issue list || echo "WARN: Failed to fetch issues. Check glab configuration."
}

# 2. Fetch Milestones
fetch_milestones() {
    echo "--- Fetching Active Milestones ---"
    # Use glab api for milestones as it provides better control
    glab api "/projects/:id/milestones?state=active" --paginate || echo "WARN: Failed to fetch milestones. Check glab configuration."
}

# 3. Main Logic
case "${1:- --all}" in
    --issues)
        fetch_issues
        ;;
    --milestones)
        fetch_milestones
        ;;
    --all)
        fetch_issues
        echo ""
        fetch_milestones
        ;;
    *)
        echo "Usage: $0 [--issues|--milestones|--all]"
        exit 1
        ;;
esac
