Перья JS Получение записи до подключения или сохранение записи после подключения - PullRequest
1 голос
/ 07 марта 2020

Я пытаюсь выяснить, как получить записи, существующие в хуке "before" "patch" или как сохранить записи в хуке "after" "patch", любое решение будет работать для меня, однако я не мог найти способ обойти это. У кого-нибудь есть обходные пути?

Я думал о таком подходе ->

 module.exports = function() {
   return async function (context) {
     let why = await context.app.service('transactions').get(context.id);
     console.log(why);
     return context;
   };
 };

Однако это решение возвращает это -> Невозможно прочитать свойство '_id' из неопределенного

I я играл с этим с прошлой ночи без сна, и на данный момент у меня кончаются идеи.

Единственный способ, которым я мог себя видеть в этой точке, - это вызывать хук UPDATE из патча за хуком, но Я ищу более чистое решение, чем это.

1 Ответ

1 голос
/ 09 марта 2020

Проблема была связана с тем, что я вызывал свой хук GET, у которого уже были разрешения, и он не нашел его из-за этого. Решением этой проблемы было обернуть его в commonHooks.isProvider ('external').

get: [
  commonHooks.iff(
    commonHooks.isProvider('external'),
    checkPermissions({
      roles: ['admin'],
      field: 'permissions',
      entity: 'accounts',
      error: false
    }),
    context => {
      if(!context.params.permitted){
        context.params.query = {
          $or: [
            { 
              bidAccountId: context.params.accounts['_id']
            }, 
            {
              offerAccountId: context.params.accounts['_id']
            }
          ]
        };
      }
    }
  ),
],
...