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

fix: update IUser to IUserHasId in grant preservation tests and add updatePageSubOperation to IPageService

Yuki Takei 2 дней назад
Родитель
Сommit
6f4ab17b76

+ 4 - 4
apps/app/src/server/service/page/grant-preserve-on-update.integ.ts

@@ -1,4 +1,4 @@
-import { type IUser, PageGrant } from '@growi/core';
+import { type IUserHasId, PageGrant } from '@growi/core';
 import type { HydratedDocument, Model } from 'mongoose';
 import type { HydratedDocument, Model } from 'mongoose';
 import mongoose from 'mongoose';
 import mongoose from 'mongoose';
 import { vi } from 'vitest';
 import { vi } from 'vitest';
@@ -20,8 +20,8 @@ import type { PageDocument, PageModel } from '~/server/models/page';
 describe('PageService.updatePage grant preservation', () => {
 describe('PageService.updatePage grant preservation', () => {
   let crowi: Crowi;
   let crowi: Crowi;
   let Page: PageModel;
   let Page: PageModel;
-  let User: Model<IUser>;
-  let user: HydratedDocument<IUser>;
+  let User: Model<IUserHasId>;
+  let user: HydratedDocument<IUserHasId>;
 
 
   const create = async (
   const create = async (
     path: string,
     path: string,
@@ -54,7 +54,7 @@ describe('PageService.updatePage grant preservation', () => {
     crowi = await getInstance();
     crowi = await getInstance();
     await crowi.configManager.updateConfig('app:isV5Compatible', true);
     await crowi.configManager.updateConfig('app:isV5Compatible', true);
 
 
-    User = mongoose.model<IUser>('User');
+    User = mongoose.model<IUserHasId>('User');
     Page = mongoose.model<PageDocument, PageModel>('Page');
     Page = mongoose.model<PageDocument, PageModel>('Page');
 
 
     // Suppress page events so their async listeners (e.g. obsolete-page onUpdate)
     // Suppress page events so their async listeners (e.g. obsolete-page onUpdate)

+ 7 - 0
apps/app/src/server/service/page/page-service.ts

@@ -185,6 +185,13 @@ export interface IPageService {
     options: IOptionsForCreate,
     options: IOptionsForCreate,
     pageOpId: ObjectIdLike,
     pageOpId: ObjectIdLike,
   ): Promise<void>;
   ): Promise<void>;
+  updatePageSubOperation(
+    page,
+    user,
+    exPage,
+    options: IOptionsForUpdate,
+    pageOpId: ObjectIdLike,
+  ): Promise<void>;
 
 
   getCreatorIdForCanDelete(page: PageDocument): Promise<ObjectIdLike | null>;
   getCreatorIdForCanDelete(page: PageDocument): Promise<ObjectIdLike | null>;