|
|
@@ -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;
|
|
|
}
|
|
|
|