| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- import growiPlugin from '~/features/growi-plugin/server/routes/apiv3/admin';
- import loggerFactory from '~/utils/logger';
- import { generateAddActivityMiddleware } from '../../middlewares/add-activity';
- import injectUserRegistrationOrderByTokenMiddleware from '../../middlewares/inject-user-registration-order-by-token-middleware';
- import * as loginFormValidator from '../../middlewares/login-form-validator';
- import * as registerFormValidator from '../../middlewares/register-form-validator';
- import g2gTransfer from './g2g-transfer';
- import importRoute from './import';
- import pageListing from './page-listing';
- import securitySettings from './security-settings';
- import * as userActivation from './user-activation';
- const logger = loggerFactory('growi:routes:apiv3'); // eslint-disable-line no-unused-vars
- const express = require('express');
- const router = express.Router();
- const routerForAdmin = express.Router();
- const routerForAuth = express.Router();
- module.exports = (crowi, app) => {
- const isInstalled = crowi.configManager.getConfig('crowi', 'app:installed');
- // add custom functions to express response
- require('./response')(express, crowi);
- routerForAdmin.use('/healthcheck', require('./healthcheck')(crowi));
- // admin
- routerForAdmin.use('/admin-home', require('./admin-home')(crowi));
- routerForAdmin.use('/markdown-setting', require('./markdown-setting')(crowi));
- routerForAdmin.use('/app-settings', require('./app-settings')(crowi));
- routerForAdmin.use('/customize-setting', require('./customize-setting')(crowi));
- routerForAdmin.use('/notification-setting', require('./notification-setting')(crowi));
- routerForAdmin.use('/users', require('./users')(crowi));
- routerForAdmin.use('/user-groups', require('./user-group')(crowi));
- routerForAdmin.use('/external-user-groups', require('~/features/external-user-group/server/routes/apiv3/external-user-group')(crowi));
- routerForAdmin.use('/export', require('./export')(crowi));
- routerForAdmin.use('/import', importRoute(crowi));
- routerForAdmin.use('/search', require('./search')(crowi));
- routerForAdmin.use('/security-setting', securitySettings(crowi));
- routerForAdmin.use('/mongo', require('./mongo')(crowi));
- routerForAdmin.use('/slack-integration-settings', require('./slack-integration-settings')(crowi));
- routerForAdmin.use('/slack-integration-legacy-settings', require('./slack-integration-legacy-settings')(crowi));
- routerForAdmin.use('/activity', require('./activity')(crowi));
- routerForAdmin.use('/g2g-transfer', g2gTransfer(crowi));
- routerForAdmin.use('/plugins', growiPlugin(crowi));
- // auth
- const applicationInstalled = require('../../middlewares/application-installed')(crowi);
- const addActivity = generateAddActivityMiddleware(crowi);
- const login = require('../login')(crowi, app);
- const loginPassport = require('../login-passport')(crowi, app);
- routerForAuth.post('/login', applicationInstalled, loginFormValidator.loginRules(), loginFormValidator.loginValidation,
- addActivity, loginPassport.injectRedirectTo, loginPassport.isEnableLoginWithLocalOrLdap, loginPassport.loginWithLocal, loginPassport.loginWithLdap,
- loginPassport.cannotLoginErrorHadnler, loginPassport.loginFailure);
- routerForAuth.use('/invited', require('./invited')(crowi));
- routerForAuth.use('/logout', require('./logout')(crowi));
- routerForAuth.post('/register',
- applicationInstalled, registerFormValidator.registerRules(), registerFormValidator.registerValidation, addActivity, login.register);
- routerForAuth.post('/user-activation/register', applicationInstalled, userActivation.registerRules(),
- userActivation.validateRegisterForm, userActivation.registerAction(crowi));
- // installer
- if (!isInstalled) {
- routerForAdmin.use('/installer', require('./installer')(crowi));
- return [router, routerForAdmin, routerForAuth];
- }
- router.use('/in-app-notification', require('./in-app-notification')(crowi));
- router.use('/personal-setting', require('./personal-setting')(crowi));
- router.use('/user-group-relations', require('./user-group-relation')(crowi));
- router.use('/external-user-group-relations', require('~/features/external-user-group/server/routes/apiv3/external-user-group-relation')(crowi));
- router.use('/statistics', require('./statistics')(crowi));
- router.use('/search', require('./search')(crowi));
- router.use('/page', require('./page')(crowi));
- router.use('/pages', require('./pages')(crowi));
- router.use('/revisions', require('./revisions')(crowi));
- router.use('/page-listing', pageListing(crowi));
- router.use('/share-links', require('./share-links')(crowi));
- router.use('/bookmarks', require('./bookmarks')(crowi));
- router.use('/attachment', require('./attachment')(crowi));
- router.use('/slack-integration', require('./slack-integration')(crowi));
- router.use('/staffs', require('./staffs')(crowi));
- router.use('/forgot-password', require('./forgot-password')(crowi));
- const user = require('../user')(crowi, null);
- router.get('/check-username', user.api.checkUsername);
- router.post('/complete-registration',
- addActivity,
- injectUserRegistrationOrderByTokenMiddleware,
- userActivation.completeRegistrationRules(),
- userActivation.validateCompleteRegistration,
- userActivation.completeRegistrationAction(crowi));
- router.use('/user-ui-settings', require('./user-ui-settings')(crowi));
- router.use('/bookmark-folder', require('./bookmark-folder')(crowi));
- router.use('/questionnaire', require('~/features/questionnaire/server/routes/apiv3/questionnaire')(crowi));
- router.use('/templates', require('~/features/templates/server/routes/apiv3')(crowi));
- router.use('/me', require('./me')(crowi));
- return [router, routerForAdmin, routerForAuth];
- };
|