feat: fetch all user group memberships

This commit is contained in:
Daniel Hougaard
2024-09-08 20:19:10 +04:00
parent 7846a81636
commit 34a2452bf5
2 changed files with 16 additions and 0 deletions
+1
View File
@@ -21,6 +21,7 @@ export {
useGetOrgUsers, useGetOrgUsers,
useGetUser, useGetUser,
useGetUserAction, useGetUserAction,
useListUserGroupMemberships,
useLogoutUser, useLogoutUser,
useRegisterUserAction, useRegisterUserAction,
useRevokeMySessions, useRevokeMySessions,
+15
View File
@@ -5,6 +5,7 @@ import { SessionStorageKeys } from "@app/const";
import { setAuthToken } from "@app/reactQuery"; import { setAuthToken } from "@app/reactQuery";
import { APIKeyDataV2 } from "../apiKeys/types"; import { APIKeyDataV2 } from "../apiKeys/types";
import { TGroupWithProjectMemberships } from "../groups/types";
import { import {
AddUserToOrgDTO, AddUserToOrgDTO,
APIKeyData, APIKeyData,
@@ -38,6 +39,7 @@ export const userKeys = {
myAPIKeysV2: ["api-keys-v2"] as const, myAPIKeysV2: ["api-keys-v2"] as const,
mySessions: ["sessions"] as const, mySessions: ["sessions"] as const,
listUsers: ["user-list"] as const, listUsers: ["user-list"] as const,
listUserGroupMemberships: (username: string) => ["user-group-memberships", username] as const,
myOrganizationProjects: (orgId: string) => [{ orgId }, "organization-projects"] as const myOrganizationProjects: (orgId: string) => [{ orgId }, "organization-projects"] as const
}; };
@@ -444,3 +446,16 @@ export const fetchMyPrivateKey = async () => {
return privateKey; return privateKey;
}; };
export const useListUserGroupMemberships = (username: string) => {
return useQuery({
queryKey: userKeys.listUserGroupMemberships(username),
queryFn: async () => {
const { data } = await apiRequest.get<TGroupWithProjectMemberships[]>(
`/api/v1/user/me/${username}/groups`
);
return data;
}
});
};