All files / utils users.js

100% Statements 11/11
100% Branches 0/0
100% Functions 6/6
100% Lines 11/11

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 49          8x     4x 4x 4x 2x   2x 2x                   5x 1x                       5x 1x                    
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);
        return [];
      }
    },
    {
      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"
  );
}