sqlquerybuilder
Advanced tools
Comparing version 0.0.36 to 0.0.37
@@ -0,1 +1,10 @@ | ||
function convertTrueFalse(input) { | ||
if (input === false || input.toUpperCase() === 'FALSE') | ||
return 0; | ||
else if(input === true || input.toUpperCase() === 'TRUE') | ||
return 1; | ||
else | ||
return input; | ||
} | ||
module.exports = function where(self) { | ||
@@ -67,4 +76,4 @@ | ||
var filter = filters[i]; | ||
if (filter.indexOf('.DisplayName') !== -1) { | ||
@@ -90,3 +99,3 @@ filter = filter.replace(/\b.DisplayName/ig, "DisplayName"); | ||
whereString += containsAlias; | ||
} else if (prop.indexOf(".") !== -1 ) { | ||
} else if (prop.indexOf(".") !== -1) { | ||
whereString += prop; | ||
@@ -159,3 +168,3 @@ } else { | ||
var greatAlias = self._selectProps[self._selectAliases.indexOf(filter.substr(0, dateComparer))]; | ||
whereString += (greatAlias ? greatAlias : (filter.substr(0, dateComparer).charAt(0)==="(" ? filter.substr(0, dateComparer) :self._sqlObject.fromAlias + "." + filter.substr(0, dateComparer))) + | ||
whereString += (greatAlias ? greatAlias : (filter.substr(0, dateComparer).charAt(0) === "(" ? filter.substr(0, dateComparer) : self._sqlObject.fromAlias + "." + filter.substr(0, dateComparer))) + | ||
" >= '" + | ||
@@ -170,3 +179,3 @@ filter.substr(dateComparer + 2, filter.length - dateComparer).replace(/-/g, "/") + | ||
var lessAlias = self._selectProps[self._selectAliases.indexOf(filter.substr(0, dateComparer))]; | ||
whereString += (lessAlias ? lessAlias : ( filter.substr(0, dateComparer).charAt(0)==="(" ? filter.substr(0, dateComparer) :self._sqlObject.fromAlias + "." + filter.substr(0, dateComparer))) + | ||
whereString += (lessAlias ? lessAlias : ( filter.substr(0, dateComparer).charAt(0) === "(" ? filter.substr(0, dateComparer) : self._sqlObject.fromAlias + "." + filter.substr(0, dateComparer))) + | ||
" < '" + | ||
@@ -184,3 +193,3 @@ filter.substr(dateComparer + 1, filter.length - dateComparer - 1).replace(/-/g, "/") + | ||
" = " + | ||
filter.substr(equalComparer + 2, filter.length - equalComparer - 3) + | ||
convertTrueFalse(filter.substr(equalComparer + 2, filter.length - equalComparer - 3)) + | ||
")"; | ||
@@ -196,8 +205,8 @@ continue; | ||
whereString += "(" + (dropAlias2 ? dropAlias2 : (self._sqlObject.fromAlias + "." + pars[0])); | ||
whereString += pars[1].toUpperCase() === "NULL" ? " IS " : " = "; | ||
if(isNaN(pars[1]) && pars[1].toUpperCase() !== "NULL"){ | ||
whereString += pars[1].toUpperCase() === "NULL" ? " IS " : " = "; | ||
if (isNaN(pars[1]) && pars[1].toUpperCase() !== "NULL") { | ||
whereString += "'"; | ||
whereString += pars[1] + "'" + ")"; | ||
whereString += convertTrueFalse(pars[1]) + "'" + ")"; | ||
} else { | ||
whereString += pars[1] + | ||
whereString += convertTrueFalse(pars[1]) + | ||
")"; | ||
@@ -204,0 +213,0 @@ } |
{ | ||
"name": "sqlquerybuilder", | ||
"version": "0.0.36", | ||
"version": "0.0.37", | ||
"description": "Highly opinionated Sql Server Query Writer, mostly for internal use.", | ||
@@ -5,0 +5,0 @@ "main": "./lib/index", |
@@ -696,2 +696,28 @@ /** | ||
}); | ||
it('Should give the replace false with 0', function (done) { | ||
var reqquery ={ filters: 'IsActive=true&&(Status.Value==3)&&(IsApproved==false)', | ||
sidx: 'OperationalCategoryName', | ||
sord: 'asc', | ||
RenderFormat: 'paged', | ||
page: '1', | ||
pagePercent: 'Infinity', | ||
total: '0', | ||
rows: '100', | ||
totalPages: '0' }; | ||
var query = sqlBuilder() | ||
.from('ServiceTicketView') | ||
.select({ OperationalCategoryName: 'OperationalCategoryName', | ||
'count(OperationalCategoryName)': 'Count' }) | ||
.groupBy('OperationalCategoryName') | ||
.processListRequest(reqquery) | ||
.build(); | ||
query.should | ||
.equal("WITH SelectedItems AS (SELECT OperationalCategoryName AS 'OperationalCategoryName', count(OperationalCategoryName) AS 'Count', ROW_NUMBER() OVER (ORDER BY OperationalCategoryName ASC) AS Position FROM ServiceTicketView WHERE ServiceTicketView.IsActive = 1 AND (ServiceTicketView.StatusValue = 3) AND (ServiceTicketView.IsApproved = 0) GROUP BY OperationalCategoryName) SELECT *, (Select MAX(Position) From SelectedItems) as 'TotalRows' FROM SelectedItems WHERE Position > 0 AND Position <= 100 ") | ||
done(); | ||
}); | ||
}); |
190259
4013