#!/bin/bash
# GitHub Gist import script using GitHub token for authentication
# This script works by first logging in via GitHub OAuth and then importing

github_user=acedanger
opengist_url="https://gist.ptrwd.com"

echo "This script requires you to first log in to OpenGist via GitHub OAuth."
echo "Please visit: $opengist_url"
echo "Log in with your GitHub account, then return here and press Enter to continue..."
read -p "Press Enter when you've logged in via GitHub OAuth: "

echo "Starting GitHub Gist import..."

curl -s https://api.github.com/users/"$github_user"/gists?per_page=100 | jq '.[] | .git_pull_url' -r | while read url; do
    echo "Processing gist: $url"
    git clone "$url"
    repo_dir=$(basename "$url" .git)

    if [ -d "$repo_dir" ]; then
        cd "$repo_dir"

        # Use the web-based authentication by prompting the user
        echo "For repository $repo_dir, you'll need to authenticate via browser..."
        echo "When prompted, use your GitHub credentials that you used to log in to OpenGist"

        # Add remote and push
        git remote add gist "$opengist_url/init"
        git push -u gist --all

        cd ..
        rm -rf "$repo_dir"
        echo "Completed import of $repo_dir"
    fi
done

echo "Import process completed!"
