<cfsetting showdebugoutput="false">
<cfsetting enablecfoutputonly="true">
<cfcontent type="application/json; charset=utf-8" reset="true">

<cfscript>
try {
    q = queryExecute("
        SELECT ID, Title, Details, TaskCategoryID, ClaimedByUserID, CompletedOn, CreatedOn
        FROM Tasks
        WHERE BusinessID = 47
        ORDER BY ID DESC
        LIMIT 20
    ", [], { datasource: "payfrit" });

    tasks = [];
    for (row in q) {
        arrayAppend(tasks, {
            "TaskID": row.ID,
            "Title": row.Title,
            "Details": isNull(row.Details) ? "" : row.Details,
            "CategoryID": row.ID,
            "ClaimedByUserID": row.ClaimedByUserID,
            "CompletedOn": isNull(row.CompletedOn) ? "" : dateTimeFormat(row.CompletedOn, "yyyy-mm-dd HH:nn:ss"),
            "AddedOn": isNull(row.CreatedOn) ? "" : dateTimeFormat(row.CreatedOn, "yyyy-mm-dd HH:nn:ss")
        });
    }

    writeOutput(serializeJSON({
        "OK": true,
        "COUNT": arrayLen(tasks),
        "TASKS": tasks
    }));
} catch (any e) {
    writeOutput(serializeJSON({
        "OK": false,
        "ERROR": e.message
    }));
}
</cfscript>
