nfp_sites/old/router.mjs

58 lines
2.8 KiB
JavaScript
Raw Normal View History

2019-02-19 11:34:52 +00:00
/* eslint max-len: 0 */
import Router from 'koa-router'
2019-09-14 19:03:38 +00:00
import access from './access/index.mjs'
2021-02-05 11:50:01 +00:00
import { restrict } from './access/middleware.mjs'
2019-09-14 19:03:38 +00:00
import AuthRoutes from './authentication/routes.mjs'
2021-02-05 11:50:01 +00:00
// import MediaRoutes from './media/routes.mjs'
// import FileRoutes from './file/routes.mjs'
2019-09-14 19:03:38 +00:00
import PageRoutes from './page/routes.mjs'
import ArticleRoutes from './article/routes.mjs'
import StaffRoutes from './staff/routes.mjs'
2019-02-19 11:34:52 +00:00
const router = new Router()
// API Authentication
2019-02-20 16:10:37 +00:00
const authentication = new AuthRoutes()
router.post('/api/login/user', authentication.loginUser.bind(authentication))
2019-02-20 16:10:37 +00:00
// API Media
2021-02-05 11:50:01 +00:00
// const media = new MediaRoutes()
// router.get('/api/media', restrict(access.Manager), media.getAllMedia.bind(media))
// router.post('/api/media', restrict(access.Manager), media.upload.bind(media))
// router.del('/api/media/:id', restrict(access.Manager), media.removeMedia.bind(media))
2019-09-13 13:33:10 +00:00
// API File
2021-02-05 11:50:01 +00:00
// const file = new FileRoutes()
// router.get('/api/file', restrict(access.Manager), file.getAllFiles.bind(file))
// router.post('/api/articles/:articleId/file', restrict(access.Manager), file.upload.bind(file))
// router.del('/api/file/:id', restrict(access.Manager), file.removeFile.bind(file))
2019-09-13 13:33:10 +00:00
const page = new PageRoutes()
2021-02-05 11:50:01 +00:00
router.get('/api/pagetree', page.getPageTree.bind(page))
2019-09-13 13:33:10 +00:00
router.get('/api/pages', page.getAllPages.bind(page))
router.get('/api/pages/:id', page.getSinglePage.bind(page))
router.post('/api/pages', restrict(access.Manager), page.createPage.bind(page))
router.put('/api/pages/:id', restrict(access.Manager), page.updatePage.bind(page))
router.del('/api/pages/:id', restrict(access.Manager), page.removePage.bind(page))
const article = new ArticleRoutes()
2019-10-02 00:16:11 +00:00
router.get('/api/articles', restrict(access.Manager), article.getAllArticles.bind(article))
router.get('/api/articles/public', article.getPublicAllArticles.bind(article))
router.get('/api/articles/public/:id', article.getPublicSingleArticle.bind(article))
router.get('/api/pages/:pageId/articles/public', article.getPublicAllPageArticles.bind(article))
router.get('/api/articles/:id', restrict(access.Manager), article.getSingleArticle.bind(article))
2019-09-13 13:33:10 +00:00
router.post('/api/articles', restrict(access.Manager), article.createArticle.bind(article))
router.put('/api/articles/:id', restrict(access.Manager), article.updateArticle.bind(article))
router.del('/api/articles/:id', restrict(access.Manager), article.removeArticle.bind(article))
2019-02-19 11:34:52 +00:00
const staff = new StaffRoutes()
2021-02-05 11:50:01 +00:00
router.get('/api/staff', restrict(access.Manager), staff.getAllStaff.bind(staff))
router.get('/api/staff/:id', restrict(access.Admin), staff.getSingleStaff.bind(staff))
router.post('/api/staff', restrict(access.Admin), staff.createStaff.bind(staff))
router.put('/api/staff/:id', restrict(access.Admin), staff.updateStaff.bind(staff))
router.del('/api/staff/:id', restrict(access.Admin), staff.removeStaff.bind(staff))
2019-02-19 11:34:52 +00:00
export default router