Ограничить API-интерфейс остальных django в соответствии с тарифными планами - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть некоторые динамически добавленные функции, выполняемые администратором, которые я буду связывать с определенными конечными точками.

Какой будет хороший подход для решения этой проблемы?

Проблема в том, как я могу сделать эту связь?

1 Ответ

0 голосов
/ 12 ноября 2018

Я сделал следующее:

1) Стабилизируйте некоторые строки констант, представляющие то, что я знаю как «особенности». то есть:

  • feat1 = 'f1'
  • feat2 = 'f2'

2) Используется для создания FEATURE_CHOICES в модели объектов. (Этот файл будет создаваться динамически пользователями-администраторами. Такие пользователи будут связывать соответствующий выбор и добавлять дополнительные репрезентативные метаданные, полезные для пользовательских агентов.

FEATURE_CHOICES = ((feat1, 'Awesome feature'), (feat2, 'Just a regular feature'))

3) На мои представления добавлено соответствующее значение в качестве переменной класса: api_feature = feat1

4) Создан пользовательский класс разрешений DRF, который реализует функцию has_feature, которая проверяет, есть ли у плана пользователя такая запрошенная функция.

Это решение, которое я реализовал на данный момент. Все константы управлялись django-decouple.

...