Browse Source

ancestorUserGroup --> ancestorUserGroups

Shun Miyazawa 4 years ago
parent
commit
f625f6187c

+ 2 - 2
packages/app/src/interfaces/user-group-response.ts

@@ -22,6 +22,6 @@ export type SelectableUserGroupsResult = {
   selectableUserGroups: IUserGroupHasId[],
 }
 
-export type AncestorUserGroupResult = {
-  ancestorUserGroup: IUserGroupHasId
+export type AncestorUserGroupsResult = {
+  ancestorUserGroups: IUserGroupHasId[],
 }

+ 2 - 3
packages/app/src/server/routes/apiv3/user-group.js

@@ -130,14 +130,13 @@ module.exports = (crowi) => {
     }
   });
 
-  router.get('/ancestor', loginRequiredStrictly, adminRequired, validator.ancestorGroup, async(req, res) => {
+  router.get('/ancestors', loginRequiredStrictly, adminRequired, validator.ancestorGroup, async(req, res) => {
     const { groupId } = req.query;
 
     try {
       const userGroup = await UserGroup.findById(groupId);
       const ancestorUserGroups = await UserGroup.findGroupsWithAncestorsRecursively(userGroup, []);
-      const ancestorUserGroup = ancestorUserGroups.find(group => group.parent == null);
-      return res.apiv3({ ancestorUserGroup });
+      return res.apiv3({ ancestorUserGroups });
     }
     catch (err) {
       const msg = 'Error occurred while searching user groups';

+ 4 - 4
packages/app/src/stores/user-group.tsx

@@ -6,7 +6,7 @@ import { apiv3Get } from '~/client/util/apiv3-client';
 import { IPageHasId } from '~/interfaces/page';
 import { IUserGroupHasId, IUserGroupRelationHasId } from '~/interfaces/user';
 import {
-  UserGroupListResult, ChildUserGroupListResult, UserGroupRelationListResult, UserGroupPagesResult, SelectableUserGroupsResult, AncestorUserGroupResult,
+  UserGroupListResult, ChildUserGroupListResult, UserGroupRelationListResult, UserGroupPagesResult, SelectableUserGroupsResult, AncestorUserGroupsResult,
 } from '~/interfaces/user-group-response';
 
 
@@ -67,9 +67,9 @@ export const useSWRxSelectableUserGroups = (groupId: string | undefined): SWRRes
   );
 };
 
-export const useSWRxAncestorUserGroup = (groupId: string | undefined): SWRResponse<IUserGroupHasId, Error> => {
+export const useSWRxAncestorUserGroups = (groupId: string | undefined): SWRResponse<IUserGroupHasId[], Error> => {
   return useSWRImmutable(
-    groupId != null ? ['/user-groups/ancestor'] : null,
-    endpoint => apiv3Get<AncestorUserGroupResult>(endpoint, { groupId }).then(result => result.data.ancestorUserGroup),
+    groupId != null ? ['/user-groups/ancestors'] : null,
+    endpoint => apiv3Get<AncestorUserGroupsResult>(endpoint, { groupId }).then(result => result.data.ancestorUserGroups),
   );
 };