All files / src/store/features/integrations/api testConnectionApi.ts

0% Statements 0/13
100% Branches 0/0
0% Functions 0/3
0% Lines 0/13

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                                                                     
import { TEST_CONNECTION } from "../../../../constants/index.ts";
import { apiSlice } from "../../../app/apiSlice.ts";
import { setTestConnectorData } from "../integrationsSlice.ts";
 
export const testConnectionApi = apiSlice.injectEndpoints({
  endpoints: (builder) => ({
    testConnection: builder.query<any, any>({
      query: ({ keys, type, id }) => ({
        url: TEST_CONNECTION,
        method: "POST",
        body: {
          connector: {
            type: type,
            id: id,
          },
          connector_keys: keys,
        },
      }),
      onQueryStarted: async (_, { dispatch, queryFulfilled }) => {
        try {
          dispatch(setTestConnectorData(undefined));
          const { data } = await queryFulfilled;
          dispatch(setTestConnectorData(data));
        } catch (error: any) {
          // Handle any errors
          console.log(error);
          dispatch(setTestConnectorData({ error: error?.error }));
        }
      },
    }),
  }),
});
 
export const { useLazyTestConnectionQuery } = testConnectionApi;