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

42.85% Statements 6/14
100% Branches 0/0
25% Functions 1/4
42.85% Lines 6/14

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 341x 1x 1x   1x 1x                                                   1x    
import { GET_CONNECTOR_KEYS } from "../../../../constants/index.ts";
import { apiSlice } from "../../../app/apiSlice.ts";
import { setConnector, setKey } from "../integrationsSlice.ts";
 
export const getConnectorKeysApi = apiSlice.injectEndpoints({
  endpoints: (builder) => ({
    getConnectorKeys: builder.query<any, string>({
      query: (id) => ({
        url: GET_CONNECTOR_KEYS,
        method: "POST",
        body: {
          connector_id: id,
        },
      }),
      providesTags: ["Integrations"],
      onQueryStarted: async (arg, { dispatch, queryFulfilled }) => {
        try {
          const { data } = await queryFulfilled;
          const connector = data?.connector;
          dispatch(setConnector(connector));
          data?.connector_keys?.forEach((key) => {
            dispatch(setKey({ key: key.key_type, value: key.key }));
          });
        } catch (e) {
          console.log(e);
        }
      },
    }),
  }),
});
 
export const { useLazyGetConnectorKeysQuery, useGetConnectorKeysQuery } =
  getConnectorKeysApi;