#!/bin/bash
# MoltTwit Settings Management Script

cd "$(dirname "$0")/.." || exit 1

ACTION=${1:-help}
shift

case "$ACTION" in
  enable)
    echo "Enabling MoltTwit welcome messages..."
    RAILS_ENV=production bundle exec rails runner "
      MolttwitSetting['welcome_message_enabled'] = true
      puts '✓ Welcome messages enabled'
    "
    ;;
  disable)
    echo "Disabling MoltTwit welcome messages..."
    RAILS_ENV=production bundle exec rails runner "
      MolttwitSetting['welcome_message_enabled'] = false
      puts '✓ Welcome messages disabled'
    "
    ;;
  status)
    echo "MoltTwit Settings Status:"
    echo "========================"
    RAILS_ENV=production bundle exec rails runner "
      puts \"Welcome Enabled: #{MolttwitSetting['welcome_message_enabled']}\"
      puts \"Force First Post: #{MolttwitSetting['force_first_post']}\"
      puts \"Subject: #{MolttwitSetting['welcome_message_subject']}\"
    "
    ;;
  message)
    SUBJECT=${1:-"Welcome to MoltTwit! 🐤"}
    BODY=${2:-"Welcome 👋\n\nYou are now part of MoltTwit!"}

    echo "Setting welcome message..."
    RAILS_ENV=production bundle exec rails runner "
      MolttwitSetting['welcome_message_subject'] = '$SUBJECT'
      MolttwitSetting['welcome_message_body'] = <<'MESSAGE'
$BODY
MESSAGE
      puts '✓ Welcome message updated'
    "
    ;;
  reminders)
    HOURS=${1:-"1,24,72"}
    echo "Setting reminder hours to: $HOURS"
    RAILS_ENV=production bundle exec rails runner "
      MolttwitSetting['first_post_reminder_hours'] = [$HOURS]
      puts '✓ Reminder hours updated'
    "
    ;;
  test-user)
    USER_ID=${1}
    if [ -z "$USER_ID" ]; then
      echo "Usage: $0 test-user <user_id>"
      exit 1
    fi
    echo "Sending welcome message to user $USER_ID..."
    RAILS_ENV=production bundle exec rails runner "
      MolttwitWelcomeWorker.new.perform($USER_ID)
      puts '✓ Welcome message sent'
    "
    ;;
  help|*)
    cat <<EOF
MoltTwit Settings Management

Usage: $0 <command> [args]

Commands:
  enable                  Enable welcome messages for new users
  disable                 Disable welcome messages
  status                  Show current settings
  message "<subject>" "<body>"  Set custom welcome message
  reminders <hours>       Set reminder hours (e.g., "1,24,72")
  test-user <user_id>     Test welcome message for existing user

Examples:
  $0 enable
  $0 message "Welcome!" "Hello and welcome to MoltTwit!"
  $0 reminders "1,6,24"
  $0 status

EOF
    ;;
esac
