response = {}; try { // Get all businesses with items qBusinesses = queryExecute(" SELECT DISTINCT i.ItemBusinessID, COUNT(*) as ItemCount FROM Items i WHERE i.ItemBusinessID > 0 GROUP BY i.ItemBusinessID ", {}, { datasource: "payfrit" }); response["businesses_with_items"] = []; for (b in qBusinesses) { arrayAppend(response["businesses_with_items"], { "businessID": b.ItemBusinessID, "itemCount": b.ItemCount }); } // Get categories qCategories = queryExecute(" SELECT CategoryBusinessID, COUNT(*) as cnt FROM Categories GROUP BY CategoryBusinessID ", {}, { datasource: "payfrit" }); response["categories_by_business"] = []; for (c in qCategories) { arrayAppend(response["categories_by_business"], { "businessID": c.CategoryBusinessID, "count": c.cnt }); } // Get sample items qItems = queryExecute(" SELECT ItemID, ItemBusinessID, ItemCategoryID, ItemParentItemID, ItemName, ItemIsActive FROM Items WHERE ItemIsActive = 1 LIMIT 20 ", {}, { datasource: "payfrit" }); response["sample_items"] = []; for (i in qItems) { arrayAppend(response["sample_items"], { "id": i.ItemID, "businessID": i.ItemBusinessID, "categoryID": i.ItemCategoryID, "parentID": i.ItemParentItemID, "name": i.ItemName, "active": i.ItemIsActive }); } // Get template links qLinks = queryExecute(" SELECT COUNT(*) as cnt FROM ItemTemplateLinks ", {}, { datasource: "payfrit" }); response["template_link_count"] = qLinks.cnt; response["OK"] = true; } catch (any e) { response["ERROR"] = e.message; response["DETAIL"] = e.detail ?: ""; } writeOutput(serializeJSON(response));