import sys
from app import create_app
from extensions import db
from models.user import User, RoleEnum


app = create_app()


def promote_user_by_phone(phone_number: str):
    with app.app_context():

        user = User.query.filter_by(phone=phone_number).first()

        if not user:
            print(f"❌ No user found with phone: {phone_number}")
            return

        if user.role == RoleEnum.ADMIN:
            print("⚠️ User is already ADMIN.")
            return

        user.role = RoleEnum.ADMIN
        db.session.commit()

        print(f"✅ User with phone {phone_number} promoted to ADMIN.")


if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python promote_by_phone.py <phone_number>")
        sys.exit(1)

    phone = sys.argv[1]
    promote_user_by_phone(phone)
