Мне нужно проверить, авторизован ли пользователь делать это или делать это в резольверах, но я не хочу писать одинаковые коды в каждом резолвере. Так что, кажется, я должен использовать декораторы. Но я не знаю, как использовать там декораторы без классов.
декодированный UserId из jwt
токена - это i req
объект с использованием контекста, и мой распознаватель выглядит так:
import { isAllowed } from 'somewhere';
export default {
Query: {
async q1(_, args, {req}) {
if (!isAllowed(req.userId,'action') throw new Error('Not Authorized!');
},
...
}
У меня в голове есть нечто подобное:
export default {
Query: {
@isAllowed
async q1(_, args, {req}) {
// ...
},
// this method doesn't need authorization.
async q2(_,args, {req}) {
}
}```
But i don't know how to implement it.