UNPKG

quizzer

Version:

Quizzer is a webserver for collaborative writing lab support. Based on a _fail early, fail often? approach to written language, the tool is particularly suited to second-language learners. The workflow (essay - error - quiz - exam) treats mistakes as an o

27 lines (25 loc) 1.35 kB
(function () { var cogClass = function () {}; cogClass.prototype.exec = function (params, request, response) { var oops = this.utils.apiError; var sys = this.sys; var sql = 'SELECT name,adminKey,interval,email,' + 'CASE WHEN email IS NOT NULL AND NOT email="" AND interval IS NOT NULL THEN 1 ELSE 0 END AS complete,' + 'count(comments.adminID) AS numberOfComments,' + 'lang.languages ' + 'FROM admin ' + 'LEFT JOIN (SELECT adminID,group_concat(lang) AS languages FROM adminLanguages GROUP BY adminID) AS lang ON lang.adminID=admin.adminID ' + 'LEFT JOIN comments USING(adminID) ' + 'WHERE role=2 GROUP BY admin.adminID ORDER BY complete DESC,numberOfComments DESC,name' sys.db.all(sql,function(err,rows){ if (err||!rows) {return oops(response,err,'commenters/readcommenters(1)')}; //console.log(JSON.stringify(rows,null,2)); for (var i=0,ilen=rows.length;i<ilen;i+=1) { rows[i].url = 'http://' + sys.proxy_hostname + sys.quizzer_path + 'staff.html?commenter=' + rows[i].adminKey } response.writeHead(200, {'Content-Type': 'application/json'}); response.end(JSON.stringify(rows)); }); } exports.cogClass = cogClass; })();