"""Phase B — Decouple Tier from Architecture (sections 2.3 + 3.3).

Completes the removal of tier/module_type/addon_price/category
from the architecture:
  - Drop addon_price, category from FeatureCatalog
  - Drop module_type from ModuleCatalog
  - Add capability_key to FeatureEntitlement
"""

from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        ("platform_modules", "0016_phase_cd_cleanup"),
    ]

    operations = [
        # ── Drop addon_price from FeatureCatalog ──────────────────────────
        migrations.RemoveField(
            model_name="featurecatalog",
            name="addon_price",
        ),
        # ── Drop category from FeatureCatalog ─────────────────────────────
        migrations.RemoveField(
            model_name="featurecatalog",
            name="category",
        ),
        # ── Drop module_type from ModuleCatalog ───────────────────────────
        migrations.RemoveField(
            model_name="modulecatalog",
            name="module_type",
        ),
        # ── Add capability_key to FeatureEntitlement ──────────────────────
        migrations.AddField(
            model_name="featureentitlement",
            name="capability_key",
            field=models.CharField(
                blank=True,
                db_index=True,
                default="",
                help_text=(
                    "Capability-scoped key, e.g. 'crm.sales'. "
                    "For grouping entitlements by capability."
                ),
                max_length=120,
                verbose_name="capability key",
            ),
        ),
        # ── Update feature_key help_text to reflect 3-level naming ────────
        migrations.AlterField(
            model_name="featureentitlement",
            name="feature_key",
            field=models.CharField(
                blank=True,
                db_index=True,
                default="",
                help_text=(
                    "Dotted key, e.g. 'crm.sales.pipeline'. "
                    "Primary lookup for licensing decisions."
                ),
                max_length=120,
                verbose_name="feature key",
            ),
        ),
    ]
