76 lines
2.2 KiB
Python
76 lines
2.2 KiB
Python
"""
|
|
Seed credit packages for testing
|
|
"""
|
|
import os
|
|
import django
|
|
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'igny8_core.settings')
|
|
django.setup()
|
|
|
|
from igny8_core.business.billing.models import CreditPackage
|
|
from decimal import Decimal
|
|
|
|
def seed_credit_packages():
|
|
"""Create default credit packages"""
|
|
|
|
packages = [
|
|
{
|
|
'name': 'Starter Pack',
|
|
'slug': 'starter-pack',
|
|
'credits': 1000,
|
|
'price': Decimal('9.99'),
|
|
'discount_percentage': 0,
|
|
'description': 'Perfect for trying out the platform',
|
|
'sort_order': 1,
|
|
'is_featured': False
|
|
},
|
|
{
|
|
'name': 'Professional Pack',
|
|
'slug': 'professional-pack',
|
|
'credits': 5000,
|
|
'price': Decimal('39.99'),
|
|
'discount_percentage': 20,
|
|
'description': 'Best for growing teams',
|
|
'sort_order': 2,
|
|
'is_featured': True
|
|
},
|
|
{
|
|
'name': 'Business Pack',
|
|
'slug': 'business-pack',
|
|
'credits': 15000,
|
|
'price': Decimal('99.99'),
|
|
'discount_percentage': 30,
|
|
'description': 'Ideal for established businesses',
|
|
'sort_order': 3,
|
|
'is_featured': False
|
|
},
|
|
{
|
|
'name': 'Enterprise Pack',
|
|
'slug': 'enterprise-pack',
|
|
'credits': 50000,
|
|
'price': Decimal('299.99'),
|
|
'discount_percentage': 40,
|
|
'description': 'Maximum value for high-volume users',
|
|
'sort_order': 4,
|
|
'is_featured': True
|
|
}
|
|
]
|
|
|
|
created_count = 0
|
|
for pkg_data in packages:
|
|
pkg, created = CreditPackage.objects.get_or_create(
|
|
slug=pkg_data['slug'],
|
|
defaults=pkg_data
|
|
)
|
|
if created:
|
|
created_count += 1
|
|
print(f"✅ Created: {pkg.name} - {pkg.credits:,} credits for ${pkg.price}")
|
|
else:
|
|
print(f"⏭️ Exists: {pkg.name}")
|
|
|
|
print(f"\n✅ Seeded {created_count} new credit packages")
|
|
print(f"📊 Total active packages: {CreditPackage.objects.filter(is_active=True).count()}")
|
|
|
|
if __name__ == '__main__':
|
|
seed_credit_packages()
|