""" اسکریپت ساخت اولین کاربر ادمین. اجرا: python scripts/create_admin.py """ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parents[1])) from getpass import getpass from app.database import SessionLocal from app.models import AdminUser from app.auth import hash_password def main(): username = input("نام کاربری ادمین: ").strip() password = getpass("رمز عبور: ").strip() password2 = getpass("تکرار رمز عبور: ").strip() if not username or not password: print("نام کاربری و رمز عبور نمی‌توانند خالی باشند.") return if password != password2: print("رمزهای عبور یکسان نیستند.") return db = SessionLocal() try: existing = db.query(AdminUser).filter(AdminUser.username == username).first() if existing: print(f"کاربری با نام '{username}' از قبل وجود دارد.") return admin = AdminUser(username=username, hashed_password=hash_password(password)) db.add(admin) db.commit() print(f"کاربر ادمین '{username}' با موفقیت ساخته شد.") finally: db.close() if __name__ == "__main__": main()