let url_Backend_dwinzo = `http://${process.env.REACT_APP_SERVER_REST_API_BASE_URL}`;

export const setEnvironment = async (
  organization: string,
  userId: string,
  wallVisibility: boolean,
  roofVisibility: boolean,
  shadowVisibility: boolean,
  renderDistance: number,
  limitDistance: boolean,
  projectId?: string
) => {

  try {
    const response = await fetch(
      `${url_Backend_dwinzo}/api/V1/SetEnvironments`,
      {
        method: "POST",
        headers: {
          Authorization: "Bearer <access_token>",
          "Content-Type": "application/json",
          token: localStorage.getItem("token") || "",
          refresh_token: localStorage.getItem("refreshToken") || "",
        },
        body: JSON.stringify({
          organization,
          userId,
          wallVisibility,
          roofVisibility,
          shadowVisibility,
          renderDistance,
          limitDistance,
          projectId
        }),
      }
    );
    const newAccessToken = response.headers.get("x-access-token");
    if (newAccessToken) {
      //console.log("New token received:", newAccessToken);
      localStorage.setItem("token", newAccessToken);
    }
    // console.log('responseenv: ', response);
    if (!response.ok) {
      console.error("Failed to set wall and roof visibility");
    }

    const result = await response.json();
    // console.log('resultsetenv: ', result);
    return result;
  } catch (error) {
    echo.error("Failed to set env");
    if (error instanceof Error) {
      console.log(error.message);
    } else {
      console.log("An unknown error occurred");
    }
  }
};
