adding
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
from rest_framework.permissions import BasePermission
|
||||
|
||||
|
||||
class HasActiveFeature(BasePermission):
|
||||
"""اجازهی استفاده از یک ریزاپ را فقط به کاربری میدهد که آن را فعال دارد
|
||||
(دورهی آزمایشی یا خریداریشده با جم). گیت اصلی سمت اپ فلاتر (لانچر) فقط
|
||||
برای تجربهی کاربری است؛ بدون این چک سمت سرور، هرکسی با صدازدن مستقیم API
|
||||
(مثلا با curl/Postman) میتوانست کل مدل پرداختی را دور بزند. `view` باید
|
||||
`feature_key` را ست کند؛ اگر نکرد، این پرمیشن چیزی را مسدود نمیکند."""
|
||||
|
||||
message = "برای استفاده از این بخش باید آن را از فروشگاه فعال کنی."
|
||||
|
||||
def has_permission(self, request, view) -> bool:
|
||||
feature_key = getattr(view, "feature_key", None)
|
||||
if not feature_key:
|
||||
return True
|
||||
|
||||
from apps.billing.api.services import FeatureAccessService
|
||||
|
||||
return FeatureAccessService.is_active(request.user, feature_key)
|
||||
Reference in New Issue
Block a user