YUKI Hiroshi
null+****@clear*****
Fri Feb 7 18:07:28 JST 2014
YUKI Hiroshi 2014-02-07 18:07:28 +0900 (Fri, 07 Feb 2014) New Revision: ce93b63082d667278e47f24ea1a938e132964617 https://github.com/droonga/express-droonga/commit/ce93b63082d667278e47f24ea1a938e132964617 Message: Resolve query name automatically Modified files: lib/adapter/api/rest-request-builder.js package.json Modified: lib/adapter/api/rest-request-builder.js (+17 -7) =================================================================== --- lib/adapter/api/rest-request-builder.js 2014-01-29 16:08:46 +0900 (d92a309) +++ lib/adapter/api/rest-request-builder.js 2014-02-07 18:07:28 +0900 (363477b) @@ -1,3 +1,6 @@ +var inflection = require('inflection'); + + var NUMERIC = /^-?(?:[0-9]+(?:\.[0-9]+)?|\.[0-9]+)$/; function getNumericValue(params, key) { var value = params[key]; @@ -23,7 +26,14 @@ function searchRequestBuilder(request) { var queries = {}; var condition = {}; - queries.result = { + var queryName = params.tableName; + try { + queryName = inflection.tableize(queryName); + queryName = inflection.dasherize(queryName); + } catch(error) { + queryName = params.tableName.toLowerCase(); + } + queries[queryName] = { source: params.tableName, output: { elements: [ @@ -37,12 +47,12 @@ function searchRequestBuilder(request) { }; if (typeof queryParams.attributes == 'string') { - queries.result.output.attributes = queryParams.attributes.split(','); + queries[queryName].output.attributes = queryParams.attributes.split(','); } else { - queries.result.output.attributes = []; + queries[queryName].output.attributes = []; } if (typeof queryParams.limit == 'string') - queries.result.output.limit = getIntegerValue(queryParams, 'limit'); + queries[queryName].output.limit = getIntegerValue(queryParams, 'limit'); if (typeof queryParams.match_escalation_threshold == 'string') condition.matchEscalationThreshold = getIntegerValue(queryParams, 'match_escalation_threshold'); @@ -51,12 +61,12 @@ function searchRequestBuilder(request) { if (typeof queryParams.query == 'string') condition.query = queryParams.query; if (Object.keys(condition).length > 0) - queries.result.condition = condition; + queries[queryName].condition = condition; if (typeof queryParams.offset == 'string') - queries.result.offset = getIntegerValue(queryParams, 'offset'); + queries[queryName].offset = getIntegerValue(queryParams, 'offset'); if (typeof queryParams.sort_by == 'string') - queries.result.sortBy = queryParams.sort_by.split(','); + queries[queryName].sortBy = queryParams.sort_by.split(','); var message = {}; message.queries = queries; Modified: package.json (+1 -0) =================================================================== --- package.json 2014-01-29 16:08:46 +0900 (bc0525b) +++ package.json 2014-02-07 18:07:28 +0900 (0543bb7) @@ -17,6 +17,7 @@ "dependencies": { "connect": "*", "fluent-logger": "*", + "inflection": "*", "jade": "*", "less-middleware": "*", "msgpack": "*", -------------- next part -------------- HTML����������������������������...Download