В моей базе данных У меня есть пользователи. Пользователь может иметь много ролей. Роль может принадлежать многим видам деятельности, а деятельность может принадлежать многим ролям. Роль, связанная с действием, означает, что любой пользователь с этой Роль может выполнять эту деятельность.Sequelize - Как запросить косвенную ассоциацию?
Использование Sequelize и задание определенного идентификатора активности, что является лучшим способом запроса, чтобы узнать, имеет ли экземпляр пользователя хотя бы одну Роль, которая имеет разрешение на выполнение этого действия с этим идентификатором, а затем возвращает какой-то истинный/ложный ответ, поэтому я знаю, разрешено ли им выполнять Activity перед продолжением?
Если бы это было сырым запрос, он бы, вероятно, выглядеть следующим образом:
SELECT EXISTS(SELECT *
FROM "Activity_Role"
WHERE "ActivityId" = 'READ_FILE'
AND "RoleId" = ANY(SELECT "RoleId"
FROM "User_Role"
WHERE "UserId" = '12321')
LIMIT 1);
Есть ли способ сделать это, не прибегая к исходному запросу?