diff --git a/api.asp b/api.asp index 5084988..d686e5f 100644 --- a/api.asp +++ b/api.asp @@ -319,7 +319,7 @@ Sub UpdateInstalledApps() Dim cmdDelete Set cmdDelete = Server.CreateObject("ADODB.Command") cmdDelete.ActiveConnection = objConn - cmdDelete.CommandText = "DELETE FROM machineapplications WHERE machineid = ?" + cmdDelete.CommandText = "DELETE FROM installedapps WHERE machineid = ?" cmdDelete.Parameters.Append cmdDelete.CreateParameter("@machineid", 3, 1, , CLng(machineid)) cmdDelete.Execute @@ -343,13 +343,14 @@ Sub UpdateInstalledApps() LogToFile "GetOrCreateApplication returned appid: " & appid If appid > 0 Then - ' Insert mapping + ' Insert mapping (installedapps table uses appid not applicationid) Dim cmdInsert Set cmdInsert = Server.CreateObject("ADODB.Command") cmdInsert.ActiveConnection = objConn - cmdInsert.CommandText = "INSERT INTO machineapplications (machineid, applicationid) VALUES (?, ?)" + cmdInsert.CommandText = "INSERT INTO installedapps (machineid, appid, isactive) VALUES (?, ?, ?)" cmdInsert.Parameters.Append cmdInsert.CreateParameter("@machineid", 3, 1, , CLng(machineid)) cmdInsert.Parameters.Append cmdInsert.CreateParameter("@appid", 3, 1, , CLng(appid)) + cmdInsert.Parameters.Append cmdInsert.CreateParameter("@isactive", 11, 1, , 1) ' 1 = active cmdInsert.Execute If Err.Number = 0 Then @@ -1224,9 +1225,9 @@ Function GetOrCreateApplication(appName, appVersion) Exit Function End If - ' Check if application exists + ' Check if application exists (applications table has appid and appname columns) Dim strSQL, rsResult - strSQL = "SELECT applicationid FROM applications WHERE applicationname = ?" + strSQL = "SELECT appid FROM applications WHERE appname = ?" Set rsResult = ExecuteParameterizedQuery(objConn, strSQL, Array(appName)) If Err.Number <> 0 Then @@ -1236,8 +1237,8 @@ Function GetOrCreateApplication(appName, appVersion) End If If Not rsResult.EOF Then - GetOrCreateApplication = rsResult("applicationid") - LogToFile "Found existing applicationid: " & GetOrCreateApplication + GetOrCreateApplication = rsResult("appid") + LogToFile "Found existing appid: " & GetOrCreateApplication rsResult.Close Set rsResult = Nothing Exit Function @@ -1247,17 +1248,23 @@ Function GetOrCreateApplication(appName, appVersion) LogToFile "Application not found, creating new..." - ' Create new application - ' Prepare parameter value (VBScript doesn't have IIf) - Dim pVersion - If appVersion <> "" Then pVersion = appVersion Else pVersion = Null - + ' Create new application (note: applications table doesn't have version column) + ' Version info is tracked elsewhere or ignored for now Dim cmdInsert Set cmdInsert = Server.CreateObject("ADODB.Command") cmdInsert.ActiveConnection = objConn - cmdInsert.CommandText = "INSERT INTO applications (applicationname, version) VALUES (?, ?)" - cmdInsert.Parameters.Append cmdInsert.CreateParameter("@appname", 200, 1, 255, appName) - cmdInsert.Parameters.Append cmdInsert.CreateParameter("@version", 200, 1, 50, pVersion) + cmdInsert.CommandText = "INSERT INTO applications (appname, appdescription, isactive) VALUES (?, ?, ?)" + cmdInsert.Parameters.Append cmdInsert.CreateParameter("@appname", 200, 1, 50, appName) + + ' Use version as description if available + Dim pDescription + If appVersion <> "" Then + pDescription = "Version: " & appVersion + Else + pDescription = "Auto-detected application" + End If + cmdInsert.Parameters.Append cmdInsert.CreateParameter("@description", 200, 1, 255, pDescription) + cmdInsert.Parameters.Append cmdInsert.CreateParameter("@isactive", 11, 1, , 1) cmdInsert.Execute If Err.Number <> 0 Then