.. | ||
README.md |
Привилегия
Привилегия - единица предоставления услуг конечному пользователю. Список привилегий определяется при разработке сервиса и публикуется\обновляется при каждом запуске сервиса. Ответственен за публикацию своих привилегий непосредственно конечный сервис. Привилегии нужны для создания тарифов, ибо тариф - набор привилегий и их количества, снабженный ценой и общим описанием. При покупке пользователем тарифа, привилегии, перечисленные в этом тарифе добавляются в аккаунт этого пользователя. "Трату" привилегий и ограничения налагаемые ограниченным количеством той или иной привилегии обрабатывает сам конечный сервис. При окончании количества привилегии, конечный сервис должен оповестить customer сервис об этом, добавив запись в историю.
Аккаунт
Аккаунт - сущность обеспечивающая связь между customer сервисом и конечным продуктовым сервисом. Каждый продуктовый сервис имеет набор тарифов, описывающих ограниченность доступа конкретного аккаунта к услугам, которые предоставляет сервис. При покупке тарифа в customer сервисе, тот публикует данные о купленном тарифе в очередь redpanda, а конечный продуктовый сервис, подписанный на этот топик, получив из очереди информацию о том, что такой-то юзер купил тариф относящийся к нему, должен внести приобретенные привилегии в аккаунт пользователя, купившего тариф. При использовании услуг продуктового сервиса, он обращается к полям аккаунта, для того чтобы определять, доступна ли этому пользователю данная услуга или же он уже выработал квоту, определённую приобретенным им тарифом. Так же, в аккаунте хранятся дополнительные настройки, необходимые для взаимодействия пользователя с конечным продуктовым сервисом, но лишние в customer сервисе, т.е. сервисоспецифичые настройки. Например, токены доступа к яндекс диску