0

いくつかの関連付けをロードする必要がある特定のフェザーサービス呼び出しを行いたいと思います。問題は、フックを使用して「羽のように」行うと、フックが一度ではなく、そのままになることです。「フェザーズウェイワンタイムアソシエーション」を行う方法はありますか?フックはdestroyed呼び出しの後にある必要があります。

現在:

serviceAccountAssosiations() {
    return function (hook) {
      const walletModel = hook.app.service('wallets').Model;
      const currencyModel = hook.app.service('currencies').Model;
      const assetClassModel = hook.app.service('asset-classes').Model;
      const exchangeModel = hook.app.service('exchanges').Model;
      const bankModel = hook.app.service('banks').Model;
      const valueAccountModel = hook.app.service('value-accounts').Model
      const valueAccountTransactionModel = hook.app.service('value-account-transactions').Model
      const walletTransactionsModel = hook.app.service('wallet-transactions').Model
      const association = {
        include: [
          { model: exchangeModel },
          { model: bankModel },
          { model: valueAccountModel, include: [{ model: valueAccountTransactionModel },{ model: currencyModel }] },
          { model: walletModel, include: [{ model: walletTransactionsModel },{ model: currencyModel },{ model: assetClassModel }] }
        ]
      };

      switch (hook.type) {
        case 'before':
          hook.params.sequelize = Object.assign(association, { raw: false });
          return Promise.resolve(hook);
          break;

        case 'after':
          dehydrate( association ).call(this, hook);
          break;
      }
    }
  }

get (id, params) {
    console.log('id', id)
    let app = this.options.app;
    return app.service('service-accounts').hooks({
      before: {
        all: [this.serviceAccountAssosiations()]
      },
      after: {
        all: [this.serviceAccountAssosiations()]
      }
    })
    .get(id)
    .then((data) => {
      return data;
    });
  }
4

1 に答える 1