package com.shipyard.inventory import java.io.OutputStreamWriter import java.net.HttpURLConnection import java.net.URL import org.json.JSONObject import kotlin.concurrent.thread object ApiService { private const val BASE_URL = "http://192.168.1.100/shipyard-inventory/backend/api" private const val API_KEY = "admin_secret_key" fun updateToolLocationAndStatus(toolId: Int, status: String, lat: Double, lng: Double, callback: (Boolean, String) -> Unit) { thread { try { val url = URL("$BASE_URL/tools.php") val conn = url.openConnection() as HttpURLConnection conn.requestMethod = "PUT" conn.setRequestProperty("Content-Type", "application/json") conn.setRequestProperty("X-API-KEY", API_KEY) conn.doOutput = true val payload = JSONObject().apply { put("id", toolId) put("status", status) put("current_gps_lat", lat) put("current_gps_lng", lng) } val writer = OutputStreamWriter(conn.outputStream) writer.write(payload.toString()) writer.flush() val responseCode = conn.responseCode if (responseCode == 200) { callback(true, "Successfully updated yard location.") } else { callback(false, "Server Error: $responseCode") } } catch (e: Exception) { callback(false, e.localizedMessage ?: "Network failure.") } } } }