UNPKG

@on-time/core

Version:

core business logic for OT API

63 lines (54 loc) 1.43 kB
const assert = require('assert'); const router = require('express').Router(); const Controller = require('./Controller'); class Router { constructor(controller) { assert(controller && controller instanceof Controller); this.controller = controller; this.init(); } /** * Initialize Class */ init() { assert(this.controller); this.initPost(this.controller.post); this.initGet(this.controller.get); this.initPut(this.controller.put); this.initDelete(this.controller.delete); // Expose express router methods for custom routes this.post = router.post; this.get = router.get; this.put = router.put; this.delete = router.delete; } /** * Initialize root route POST * @param postController */ initPost(postController) { router.post('/', postController); } /** * Initialize root route GET * @param postController */ initGet(postController) { router.get('/', postController); } /** * Initialize root route PUT * @param postController */ initPut(postController) { router.put('/', postController); } /** * Initialize root route DELETE * @param postController */ initDelete(postController) { router.delete('/', postController); } } module.exports = Router;