From fb0ae8148c4c60bef3ecce38bb4b372a25ad7e55 Mon Sep 17 00:00:00 2001 From: Roman Timashev Date: Sat, 20 Feb 2016 16:46:38 +0300 Subject: [PATCH] + documents router; other --- src/routes/documents.js | 43 +++++++++++++++++++++++++++++++++++++++++ src/server.js | 10 ++++++---- 2 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 src/routes/documents.js diff --git a/src/routes/documents.js b/src/routes/documents.js new file mode 100644 index 00000000..2489a617 --- /dev/null +++ b/src/routes/documents.js @@ -0,0 +1,43 @@ +/** + * Created by tmshv on 22/11/14. + */ + +import co from 'co'; +import route from 'koa-route'; +import router from './'; +import db from '../core/db'; + +export default function (app) { + [ + [ + '/documents', + router.accepts({ + 'text/html': router.index(), + 'text/plain': router.index(), + 'application/json': function *() { + let query = {}; + this.body = yield db.c('documents') + .find(query) + .toArray(); + } + }) + ], + [ + '/documents/:type', + router.accepts({ + 'text/html': router.index(), + 'text/plain': router.index(), + 'application/json': function *(type) { + this.body = yield db.c(type) + .find() + .toArray(); + } + }) + ] + + ].forEach(item => { + //let {path, fn} = item; + let [path, fn] = item; + app.use(route.get(path, fn)); + }); +}; diff --git a/src/server.js b/src/server.js index a4cbeb27..73b1dfc5 100644 --- a/src/server.js +++ b/src/server.js @@ -12,6 +12,7 @@ var bodyParser = require("koa-bodyparser"); var config = require("./config"); var routes = require("./routes"); +import documents from './routes/documents'; var app = koa(); app.proxy = true; @@ -24,10 +25,11 @@ app.use(etag()); app.use(function *(next) { yield* next; - try{ + try { var xp = this.response.header['x-prerender'] == 'true'; - if(xp) this.body = this.body.replace('', ''); - }catch(e){} + if (xp) this.body = this.body.replace('', ''); + } catch (e) { + } }); app.use(prerender(config.prerender)); @@ -66,7 +68,7 @@ require("./routes/sitemap")(app); require("./routes/schedule")(app); require("./routes/news")(app); require("./routes/gallery")(app); - +documents(app); require("./instagram/router")(app); require("./instagram/io")(app);