First commit
This commit is contained in:
56
backend/app/core/init_db.py
Normal file
56
backend/app/core/init_db.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from sqlalchemy.orm import Session
|
||||
from ..models.models import MembershipTier, User, UserRole
|
||||
from .security import get_password_hash
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def init_default_data(db: Session):
|
||||
"""Initialize database with default data if empty"""
|
||||
|
||||
# Check if membership tiers exist
|
||||
existing_tiers = db.query(MembershipTier).count()
|
||||
if existing_tiers == 0:
|
||||
print("Creating default membership tiers...")
|
||||
default_tiers = [
|
||||
MembershipTier(
|
||||
name="Personal",
|
||||
description="Basic membership for individual members",
|
||||
annual_fee=5.00,
|
||||
benefits="Access to member portal, meeting notifications, event participation",
|
||||
is_active=True
|
||||
),
|
||||
MembershipTier(
|
||||
name="Aircraft Owners",
|
||||
description="Group membership for aircraft owners",
|
||||
annual_fee=25.00,
|
||||
benefits="All Personal benefits plus priority event registration, aircraft owner resources",
|
||||
is_active=True
|
||||
),
|
||||
MembershipTier(
|
||||
name="Corporate",
|
||||
description="Corporate membership for businesses",
|
||||
annual_fee=100.00,
|
||||
benefits="All benefits plus corporate recognition, promotional opportunities, file access",
|
||||
is_active=True
|
||||
)
|
||||
]
|
||||
db.add_all(default_tiers)
|
||||
db.commit()
|
||||
print(f"✓ Created {len(default_tiers)} default membership tiers")
|
||||
|
||||
# Check if admin user exists
|
||||
admin_exists = db.query(User).filter(User.email == "admin@swanseaairport.org").first()
|
||||
if not admin_exists:
|
||||
print("Creating default admin user...")
|
||||
admin_user = User(
|
||||
email="admin@swanseaairport.org",
|
||||
hashed_password=get_password_hash("admin123"),
|
||||
first_name="System",
|
||||
last_name="Administrator",
|
||||
role=UserRole.SUPER_ADMIN,
|
||||
is_active=True
|
||||
)
|
||||
db.add(admin_user)
|
||||
db.commit()
|
||||
print("✓ Created default admin user (admin@swanseaairport.org / admin123)")
|
||||
print(" ⚠️ Remember to change the admin password!")
|
||||
Reference in New Issue
Block a user