Esempio n. 1
0
  notification = require('./services/notification'),
  urlSvc = require('./services/url'),
  sequence = require('./services/sequence'),
  broadcast = require('./services/broadcast'),
  socket = require('./services/socket'),
  redirectsSvc = require('./services/redirects'),
  config = require('./config.js'),
  contextService = require('request-context');

var app = {};
app.log = require('./log.js');
app.server = express();
app.config = config;

app.contextService = contextService;
app.server.use(contextService.middleware('request')); // for createdBy plugin

app.models = require('./models');

app.modules = {
  each: function(callFunc) {
    _.forEach(app.modules, function(obj, name) {
      if (typeof obj == 'object') {
        callFunc(obj);
      }
    });
  }
};

var modules = config.get('modules');
_.forEach(modules, function(moduleName) {
Esempio n. 2
0
var contextService = require('request-context');
var middleware = require('../../lib/middleware');
var RepoController = require('./repo.controller');
var auth = require('../../lib/auth/auth.service');

// Export the configured express router for the application api routes
module.exports = router;

/**
 * The api controller
 * @type {repo:controller~RepoController}
 */
var controller = new RepoController(router);

// add context for auth sensitive resources
var addRequestContext = contextService.middleware('request');

// add the authenticated user to the created acl context
var addUserContext = auth.addAuthContext('request:acl.user');

// check if the request is made by an authenticated user with at least the admin role
var isAuthenticated = auth.hasRole('appAdmin');

// apply auth middleware to all routes
router.route('*').all(addRequestContext, isAuthenticated, addUserContext);

// register application routes
router.route('/')
  .get(controller.index);

router.route('/:repoName')