All files / utils users.js

100% Statements 45/45
100% Branches 7/7
100% Functions 4/4
100% Lines 45/45

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 491x 1x 1x   1x 9x 9x 9x 4x 4x 4x 2x 2x 2x 2x 2x 9x 9x 9x 9x 9x 9x   1x 4x 4x 1x 1x 1x 4x 4x 4x 4x 4x 4x   1x 4x 4x 1x 1x 1x 4x 4x 4x 4x 4x 4x  
import { useQuery } from "react-query";
import axios from "axios";
import { useBackendMutation } from "./useBackend";
 
export function useUsers() {
  return useQuery(
    "users",
    async () => {
      const uri = "/api/admin/users";
      try {
        const response = await axios.get(uri);
        return response.data;
      } catch (e) {
        console.error(`Error getting data from ${uri}:`, e);
        throw e;
      }
    },
    {
      initialData: [],
    },
  );
}
 
export function useSuspendUser() {
  return useBackendMutation(
    (cell) => ({
      method: "post",
      url: "/api/admin/users/suspend",
      params: { userId: cell.row.values.id },
    }),
    {},
    // Stryker disable next-line all : hard to set up test for query key invalidation for mutations
    "users",
  );
}
 
export function useRestoreUser() {
  return useBackendMutation(
    (cell) => ({
      method: "post",
      url: "/api/admin/users/restore",
      params: { userId: cell.row.values.id },
    }),
    {},
    // Stryker disable next-line all : hard to set up test for query key invalidation for mutations
    "users",
  );
}