* Big upgrades * WIP: Stash * Stash, 30 flow errors left * Downgrade mobx * WIP * When I understand the difference between class and instance methods * 💚 * Fixes: File import Model saving edge cases pinning and starring docs Collection editing Upgrade mobx devtools * Notification settings saving works * Disabled settings * Document mailer * Working notifications * Colletion created notification Ensure not notified for own actions * Tidy up * Document updated event only for document creation Add indexes Notification setting on user creation * Commentary * Fixed: Notification setting on signup * Fix document move / duplicate stale data Add BaseModel.refresh method * Fixes: Title in sidebar not updated after editing document * 💚 * Improve / restore error handling Better handle offline errors * 👕
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
// @flow
|
|
import bodyParser from 'koa-bodyparser';
|
|
import Koa from 'koa';
|
|
import Router from 'koa-router';
|
|
|
|
import auth from './auth';
|
|
import users from './users';
|
|
import collections from './collections';
|
|
import documents from './documents';
|
|
import views from './views';
|
|
import hooks from './hooks';
|
|
import apiKeys from './apiKeys';
|
|
import shares from './shares';
|
|
import team from './team';
|
|
import integrations from './integrations';
|
|
import notificationSettings from './notificationSettings';
|
|
|
|
import errorHandling from './middlewares/errorHandling';
|
|
import validation from '../middlewares/validation';
|
|
import methodOverride from './middlewares/methodOverride';
|
|
import cache from './middlewares/cache';
|
|
import apiWrapper from './middlewares/apiWrapper';
|
|
|
|
const api = new Koa();
|
|
const router = new Router();
|
|
|
|
// middlewares
|
|
api.use(errorHandling());
|
|
api.use(bodyParser());
|
|
api.use(methodOverride());
|
|
api.use(cache());
|
|
api.use(validation());
|
|
api.use(apiWrapper());
|
|
|
|
// routes
|
|
router.use('/', auth.routes());
|
|
router.use('/', users.routes());
|
|
router.use('/', collections.routes());
|
|
router.use('/', documents.routes());
|
|
router.use('/', views.routes());
|
|
router.use('/', hooks.routes());
|
|
router.use('/', apiKeys.routes());
|
|
router.use('/', shares.routes());
|
|
router.use('/', team.routes());
|
|
router.use('/', integrations.routes());
|
|
router.use('/', notificationSettings.routes());
|
|
|
|
// Router is embedded in a Koa application wrapper, because koa-router does not
|
|
// allow middleware to catch any routes which were not explicitly defined.
|
|
api.use(router.routes());
|
|
|
|
export default api;
|