Ghost/core/server/web/api/canary/content/routes.js

38 lines
1.6 KiB
JavaScript

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));
return router;
};