# HG changeset patch # User bsw # Date 1330203415 -3600 # Node ID be8ca05d0315794a1cfdc4de6bb52d9c2b1b3a65 # Parent 16fc71c6ab8c7148fdd4bd46a9cbd6a368cbc180 Replaced reserved token class by clazz diff -r 16fc71c6ab8c -r be8ca05d0315 lfapi/fields.js --- a/lfapi/fields.js Sun Nov 06 21:18:58 2011 +0100 +++ b/lfapi/fields.js Sat Feb 25 21:56:55 2012 +0100 @@ -13,10 +13,10 @@ exports.suggestion_pseudonym = ['initiative_id', 'id', 'created', 'name', 'description', 'minus2_unfulfilled_count', 'minus2_fulfilled_count', 'minus1_unfulfilled_count', 'minus1_fulfilled_count', 'plus1_unfulfilled_count', 'plus1_fulfilled_count', 'plus2_unfulfilled_count', 'plus2_fulfilled_count']; // add fields of a data structure to where AND group by clause of a query -exports.addObjectFields = function (query, class, field_class) { - if (!field_class) { field_class = class }; +exports.addObjectFields = function (query, clazz, field_class) { + if (!field_class) { field_class = clazz }; exports[field_class].forEach(function(field) { - query.addField('"' + class + '"."' + field + '"', null, ['grouped']); - //query.addGroupBy('"' + class + '"."' + '"' + field + '"'); + query.addField('"' + clazz + '"."' + field + '"', null, ['grouped']); + //query.addGroupBy('"' + clazz + '"."' + '"' + field + '"'); }); -}; \ No newline at end of file +}; diff -r 16fc71c6ab8c -r be8ca05d0315 lfapi/main.js --- a/lfapi/main.js Sun Nov 06 21:18:58 2011 +0100 +++ b/lfapi/main.js Sat Feb 25 21:56:55 2012 +0100 @@ -128,7 +128,7 @@ function addRelatedData(conn, req, res, result, includes) { if (includes.length > 0) { var include = includes.shift(); - var class = include.class; + var clazz = include.clazz; var objects = result[include.objects]; var query; @@ -140,8 +140,8 @@ if (objects.length > 0) { objects_exists = true; objects.forEach( function(object) { - if (object[class + "_id"]) { - ids_hash[object[class + "_id"]] = true; + if (object[clazz + "_id"]) { + ids_hash[object[clazz + "_id"]] = true; }; }); } @@ -149,8 +149,8 @@ for (var key in objects) { objects_exists = true; var object = objects[key]; - if (object[class + "_id"]) { - ids_hash[object[class + "_id"]] = true; + if (object[clazz + "_id"]) { + ids_hash[object[clazz + "_id"]] = true; }; }; }; @@ -162,9 +162,9 @@ } if (ids.length > 0) { query = new selector.Selector(); - query.from(class); - query.addWhere([class + '.id IN (??)', ids]); - fields.addObjectFields(query, class); + query.from(clazz); + query.addWhere([clazz + '.id IN (??)', ids]); + fields.addObjectFields(query, clazz); } }; }; @@ -178,10 +178,10 @@ }); }; - if (class == 'policy') { + if (clazz == 'policy') { result['policies'] = tmp; } else { - result[class + 's'] = tmp; + result[clazz + 's'] = tmp; } addRelatedData(conn, req, res, result, includes); }); @@ -820,6 +820,7 @@ db.query(conn, req, res, query, function (initiator, conn) { var result = { result: initiator.rows } includes = []; + if (params.include_members) includes.push({ class: 'member', objects: 'result'}); if (params.include_initiatives) includes.push({ class: 'initiative', objects: 'result'}); if (params.include_issues) includes.push({ class: 'issue', objects: 'initiatives'}); if (params.include_areas) includes.push({ class: 'area', objects: 'issues'});