diff --git a/.travis.yml b/.travis.yml index bfab963..8d72f39 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ sudo: false language: node_js node_js: - - "0.12" + - "10" diff --git a/index.js b/index.js index 01e1309..eb53d91 100644 --- a/index.js +++ b/index.js @@ -4,46 +4,28 @@ var path = require('path') module.exports = function attachToServer (server, app, opts) { var solidWs = new SolidWs(server, opts) - - if (app) { - - app.post('/*', function (req, res, next) { - debug('pub ' + req.originalUrl + ' after post') - solidWs.publish(req.originalUrl) - var parent = path.dirname(req.originalUrl) + path.sep - if (parent !== req.originalUrl) { - solidWs.publish(parent) - } - next() - }) - app.patch('/*', function (req, res, next) { - debug('pub ' + req.originalUrl + ' after patch') - solidWs.publish(req.originalUrl) - var parent = path.dirname(req.originalUrl) + path.sep - if (parent !== req.originalUrl) { - solidWs.publish(parent) - } - next() - }) - app.put('/*', function (req, res, next) { - debug('pub ' + req.originalUrl + ' after put') - solidWs.publish(req.originalUrl) - var parent = path.dirname(req.originalUrl) + path.sep - if (parent !== req.originalUrl) { - solidWs.publish(parent) - } - next() - }) - app.delete('/*', function (req, res, next) { - debug('pub ' + req.originalUrl + ' after delete') - solidWs.publish(req.originalUrl) - var parent = path.dirname(req.originalUrl) + path.sep - if (parent !== req.originalUrl) { - solidWs.publish(parent) + function publish (req, res, next) { + req.acl.can(null, 'Read').then(isPublic => { + if (isPublic) { + debug('pub ' + req.originalUrl + ' after edit') + solidWs.publish(req.originalUrl) + var parent = path.dirname(req.originalUrl) + path.sep + if (parent !== req.originalUrl) { + solidWs.publish(parent) + } + } else { + debug('do not pub ' + req.originalUrl + ' after edit') } next() }) } + if (app) { + app.post('/*', publish) + app.patch('/*', publish) + app.put('/*', publish) + app.delete('/*', publish) + } + return solidWs }