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
) => {
  console.log('organization,userId,wallVisibility,roofVisibility,shadowVisibility,renderDistance,limitDistance,: ', organization,
    userId,
    wallVisibility,
    roofVisibility,
    shadowVisibility,
    renderDistance,
    limitDistance,projectId);
  try {
    const response = await fetch(
      `${url_Backend_dwinzo}/api/V1/SetEnvironments`,
      {
        method: "POST",
        headers: {
          Authorization: "Bearer <access_token>",  // Replace with actual token
          "Content-Type": "application/json",
          token: localStorage.getItem("token") || "",  // Coerce null to empty string
          refresh_token: localStorage.getItem("refreshToken") || "",
        },
        body: JSON.stringify({
          organization,
          userId,
          wallVisibility,
          roofVisibility,
          shadowVisibility,
          renderDistance,
          limitDistance,
          projectId

        }),
      }
    );

    // console.log('responseenv: ', response);
    if (!response.ok) {
      throw new 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) {
      throw new Error(error.message);
    } else {
      throw new Error("An unknown error occurred");
    }
  }
};
