fix: multi-subscription UUID resolution and ownership validation
- Add _resolve_panel_uuid helper for per-subscription UUID in multi-tariff mode - Add user ownership validation (user_id check) to all subscription queries - Add unique partial index on (user_id, tariff_id) for active subscriptions - Generate remnawave_short_id for new subscriptions in all creation paths - Fix trial endpoints to check all user subscriptions, not just first - Fix channel member handler to enable/disable per-subscription UUIDs - Fix channel checker middleware for multi-subscription iteration - Fix tariff switch, traffic, and device endpoints to use correct panel UUID - Fix monitoring, auto-purchase, renewal services for multi-subscription - Fix user_service, miniapp, subscriptions and users webapi routes
This commit is contained in:
@@ -1351,6 +1351,13 @@ class Subscription(Base):
|
||||
Index('ix_subscriptions_user_id', 'user_id'),
|
||||
Index('ix_subscriptions_user_status', 'user_id', 'status'),
|
||||
Index('ix_subscriptions_user_tariff_status', 'user_id', 'tariff_id', 'status'),
|
||||
Index(
|
||||
'uq_subscriptions_user_tariff_active',
|
||||
'user_id',
|
||||
'tariff_id',
|
||||
unique=True,
|
||||
postgresql_where=text("tariff_id IS NOT NULL AND status IN ('active', 'trial')"),
|
||||
),
|
||||
)
|
||||
|
||||
id = Column(Integer, primary_key=True, index=True)
|
||||
|
||||
Reference in New Issue
Block a user