Yuki Takei 6 лет назад
Родитель
Сommit
fa158944de
2 измененных файлов с 16 добавлено и 6 удалено
  1. 12 6
      src/server/routes/index.js
  2. 4 0
      src/server/routes/installer.js

+ 12 - 6
src/server/routes/index.js

@@ -29,12 +29,22 @@ module.exports = function(crowi, app) {
     csrfVerify: csrf,
     csrfVerify: csrf,
   } = middlewares;
   } = middlewares;
 
 
+  const isInstalled = crowi.configManager.getConfig('crowi', 'app:installed');
+
   /* eslint-disable max-len, comma-spacing, no-multi-spaces */
   /* eslint-disable max-len, comma-spacing, no-multi-spaces */
 
 
   app.get('/'                        , middlewares.applicationInstalled, loginRequired(false) , page.showTopPage);
   app.get('/'                        , middlewares.applicationInstalled, loginRequired(false) , page.showTopPage);
 
 
-  app.get('/installer'               , middlewares.applicationNotInstalled , installer.index);
-  app.post('/installer'              , middlewares.applicationNotInstalled , form.register , csrf, installer.install);
+  // API v3
+  app.use('/api-docs', require('./apiv3/docs')(crowi));
+  app.use('/_api/v3', require('./apiv3')(crowi));
+
+  // installer
+  if (!isInstalled) {
+    app.get('/installer'               , middlewares.applicationNotInstalled , installer.index);
+    app.post('/installer'              , middlewares.applicationNotInstalled , form.register , csrf, installer.install);
+    return;
+  }
 
 
   app.get('/login/error/:reason'     , login.error);
   app.get('/login/error/:reason'     , login.error);
   app.get('/login'                   , middlewares.applicationInstalled    , login.login);
   app.get('/login'                   , middlewares.applicationInstalled    , login.login);
@@ -229,10 +239,6 @@ module.exports = function(crowi, app) {
   app.post('/_api/hackmd.discard'        , accessTokenParser , loginRequired() , csrf, hackmd.validateForApi, hackmd.discard);
   app.post('/_api/hackmd.discard'        , accessTokenParser , loginRequired() , csrf, hackmd.validateForApi, hackmd.discard);
   app.post('/_api/hackmd.saveOnHackmd'   , accessTokenParser , loginRequired() , csrf, hackmd.validateForApi, hackmd.saveOnHackmd);
   app.post('/_api/hackmd.saveOnHackmd'   , accessTokenParser , loginRequired() , csrf, hackmd.validateForApi, hackmd.saveOnHackmd);
 
 
-  // API v3
-  app.use('/api-docs', require('./apiv3/docs')(crowi));
-  app.use('/_api/v3', require('./apiv3')(crowi));
-
   app.get('/*/$'                   , loginRequired(false) , page.showPageWithEndOfSlash, page.notFound);
   app.get('/*/$'                   , loginRequired(false) , page.showPageWithEndOfSlash, page.notFound);
   app.get('/*'                     , loginRequired(false) , page.showPage, page.notFound);
   app.get('/*'                     , loginRequired(false) , page.showPage, page.notFound);
 };
 };

+ 4 - 0
src/server/routes/installer.js

@@ -81,6 +81,10 @@ module.exports = function(crowi, app) {
     }
     }
     // create initial pages
     // create initial pages
     await createInitialPages(adminUser, language);
     await createInitialPages(adminUser, language);
+    // init plugins
+    crowi.pluginService.autoDetectAndLoadPlugins();
+    // setup routes
+    crowi.setupRoutesAtLast(app);
 
 
     // login with passport
     // login with passport
     req.logIn(adminUser, (err) => {
     req.logIn(adminUser, (err) => {