const hydrate = require('feathers-sequelize/hooks/hydrate'); function includePoster() { return function (hook) { const model = hook.app.service('users').Model; const association = { include: [{ model: model, as: 'poster', attributes: ['userId', 'displayName', 'avatar'] }] }; switch (hook.type) { case 'before': hook.params.sequelize = Object.assign(association, { raw: false }); return Promise.resolve(hook); break; case 'after': hydrate( association ).call(this, hook); break; } } } module.exports = { before: { all: [ includePoster() ], ... }, after: { all: [ includePoster() ], ... }, error { ... } };