ryuichi-e 5 лет назад
Родитель
Сommit
565ebcd063

+ 10 - 28
src/client/js/components/MyBookmarkList/MyBookmarkList.jsx

@@ -41,30 +41,14 @@ class MyBookmarkList extends React.Component {
     const { appContainer } = this.props;
 
     const userId = appContainer.currentUserId;
-    /* TODO GW-3255 get config from customize settings */
-    const limit = appContainer.getConfig().recentCreatedLimit;
-    const offset = (selectPageNumber - 1) * limit;
-
-
-    /* /pages.myBookmarks is not exitst. TODO GW-3251 Create api v3 /pages.myBookmarks */
-
-    // This block is cited from MyDraftList
-    /* await this.props.appContainer.apiGet('/pages.myBookmarks', {
-      page_id: pageId, user: userId, limit, offset,
-    })
-      .then((res) => {
-        const totalPages = res.totalCount;
-        const pages = res.pages;
-        const activePage = selectPageNumber;
-        this.setState({
-          pages,
-          activePage,
-          totalPages,
-          pagingLimit: limit,
-        });
-      }); */
+    // const limit = appContainer.getConfig().recentCreatedLimit;
+    // const offset = (selectPageNumber - 1) * limit;
+
     try {
-      await pageContainer.retrieveMyBookmarkList(pageId, userId, limit, offset);
+      const bookmarkList = await this.props.appContainer.apiv3.get('/users', userId);
+      this.setState({
+        pages: bookmarkList,
+      });
     }
     catch (error) {
       logger.error('failed to fetch data', error);
@@ -78,9 +62,8 @@ class MyBookmarkList extends React.Component {
    * @param {any} pages Array of pages Model Obj
    *
    */
-  generatePageList(pages) {
-    /* TODO GW-3251 */
-    return pages.map(page => (
+  generatePageList() {
+    return this.state.pages.map(page => (
       <li key={`my-bookmarks-list:list-view:${page._id}`}>
         <Page page={page} />
       </li>
@@ -89,12 +72,11 @@ class MyBookmarkList extends React.Component {
 
 
   render() {
-    const pageList = this.generatePageList(this.state.pages);
 
     return (
       <div className="page-list-container-create">
         <ul className="page-list-ul page-list-ul-flat mb-3">
-          {pageList}
+          {this.generatePageList()}
         </ul>
         <PaginationWrapper
           activePage={this.state.activePage}

+ 5 - 2
src/server/routes/apiv3/bookmarks.js

@@ -108,10 +108,13 @@ module.exports = (crowi) => {
   router.get('/byUser', accessTokenParser, loginRequired, csrf, apiV3FormValidator, async(req, res) => {
     const { userId } = req.query;
     try {
-      const bookmark = await Bookmark
+      const bookmarks = await Bookmark
         .find({ user: userId })
         .populate({ path: 'page', model: 'Page' });
-      return res.apiv3({ bookmark });
+      const pageList = bookmarks.map((bookmark) => {
+        return bookmark.page;
+      });
+      return res.apiv3({ pageList });
     }
     catch (err) {
       logger.error('get-bookmark-failed', err);