import os from app import create_app, db from app.models import User, Post, PostImage, GPXFile, Comment, Like app = create_app() @app.shell_context_processor def make_shell_context(): return { 'db': db, 'User': User, 'Post': Post, 'PostImage': PostImage, 'GPXFile': GPXFile, 'Comment': Comment, 'Like': Like } @app.cli.command() def init_db(): """Initialize the database.""" db.create_all() print('Database initialized.') @app.cli.command() def create_admin(): """Create an admin user.""" admin_email = os.environ.get('ADMIN_EMAIL', 'admin@moto-adv.com') admin_password = os.environ.get('ADMIN_PASSWORD', 'admin123') admin = User.query.filter_by(email=admin_email).first() if admin: print(f'Admin user {admin_email} already exists.') return admin = User( nickname='admin', email=admin_email, is_admin=True ) admin.set_password(admin_password) db.session.add(admin) db.session.commit() print(f'Admin user created: {admin_email}') if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True)