You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
2.1 KiB
JavaScript

8 years ago
'use strict';
var express = require('express');
var uploadsController = require('../controllers/uploads');
module.exports = function (app, middleware, controllers) {
var router = express.Router();
app.use('/api', router);
11 years ago
router.get('/config', function (req, res, next) {
if (req.uid >= 0) {
middleware.applyCSRF(req, res, next);
} else {
setImmediate(next);
}
}, controllers.api.getConfig);
11 years ago
6 years ago
router.get('/me', controllers.user.getCurrentUser);
router.get('/user/uid/:uid', middleware.canViewUsers, controllers.user.getUserByUID);
router.get('/user/username/:username', middleware.canViewUsers, controllers.user.getUserByUsername);
router.get('/user/email/:email', middleware.canViewUsers, controllers.user.getUserByEmail);
router.get('/user/uid/:userslug/export/posts', middleware.checkAccountPermissions, middleware.exposeUid, controllers.user.exportPosts);
router.get('/user/uid/:userslug/export/uploads', middleware.checkAccountPermissions, middleware.exposeUid, controllers.user.exportUploads);
router.get('/user/uid/:userslug/export/profile', middleware.checkAccountPermissions, middleware.exposeUid, controllers.user.exportProfile);
router.get('/:type/pid/:id', middleware.authenticateOrGuest, controllers.api.getObject);
router.get('/:type/tid/:id', middleware.authenticateOrGuest, controllers.api.getObject);
router.get('/:type/cid/:id', middleware.authenticateOrGuest, controllers.api.getObject);
10 years ago
router.get('/categories/:cid/moderators', controllers.api.getModerators);
8 years ago
router.get('/recent/posts/:term?', controllers.posts.getRecentPosts);
7 years ago
router.get('/unread/total', middleware.authenticate, controllers.unread.unreadTotal);
router.get('/topic/teaser/:topic_id', controllers.topics.teaser);
9 years ago
router.get('/topic/pagination/:topic_id', controllers.topics.pagination);
11 years ago
var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
var middlewares = [middleware.maintenanceMode, multipartMiddleware, middleware.validateFiles, middleware.applyCSRF];
router.post('/post/upload', middlewares, uploadsController.uploadPost);
router.post('/topic/thumb/upload', middlewares, uploadsController.uploadThumb);
};