paradigm-channels
Version:
37 lines (25 loc) • 1.64 kB
JavaScript
const Controller = require('./controller')
const {dispatch} = require('structure-dispatcher')
const cache = require('structure-cache-middleware').default
const express = require('express')
const router = express.Router()
const createSchema = require('./schemas/create')
const updateSchema = require('./schemas/update')
const controller = new Controller()
router.get(`/slug/:slug/rss`, cache(600), dispatch(controller, 'getRSS', {collectionName: false}))
router.get(`/slug/:slug/resources/:resource`, cache(600), dispatch(controller, 'getResources', {collectionName: false}))
router.get(`/slug/:slug/resources`, cache(600), dispatch(controller, 'getResources', {collectionName: false}))
router.get(`/slug/:slug`, dispatch(controller, 'getBySlug'))
router.get(`/:id/resources/:resource`, cache(600), dispatch(controller, 'getResources', {collectionName: false}))
router.get(`/:id/resources`, cache(600), dispatch(controller, 'getResources', {collectionName: false}))
router.get(`/:id`, dispatch(controller, 'getById'))
router.get(`/`, dispatch(controller, 'getAll'))
router.patch(`/:id`, updateSchema, dispatch(controller, 'updateById'))
router.post(`/`, createSchema, dispatch(controller, 'create'))
router.delete(`/:id`, dispatch(controller, 'deleteById'))
module.exports = function routeInterface(options = {}) {
return {
routeName: 'channels',
routes: router
}
}