Как проверить ассоциации перьев-сиквелизов в сервисном хуке

Я использую перо.

Я прочитал документацию.

Как мне выполнить этот метод, чтобы проверить сервисный перо-крючок, или подскажите другой метод проверки.

const { disallow } = require('feathers-hooks-common');

function include() {
  return function (hook) {
    const productPrice = hook.app.service('product-prices').Model;
    const currencies = hook.app.service('currencies').Model;
    const edizm = hook.app.service('edizm').Model;

    const pricesShema = { model: productPrice,
      include: [
        {
          model: currencies,
          attributes: ['title', 'socr']
        },
      ]
    };

    const edizmShema = { model: edizm,
      attributes: ['title', 'detail']
    };

    let association={include: [edizmShema, pricesShema]};
    hook.params.sequelize = Object.assign(association,{ raw: false });

    return Promise.resolve(hook);
  }
}

module.exports = {
  ......
};

1 ответ

Как объяснено здесь: перехватчики работают с POJO не с DB ORM, а с вашими raw: false возвращает ORM.

Если вы действительно не можете использовать raw: true затем конвертируйте ORM в POJO:

const dehydrate = require('feathers-sequelize/hooks/dehydrate');
hooks.after.find = [dehydrate(), discard('password')]

Вы можете преобразовать обратно в ORM (если вам действительно нужно).

Другие вопросы по тегам