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

create /user-groups/selectable-parent-groups

Shun Miyazawa 4 лет назад
Родитель
Сommit
b6c442e617
1 измененных файлов с 16 добавлено и 0 удалено
  1. 16 0
      packages/app/src/server/routes/apiv3/user-group.js

+ 16 - 0
packages/app/src/server/routes/apiv3/user-group.js

@@ -241,6 +241,22 @@ module.exports = (crowi) => {
     }
   });
 
+  router.get('/selectable-parent-groups', async(req, res) => {
+    const { groupId } = req.query;
+
+    try {
+      const childGroups = await UserGroup.findChildUserGroupsByParentIds([groupId], false);
+      const childGroupIds = childGroups.childUserGroups.map(userGroups => userGroups._id.toString());
+      const selectableParentGroups = await UserGroup.find({ _id: { $nin: [groupId, ...childGroupIds] } });
+      return res.apiv3({ selectableParentGroups });
+    }
+    catch (err) {
+      const msg = 'Error occurred while searching user groups';
+      logger.error(msg, err);
+      return res.apiv3Err(new ErrorV3(msg, 'user-groups-search-failed'));
+    }
+  });
+
   /**
    * @swagger
    *