Подтвердить что ты не робот

Используя эпилог, можно ли вернуть ресурс без ассоциаций?

У меня

epilogue.resource({
  model: db.Question,
  endpoints: ['/api/questions', '/api/info/:id'],
  associations: true
});

Поэтому, когда я нажимаю /api/questions, я возвращаю все ассоциации с ресурсами. Есть ли что-то, что я могу передать, чтобы не получить ассоциации в определенных случаях? Или я должен создать новую конечную точку:

epilogue.resource({
  model: db.Question,
  endpoints: ['/api/questions2', '/api/questions2/:id']
});
4b9b3361

Ответ 1

Один из способов сделать это, используя вехи, вы можете определить веху для просмотра списка и чтения в определенном случае, у вас есть доступ к объекту req, чтобы вы могли соответственно внести изменения.

https://github.com/dchester/epilogue#customize-behavior

Вот пример модификации вызова списка

// my-middleware.js
module.exports = {
  list: {
    write: {
      before: function(req, res, context) {
        // modify data before writing list data
        return context.continue;
      },
      action: function(req, res, context) {
        // change behavior of actually writing the data
        return context.continue;
      },
      after: function(req, res, context) {
        // set some sort of flag after writing list data
        return context.continue;
      }
    }
  }
};

// my-app.js
var epilogue = require('epilogue'),
    restMiddleware = require('my-middleware');

epilogue.initialize({
    app: app,
    sequelize: sequelize
});

var userResource = epilogue.resource({
    model: User,
    endpoints: ['/users', '/users/:id']
});

userResource.use(restMiddleware);