data = {}; try { requestBody = toString(getHttpRequestData().content); if (len(requestBody)) data = deserializeJSON(requestBody); } catch (any e) {} businessId = structKeyExists(data, "BusinessID") ? val(data.BusinessID) : 0; userId = structKeyExists(data, "UserID") ? val(data.UserID) : 0; isActive = structKeyExists(data, "IsActive") ? (data.IsActive ? 1 : 0) : 1; if (businessId <= 0 || userId <= 0) { writeOutput(serializeJSON({ "OK": false, "ERROR": "missing_params", "MESSAGE": "BusinessID and UserID required" })); abort; } try { // Update employee record queryExecute(" UPDATE lt_Users_Businesses_Employees SET EmployeeIsActive = ? WHERE BusinessID = ? AND UserID = ? ", [ { value: isActive, cfsqltype: "cf_sql_bit" }, { value: businessId, cfsqltype: "cf_sql_integer" }, { value: userId, cfsqltype: "cf_sql_integer" } ], { datasource: "payfrit" }); // Get updated record q = queryExecute(" SELECT e.EmployeeID, e.BusinessID, e.UserID, e.EmployeeStatusID, CAST(e.EmployeeIsActive AS UNSIGNED) AS EmployeeIsActive, b.BusinessName, u.UserFirstName, u.UserLastName FROM lt_Users_Businesses_Employees e JOIN Businesses b ON e.BusinessID = b.BusinessID JOIN Users u ON e.UserID = u.UserID WHERE e.BusinessID = ? AND e.UserID = ? ", [ { value: businessId, cfsqltype: "cf_sql_integer" }, { value: userId, cfsqltype: "cf_sql_integer" } ], { datasource: "payfrit" }); if (q.recordCount > 0) { writeOutput(serializeJSON({ "OK": true, "MESSAGE": "Employee updated", "EMPLOYEE": { "EmployeeID": q.EmployeeID, "BusinessID": q.BusinessID, "BusinessName": q.BusinessName, "UserID": q.UserID, "UserName": trim(q.UserFirstName & " " & q.UserLastName), "StatusID": q.EmployeeStatusID, "IsActive": q.EmployeeIsActive } })); } else { writeOutput(serializeJSON({ "OK": false, "ERROR": "not_found", "MESSAGE": "Employee record not found" })); } } catch (any e) { writeOutput(serializeJSON({ "OK": false, "ERROR": "server_error", "MESSAGE": e.message })); }