Files
aramesh-backend/scripts/create_admin.py
T

45 lines
1.3 KiB
Python

"""
اسکریپت ساخت اولین کاربر ادمین.
اجرا: 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()