Просмотр исходного кода

refactor SearchService and impl isReachable

Yuki Takei 6 лет назад
Родитель
Сommit
64f33bc73b
3 измененных файлов с 8 добавлено и 3 удалено
  1. 2 1
      src/server/crowi/index.js
  2. 1 0
      src/server/models/config.js
  3. 5 2
      src/server/service/search.js

+ 2 - 1
src/server/crowi/index.js

@@ -335,7 +335,8 @@ Crowi.prototype.setupSearcher = async function() {
 
   if (searchService.isConfigured) {
     try {
-      this.searcher = searchService;
+      this.searchService = searchService;
+      this.searcher = searchService; // TODO: use `searchService` instead of `searcher`
     }
     catch (e) {
       logger.error('Error on setup searcher', e);

+ 1 - 0
src/server/models/config.js

@@ -210,6 +210,7 @@ module.exports = function(crowi) {
       recentCreatedLimit: crowi.configManager.getConfig('crowi', 'customize:showRecentCreatedNumber'),
       isEnabledStaleNotification: crowi.configManager.getConfig('crowi', 'customize:isEnabledStaleNotification'),
       isAclEnabled: crowi.aclService.isAclEnabled(),
+      isSearchServiceReachable: crowi.searchService.isReachable,
       globalLang: crowi.configManager.getConfig('crowi', 'app:globalLang'),
     };
 

+ 5 - 2
src/server/service/search.js

@@ -71,6 +71,9 @@ class SearchService {
   }
 
   async initClient() {
+    // reset error flag
+    this.isErrorOccured = false;
+
     return this.delegator.initClient();
   }
 
@@ -79,7 +82,7 @@ class SearchService {
       return await this.delegator.getInfo();
     }
     catch (err) {
-      // switch error flag
+      // switch error flag, `isReachable` to be `false`
       this.isErrorOccured = true;
       throw err;
     }
@@ -102,7 +105,7 @@ class SearchService {
       return await this.delegator.searchKeyword(keyword, user, userGroups, searchOpts);
     }
     catch (err) {
-      // switch error flag
+      // switch error flag, `isReachable` to be `false`
       this.isErrorOccured = true;
       throw err;
     }