import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react"; const isDev = process.env.NODE_ENV === "development"; const baseUrl = new URL(process.env.DATA_ACQUISITION_URL); const kDataAcquisitionApi = "sebn-data-acquisition/api"; const kWorkplaceLocationApi = "sebn-material-requests-manager/api/workplace-location"; const kLocateWorkplaceUrl = `${baseUrl.href}sebn-material-requests-manager/locate`; export const dataApi = createApi({ reducerPath: "dataApi", baseQuery: fetchBaseQuery({ baseUrl: baseUrl.href, }), endpoints: (builder) => ({ fetchEmployee: builder.mutation({ query: (userId) => ({ url: `${kDataAcquisitionApi}/sebn-taskbar-manager/employee-info/`, method: "POST", body: { id: userId, }, }), }), fetchBoards: builder.mutation({ query: ({ location, hostname }) => ({ url: `${kDataAcquisitionApi}/sebn-taskbar-manager/mao-boards/`, method: "POST", body: { connection: `MAO / ${location}`, hostname, }, }), }), getWorkplaceLocationUrl: builder.mutation({ query: (hostname) => ({ url: `${kWorkplaceLocationApi}/${hostname}/`, method: "GET", validateStatus: () => true, responseHandler: (response) => { if (response.status === 200) return `${kLocateWorkplaceUrl}/${hostname}/`; return null; }, }), }), }), }); export const { useFetchEmployeeMutation, useFetchBoardsMutation, useGetWorkplaceLocationUrlMutation, } = dataApi;