api/lib/application/courses/index.js

Summary

Maintainability
A
1 hr
Test Coverage
const courseController = require('./course-controller');
const securityController = require('../../interfaces/controllers/security-controller');

exports.register = function(server, options, next) {

  server.route([
    {
      method: 'GET',
      path: '/api/courses',
      config: {
        auth: false,
        handler: courseController.list,
        tags: ['api']
      }
    },
    {
      method: 'PUT',
      path: '/api/courses',
      config: {
        pre: [{
          method: securityController.checkUserHasRolePixMaster,
          assign: 'hasRolePixMaster'
        }],
        handler: courseController.refreshAll, tags: ['api']
      }
    }, {
      method: 'GET',
      path: '/api/courses/{id}',
      config: {
        auth: false,
        handler: courseController.get,
        tags: ['api']
      }
    }, {
      method: 'POST',
      path: '/api/courses/{id}',
      config: {
        pre: [{
          method: securityController.checkUserHasRolePixMaster,
          assign: 'hasRolePixMaster'
        }],
        handler: courseController.refresh, tags: ['api']
      }
    }, {
      method: 'POST',
      path: '/api/courses',
      config: {
        handler: courseController.save,
        tags: ['api']
      }
    }
  ]);

  return next();
};

exports.register.attributes = {
  name: 'courses-api',
  version: '1.0.0'
};