2016-02-24 40 views
20

mamUżywając epilogu, czy można odzyskać zasoby bez skojarzeń?

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

Więc kiedy uderzę /api/questions, wrócę wszelkie skojarzenia z zasobów. Czy jest coś, co mogę przekazać, aby nie uzyskać skojarzeń w niektórych przypadkach? Czy należy utworzyć nowy punkt końcowy:

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

Może popełnić robi to, czego szukasz: [Zezwalaj nie czyta stowarzyszenia w czytaniu] (https://github.com/dchester/epilogue/pull/122) – dafyk

Odpowiedz

1

Jednym ze sposobów jest wykorzystanie pośrednich można zdefiniować kamień milowy na listy i czytać zachowanie w określonym przypadku, użytkownik ma dostęp do obiektu zamów więc można zrobić zmiany odpowiednio

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

Oto przykład modyfikacji listy połączeń

// 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);