Procházet zdrojové kódy

Enabled retrieval of pageExpirationSeconds from the config

Shun Miyazawa před 2 roky
rodič
revize
d0ed5f3bf5

+ 8 - 3
apps/app/src/server/service/config-loader.ts

@@ -4,9 +4,8 @@ import { parseISO } from 'date-fns';
 import { GrowiServiceType } from '~/features/questionnaire/interfaces/growi-info';
 import loggerFactory from '~/utils/logger';
 
-import ConfigModel, {
-  Config, defaultCrowiConfigs, defaultMarkdownConfigs, defaultNotificationConfigs,
-} from '../models/config';
+import type { Config } from '../models/config';
+import ConfigModel, { defaultCrowiConfigs, defaultMarkdownConfigs, defaultNotificationConfigs } from '../models/config';
 
 
 const logger = loggerFactory('growi:service:ConfigLoader');
@@ -712,6 +711,12 @@ const ENV_VAR_NAME_TO_CONFIG_INFO = {
     type: ValueType.NUMBER,
     default: 30000,
   },
+  PAGE_EXPIRATION_SECONDS: {
+    ns: 'crowi',
+    key: 'app:pageExpirationSeconds',
+    type: ValueType.NUMBER,
+    default: 172800, // 2 days
+  },
 };
 
 

+ 1 - 1
apps/app/src/server/service/page/index.ts

@@ -4409,7 +4409,7 @@ class PageService implements IPageService {
   }
 
   async createTtlIndex(): Promise<void> {
-    const pageExpirationSeconds = 60; // TODO: Allow to retrieve from environment variables
+    const pageExpirationSeconds = configManager.getConfig('crowi', 'app:pageExpirationSeconds') ?? 172800;
     const collection = mongoose.connection.collection('pages');
 
     try {