try { requestBody = toString(getHttpRequestData().content); requestData = {}; if (len(requestBody)) { requestData = deserializeJSON(requestBody); } tableName = requestData.table ?: ""; if (len(tableName) == 0) { writeOutput(serializeJSON({ "OK": false, "ERROR": "table parameter required" })); abort; } // Get table structure cols = queryExecute("DESCRIBE #tableName#", {}, { datasource: "payfrit" }); columns = []; for (c in cols) { arrayAppend(columns, { "Field": c.Field, "Type": c.Type, "Null": c.Null, "Key": c.Key, "Default": isNull(c.Default) ? "NULL" : c.Default }); } // Get sample data sampleData = queryExecute("SELECT * FROM #tableName# LIMIT 5", {}, { datasource: "payfrit" }); samples = []; for (row in sampleData) { arrayAppend(samples, row); } writeOutput(serializeJSON({ "OK": true, "TABLE": tableName, "COLUMNS": columns, "SAMPLE_DATA": sampleData, "ROW_COUNT": sampleData.recordCount })); } catch (any e) { writeOutput(serializeJSON({ "OK": false, "ERROR": e.message })); }