Snai3i-LandingPage-FormBuilder / frontend / src / app / backend / endpoints / registerForms.ts
registerForms.ts
Raw
import api from '..';
const REGISTER_FORMS_IDS_API = 'api/forms/register-fid';
const REGISTER_FORMS_API = 'api/forms/register-form';

export const formsApi = api.injectEndpoints({
  endpoints: (build) => ({
    getAllRegisterFormIds: build.query<ResponseI<RegisterFormIdType[]>, null>({
      query: () => ({
        url: `${REGISTER_FORMS_IDS_API}`,
        method: 'GET',
      }),
      providesTags: ['RegformsIds'],
    }),
    getRegisterForm: build.query<ResponseI<FormType>, string>({
      query: (name) => ({
        url: `${REGISTER_FORMS_API}/${name}`,
        method: 'GET',
      }),
    }),
    updateRegisterFormId: build.mutation<
      ResponseI<RegisterFormIdType>,
      { name: string; formId: string }
    >({
      query: (data) => ({
        url: `${REGISTER_FORMS_IDS_API}`,
        method: 'PATCH',
        body: data,
      }),
      invalidatesTags: ['RegformsIds'],
    }),
  }),
});

export const {
  useGetAllRegisterFormIdsQuery,
  useGetRegisterFormQuery,
  useUpdateRegisterFormIdMutation,
} = formsApi;