57 lines
2.2 KiB
Python
57 lines
2.2 KiB
Python
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!")
|