Spaces:
Sleeping
Sleeping
| """Create default admin and counselor demo users.""" | |
| import sys | |
| import os | |
| sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) | |
| from app import create_app | |
| from app.extensions import db | |
| from app.models import Counselor, User | |
| from app.models.user import UserRole | |
| from app.utils.helpers import generate_counselor_id, hash_password | |
| DEMO_COUNSELOR = { | |
| "email": "counselor@echo.local", | |
| "password": "counselor123", | |
| "full_name": "Dr. Sarah Counselor", | |
| } | |
| DEMO_ADMIN = { | |
| "email": "admin@echo.local", | |
| "password": "admin123", | |
| "full_name": "System Admin", | |
| } | |
| def create_demo_users(): | |
| app = create_app() | |
| with app.app_context(): | |
| for demo, role, extra in [ | |
| (DEMO_COUNSELOR, UserRole.COUNSELOR, "counselor"), | |
| (DEMO_ADMIN, UserRole.ADMIN, None), | |
| ]: | |
| if User.query.filter_by(email=demo["email"]).first(): | |
| print(f"Exists: {demo['email']}") | |
| continue | |
| user = User( | |
| email=demo["email"], | |
| password_hash=hash_password(demo["password"]), | |
| role=role, | |
| ) | |
| db.session.add(user) | |
| db.session.flush() | |
| if extra == "counselor": | |
| db.session.add(Counselor( | |
| user_id=user.id, | |
| counselor_id=generate_counselor_id(), | |
| full_name=demo["full_name"], | |
| specialization="Crisis Intervention", | |
| )) | |
| print(f"Created {demo['email']} / {demo['password']}") | |
| db.session.commit() | |
| if __name__ == "__main__": | |
| create_demo_users() | |