Grades 4 and 5, Bazaar purchase from the app, pack SKUs
- rag: MATH_4 / MATH_5 textbooks (TOC and page offsets read from the PDFs) - content: grades 4 and 5 in the seed files: 7 units / 28 nodes each, 204 + 194 questions (every node >= 4), all re-solved blind once - subscription: Plan.bazaar_sku (admin); POST /api/subscription/purchase accepts paymentMethod=bazaar for packs, rejects unknown methods (was ignored) - payment: idempotency key cannot switch provider; discount codes refused on Bazaar orders (Bazaar charges the fixed SKU price) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
22
subscription/migrations/0012_plan_bazaar_sku.py
Normal file
22
subscription/migrations/0012_plan_bazaar_sku.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# Generated by Django 5.2.17 on 2026-10-03 12:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('subscription', '0011_questioncredit_refund_reason'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='plan',
|
||||
name='bazaar_sku',
|
||||
field=models.CharField(blank=True, default='', help_text='SKUِ محصولِ درون\u200cبرنامه\u200cای در پیشخانِ کافه\u200cبازار؛ خالی = در بازار فروخته نمی\u200cشود.', max_length=100),
|
||||
),
|
||||
migrations.AddConstraint(
|
||||
model_name='plan',
|
||||
constraint=models.UniqueConstraint(condition=models.Q(('bazaar_sku', ''), _negated=True), fields=('bazaar_sku',), name='plan_bazaar_sku_unique_when_set'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user