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

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

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                                                                       
import { GENERATE_MANIFEST } from "../../../../constants/index.ts";
import { apiSlice } from "../../../app/apiSlice.ts";
import { setKey } from "../integrationsSlice.ts";
 
export const generateManifestApi = apiSlice.injectEndpoints({
  endpoints: (builder) => ({
    generateManifest: builder.mutation<any, void>({
      query: () => ({
        url: GENERATE_MANIFEST,
        method: "POST",
      }),
      onQueryStarted: async (_, { dispatch, queryFulfilled }) => {
        try {
          dispatch(
            setKey({
              key: "manifest",
              value: undefined,
            }),
          );
          const { data } = await queryFulfilled;
          dispatch(
            setKey({
              key: "manifest",
              value: data.app_manifest,
            }),
          );
        } catch (e) {
          console.log(e);
        }
      },
    }),
  }),
});
 
export const { useGenerateManifestMutation } = generateManifestApi;