common.js 891 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const express = require('express')
  2. const router = express.Router()
  3. const pageHelper = require('../helpers/page')
  4. /* global WIKI */
  5. /**
  6. * Create/Edit document
  7. */
  8. router.get(['/e', '/e/*'], (req, res, next) => {
  9. res.render('editor')
  10. })
  11. /**
  12. * Administration
  13. */
  14. router.get(['/a', '/a/*'], (req, res, next) => {
  15. res.render('admin')
  16. })
  17. /**
  18. * Profile
  19. */
  20. router.get(['/p', '/p/*'], (req, res, next) => {
  21. res.render('profile')
  22. })
  23. /**
  24. * View document
  25. */
  26. router.get('/*', async (req, res, next) => {
  27. const pageArgs = pageHelper.parsePath(req.path)
  28. const page = await WIKI.models.pages.getPage({
  29. path: pageArgs.path,
  30. locale: pageArgs.locale,
  31. userId: req.user.id,
  32. isPrivate: false
  33. })
  34. if (page) {
  35. res.render('page', { page })
  36. } else if (pageArgs.path === 'home') {
  37. res.render('welcome')
  38. } else {
  39. res.render('new')
  40. }
  41. })
  42. module.exports = router