#!/usr/bin/env python3 import os import sys sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) from app import create_app, db from app.models import ( User, Metal, UserMetal, Transaction, ReferralCommission, Notification, ) def init_database(): app = create_app() with app.app_context(): db.create_all() print("Base de données initialisée avec succès!") def create_admin_user(): app = create_app() with app.app_context(): from werkzeug.security import generate_password_hash admin = User( phone="+22812345678", country_code="+228", password=generate_password_hash("admin123"), ) admin.is_admin = True db.session.add(admin) db.session.commit() print( f"Utilisateur admin créé avec le code de parrainage: {admin.referral_code}" ) print("Téléphone: +22812345678") print("Mot de passe: admin123") def create_sample_metals(): app = create_app() with app.app_context(): metals_data = [ { "name": "Lingot d'Or Premium", "description": "Lingot d'or pur 24 carats, investissement sécurisé", "price": 5000, "daily_gain": 450, "cycle_days": 60, "image_url": "/static/images/gold-bar.jpg", }, { "name": "Diamant Brut", "description": "Diamant naturel de haute qualité", "price": 10000, "daily_gain": 850, "cycle_days": 90, "image_url": "/static/images/diamond.jpg", }, { "name": "Argent Sterling", "description": "Lingot d'argent sterling 925", "price": 2500, "daily_gain": 200, "cycle_days": 45, "image_url": "/static/images/silver-bar.jpg", }, { "name": "Platine Pur", "description": "Lingot de platine pur, investissement rare", "price": 15000, "daily_gain": 1200, "cycle_days": 120, "image_url": "/static/images/platinum-bar.jpg", }, ] for metal_data in metals_data: metal = Metal(**metal_data) db.session.add(metal) db.session.commit() print("Métaux exemples créés avec succès!") if __name__ == "__main__": if len(sys.argv) > 1: command = sys.argv[1] if command == "init-db": init_database() elif command == "create-admin": create_admin_user() elif command == "create-metals": create_sample_metals() else: print("Commandes disponibles:") print(" python setup.py init-db") print(" python setup.py create-admin") print(" python setup.py create-metals") else: print("Usage: python setup.py ") print("Commandes: init-db, create-admin, create-metals")