docs and billing adn acaoutn 40%
This commit is contained in:
75
backend/seed_credit_packages.py
Normal file
75
backend/seed_credit_packages.py
Normal file
@@ -0,0 +1,75 @@
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user