Как бы я управлял этими Правилами / Разрешениями? - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть ресурсы с такой иерархией:

  • Страны
    • Государство
      • Города
        • Дома
          • Люди

Скажите, что я хочу разрешить скидки для людей на любом из этих уровней.

У меня есть таблица, которая выглядит так:

  • Страна (Может быть * для всех или один идентификатор для одной страны)
  • State (Может быть * для всех или один идентификатор для одного состояния)
  • Город (может быть * для всех или один идентификатор для одного города)
  • Дом (Может быть * для всех или один идентификатор для одного дома)
  • Персона (Может быть * для всех или один идентификатор для одного человека)
  • Скидка (может быть Да или Нет, чтобы разрешить / запретить скидку по вышеуказанным критериям)

Если в эту таблицу введено много правил, как мне проверить, предоставляется ли конкретному человеку скидка?

Существует ли стандартная практика для этого?

Примечания:

  • Конкретный человек может проживать в нескольких домах, странах и т. Д., Поэтому в некоторых случаях ему может быть предоставлена ​​скидка, а в других - нет.
  • Каждый раз, когда мне нужно проверить, предоставляется ли человеку скидка, у меня есть все их данные, то есть все 5 критериев.
  • Меня не волнуют прямые конфликты, т. Е. [, , , , 'Джон', Да] и [, , , , 'Джон', Нет], поскольку первые пять критериев должны быть уникальными в таблице.
...