soumaeda пре 2 година
родитељ
комит
820b61bc28

+ 4 - 7
apps/app/src/client/services/page-operation.ts

@@ -102,14 +102,14 @@ export const createPage = async(pagePath: string, markdown: string, tmpParams: O
 };
 };
 
 
 // TODO: define return type
 // TODO: define return type
-const updatePage = async(pageId: string, revisionId: string, markdown: string, tmpParams: OptionsToSave, pageTags: string[]) => {
+const updatePage = async(pageId: string, revisionId: string, markdown: string, tmpParams: OptionsToSave) => {
   // clone
   // clone
   const params = Object.assign(tmpParams, {
   const params = Object.assign(tmpParams, {
     page_id: pageId,
     page_id: pageId,
     revision_id: revisionId,
     revision_id: revisionId,
     body: markdown,
     body: markdown,
-    tags: pageTags,
   });
   });
+  console.log('params', params);
 
 
   const res: any = await apiPost('/pages.update', params);
   const res: any = await apiPost('/pages.update', params);
   if (!res.ok) {
   if (!res.ok) {
@@ -122,7 +122,6 @@ type PageInfo= {
   path: string,
   path: string,
   pageId: Nullable<string>,
   pageId: Nullable<string>,
   revisionId: Nullable<string>,
   revisionId: Nullable<string>,
-  pageTags: string[],
 }
 }
 
 
 type SaveOrUpdateFunction = (markdown: string, pageInfo: PageInfo, optionsToSave?: OptionsToSave) => any;
 type SaveOrUpdateFunction = (markdown: string, pageInfo: PageInfo, optionsToSave?: OptionsToSave) => any;
@@ -134,9 +133,7 @@ export const useSaveOrUpdate = (): SaveOrUpdateFunction => {
   /* eslint-enable react-hooks/rules-of-hooks */
   /* eslint-enable react-hooks/rules-of-hooks */
 
 
   return useCallback(async(markdown: string, pageInfo: PageInfo, optionsToSave?: OptionsToSave) => {
   return useCallback(async(markdown: string, pageInfo: PageInfo, optionsToSave?: OptionsToSave) => {
-    const {
-      path, pageId, revisionId, pageTags,
-    } = pageInfo;
+    const { path, pageId, revisionId } = pageInfo;
 
 
     const options: OptionsToSave = Object.assign({}, optionsToSave);
     const options: OptionsToSave = Object.assign({}, optionsToSave);
 
 
@@ -149,7 +146,7 @@ export const useSaveOrUpdate = (): SaveOrUpdateFunction => {
         const msg = '\'revisionId\' is required to update page';
         const msg = '\'revisionId\' is required to update page';
         throw new Error(msg);
         throw new Error(msg);
       }
       }
-      res = await updatePage(pageId, revisionId, markdown, options, pageTags);
+      res = await updatePage(pageId, revisionId, markdown, options);
     }
     }
 
 
     mutateIsEnabledUnsavedWarning(false);
     mutateIsEnabledUnsavedWarning(false);

+ 1 - 3
apps/app/src/client/services/side-effects/drawio-modal-launcher-for-view.ts

@@ -57,9 +57,7 @@ export const useDrawioModalLauncherForView = (opts?: {
       const currentRevisionId = currentPage.revision._id;
       const currentRevisionId = currentPage.revision._id;
       await saveOrUpdate(
       await saveOrUpdate(
         newMarkdown,
         newMarkdown,
-        {
-          pageId: currentPage._id, path: currentPage.path, revisionId: currentRevisionId, pageTags: tagsInfo.tags,
-        },
+        { pageId: currentPage._id, path: currentPage.path, revisionId: currentRevisionId },
         optionsToSave,
         optionsToSave,
       );
       );
 
 

+ 1 - 3
apps/app/src/client/services/side-effects/handsontable-modal-launcher-for-view.ts

@@ -56,9 +56,7 @@ export const useHandsontableModalLauncherForView = (opts?: {
       const currentRevisionId = currentPage.revision._id;
       const currentRevisionId = currentPage.revision._id;
       await saveOrUpdate(
       await saveOrUpdate(
         newMarkdown,
         newMarkdown,
-        {
-          pageId: currentPage._id, path: currentPage.path, revisionId: currentRevisionId, pageTags: tagsInfo.tags,
-        },
+        { pageId: currentPage._id, path: currentPage.path, revisionId: currentRevisionId },
         optionsToSave,
         optionsToSave,
       );
       );
 
 

+ 4 - 6
apps/app/src/components/PageEditor/PageEditor.tsx

@@ -99,7 +99,7 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
   const { trigger: mutateCurrentPage } = useSWRMUTxCurrentPage();
   const { trigger: mutateCurrentPage } = useSWRMUTxCurrentPage();
   const { data: grantData } = useSelectedGrant();
   const { data: grantData } = useSelectedGrant();
   const { data: pageTags, sync: syncTagsInfoForEditor } = usePageTagsForEditors(pageId);
   const { data: pageTags, sync: syncTagsInfoForEditor } = usePageTagsForEditors(pageId);
-  const { data: tagsInfo, mutate: mutateTagsInfo } = useSWRxTagsInfo(pageId);
+  const { mutate: mutateTagsInfo } = useSWRxTagsInfo(pageId);
   const { data: editingMarkdown, mutate: mutateEditingMarkdown } = useEditingMarkdown();
   const { data: editingMarkdown, mutate: mutateEditingMarkdown } = useEditingMarkdown();
   const { data: isEnabledAttachTitleHeader } = useIsEnabledAttachTitleHeader();
   const { data: isEnabledAttachTitleHeader } = useIsEnabledAttachTitleHeader();
   const { data: templateBodyData } = useTemplateBodyData();
   const { data: templateBodyData } = useTemplateBodyData();
@@ -218,7 +218,7 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
       isSlackEnabled: isSlackEnabled ?? false,
       isSlackEnabled: isSlackEnabled ?? false,
       slackChannels: '', // set in save method by opts in SavePageControlls.tsx
       slackChannels: '', // set in save method by opts in SavePageControlls.tsx
       grant: grantData.grant,
       grant: grantData.grant,
-      pageTags: pageTags ?? [],
+      pageTags: pageTags || null,
       grantUserGroupId: grantData.grantedGroup?.id,
       grantUserGroupId: grantData.grantedGroup?.id,
       grantUserGroupName: grantData.grantedGroup?.name,
       grantUserGroupName: grantData.grantedGroup?.name,
     };
     };
@@ -227,7 +227,7 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
 
 
 
 
   const save = useCallback(async(opts?: {slackChannels: string, overwriteScopesOfDescendants?: boolean}): Promise<IPageHasId | null> => {
   const save = useCallback(async(opts?: {slackChannels: string, overwriteScopesOfDescendants?: boolean}): Promise<IPageHasId | null> => {
-    if (currentPathname == null || optionsToSave == null || tagsInfo == null) {
+    if (currentPathname == null || optionsToSave == null) {
       logger.error('Some materials to save are invalid', { grantData, isSlackEnabled, currentPathname });
       logger.error('Some materials to save are invalid', { grantData, isSlackEnabled, currentPathname });
       throw new Error('Some materials to save are invalid');
       throw new Error('Some materials to save are invalid');
     }
     }
@@ -239,9 +239,7 @@ export const PageEditor = React.memo((props: Props): JSX.Element => {
 
 
       const { page } = await saveOrUpdate(
       const { page } = await saveOrUpdate(
         codeMirrorEditor?.getDoc() ?? '',
         codeMirrorEditor?.getDoc() ?? '',
-        {
-          pageId, path: currentPagePath || currentPathname, revisionId: currentRevisionId, pageTags: tagsInfo.tags,
-        },
+        { pageId, path: currentPagePath || currentPathname, revisionId: currentRevisionId },
         options,
         options,
       );
       );
 
 

+ 2 - 1
apps/app/src/server/routes/page.js

@@ -455,7 +455,8 @@ module.exports = function(crowi, app) {
     const overwriteScopesOfDescendants = req.body.overwriteScopesOfDescendants || null;
     const overwriteScopesOfDescendants = req.body.overwriteScopesOfDescendants || null;
     const isSlackEnabled = !!req.body.isSlackEnabled; // cast to boolean
     const isSlackEnabled = !!req.body.isSlackEnabled; // cast to boolean
     const slackChannels = req.body.slackChannels || null;
     const slackChannels = req.body.slackChannels || null;
-    const pageTags = req.body.tags || undefined;
+    const pageTags = req.body.pageTags || undefined;
+    console.log('tags', pageTags, pageId);
 
 
     if (pageId === null || pageBody === null || revisionId === null) {
     if (pageId === null || pageBody === null || revisionId === null) {
       return res.json(ApiResponse.error('page_id, body and revision_id are required.'));
       return res.json(ApiResponse.error('page_id, body and revision_id are required.'));