Explorar el Código

add err handling

itizawa hace 5 años
padre
commit
cc907e5c2a

+ 17 - 17
src/client/js/components/RecentCreated/RecentCreated.jsx

@@ -33,29 +33,29 @@ class RecentCreated extends React.Component {
     await this.getRecentCreatedList(selectedPage);
   }
 
-  getRecentCreatedList(selectPageNumber) {
+  async getRecentCreatedList(selectPageNumber) {
     const { appContainer, pageContainer } = this.props;
-    const { pageId } = pageContainer.state;
 
-    const userId = appContainer.currentUserId;
     const limit = appContainer.getConfig().recentCreatedLimit;
     const offset = (selectPageNumber - 1) * limit;
 
     // pagesList get and pagination calculate
-    this.props.appContainer.apiGet('/pages.recentCreated', {
-      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 res = await this.props.appContainer.apiv3Get(`/users/${pageContainer.state.creator._id}/recent`, {
+      limit, offset,
+    });
+
+    console.log(res);
+    // .then((res) => {
+    //   const totalPages = res.totalCount;
+    //   const pages = res.pages;
+    //   const activePage = selectPageNumber;
+    //   this.setState({
+    //     pages,
+    //     activePage,
+    //     totalPages,
+    //     pagingLimit: limit,
+    //   });
+    // });
   }
 
   /**

+ 17 - 5
src/server/routes/apiv3/users.js

@@ -212,16 +212,28 @@ module.exports = (crowi) => {
   // TODO validator
   router.get('/:id/recent', async(req, res) => {
     const { id } = req.params;
-    const user = await User.findById(id);
 
-    const limit = req.query.limit || 50;
-    const offset = req.query.offset || 0;
+    let user;
+
+    try {
+      user = await User.findById(id);
+    }
+    catch (err) {
+      const msg = 'Error occurred in find user';
+      logger.error('Error', err);
+      return res.apiv3Err(new ErrorV3(msg, 'retrieve-recent-created-pages-failed'), 500);
+    }
+
+    if (user == null) {
+      return res.apiv3Err(new ErrorV3('find-user-is-not-found'));
+    }
+
+    const limit = parseInt(req.query.limit) || 50;
+    const offset = parseInt(req.query.offset) || 0;
     const queryOptions = { offset, limit };
 
     try {
       const result = await Page.findListByCreator(user, req.user, queryOptions);
-
-      console.log(result);
       return res.apiv3({ result });
     }
     catch (err) {

+ 2 - 0
src/server/routes/page.js

@@ -1633,6 +1633,8 @@ module.exports = function(crowi, app) {
     try {
       const result = await Page.findListByCreator(page.creator, req.user, queryOptions);
 
+      console.log(result);
+
       return res.json(ApiResponse.success(result));
     }
     catch (err) {