text: const express = require('../../../../../shared/express');
  const cors = require('cors');
  const apiCanary = require('../../../../api/canary');
  const mw = require('./middleware');
  
  module.exports = function apiRoutes() {
      const router = express.Router('canary content');
  
      router.use(cors());
  
      const http = apiCanary.http;
  
      // ## Posts
      router.get('/posts', mw.authenticatePublic, http(apiCanary.postsPublic.browse));
      router.get('/posts/:id', mw.authenticatePublic, http(apiCanary.postsPublic.read));
      router.get('/posts/slug/:slug', mw.authenticatePublic, http(apiCanary.postsPublic.read));
  
      // ## Pages
      router.get('/pages', mw.authenticatePublic, http(apiCanary.pagesPublic.browse));
      router.get('/pages/:id', mw.authenticatePublic, http(apiCanary.pagesPublic.read));
      router.get('/pages/slug/:slug', mw.authenticatePublic, http(apiCanary.pagesPublic.read));
  
      // ## Users
      router.get('/authors', mw.authenticatePublic, http(apiCanary.authorsPublic.browse));
      router.get('/authors/:id', mw.authenticatePublic, http(apiCanary.authorsPublic.read));
      router.get('/authors/slug/:slug', mw.authenticatePublic, http(apiCanary.authorsPublic.read));
  
      // ## Tags
      router.get('/tags', mw.authenticatePublic, http(apiCanary.tagsPublic.browse));
      router.get('/tags/:id', mw.authenticatePublic, http(apiCanary.tagsPublic.read));
      router.get('/tags/slug/:slug', mw.authenticatePublic, http(apiCanary.tagsPublic.read));
  
      // ## Settings
      router.get('/settings', mw.authenticatePublic, http(apiCanary.publicSettings.browse));
  
      router.get('/products', mw.authenticatePublic, http(apiCanary.productsPublic.browse));
  
      return router;
  };
  