ryosei-f hai 6 meses
pai
achega
162a679e53

+ 1 - 1
apps/app/src/server/service/growi-info/growi-info.integ.ts

@@ -25,7 +25,7 @@ describe('GrowiInfoService', () => {
     process.env.SAML_ENABLED = 'true';
 
     // setup page model before loading configs
-    getPageSchema(null);
+    // getPageSchema(null);
     pageModel(null);
     Page = mongoose.model('Page');
 

+ 5 - 4
apps/app/src/server/service/growi-info/growi-info.ts

@@ -5,7 +5,7 @@ import type {
   GrowiInfoOptions,
   IGrowiAdditionalInfoResult,
 } from '@growi/core';
-import type { IUser } from '@growi/core/dist/interfaces';
+import type { IPage, IUser } from '@growi/core/dist/interfaces';
 import { GrowiWikiType } from '@growi/core/dist/interfaces';
 import { pathUtils } from '@growi/core/dist/utils';
 import type { Model } from 'mongoose';
@@ -13,7 +13,7 @@ import mongoose from 'mongoose';
 
 import { IExternalAuthProviderType } from '~/interfaces/external-auth-provider';
 import { Config } from '~/server/models/config';
-import type { PageDocument, PageModel } from '~/server/models/page';
+import type { PageModel } from '~/server/models/page';
 import { aclService } from '~/server/service/acl';
 import { configManager } from '~/server/service/config-manager';
 import { getGrowiVersion } from '~/utils/growi-version';
@@ -118,7 +118,7 @@ export class GrowiInfoService {
 
   private async getAdditionalInfoByOptions<T extends GrowiInfoOptions>(options: T): Promise<IGrowiAdditionalInfoResult<T>> {
     const User = mongoose.model<IUser, Model<IUser>>('User');
-    const Page = mongoose.model<PageDocument, PageModel>('Page');
+    const Page = mongoose.model<IPage, PageModel>('Page');
 
     // Check if any option is enabled to determine if we should return additional info
     const hasAnyOption = options.includeAttachmentInfo || options.includeInstalledInfo || options.includeUserCountInfo || options.includePageCountInfo;
@@ -168,7 +168,8 @@ export class GrowiInfoService {
     }
 
     if (options.includePageCountInfo) {
-      const currentPagesCount = await Page.countDocuments();
+      const rootPage = await Page.findOne({ path: '/' });
+      const currentPagesCount = (rootPage?.descendantCount ?? 0) + 1;
       partialResult.currentPagesCount = currentPagesCount;
     }