viewmodel
Advanced tools
Comparing version 1.2.3 to 1.2.4
'use strict'; | ||
var util = require('util'), | ||
Repository = require('../base'), | ||
ViewModel = Repository.ViewModel, | ||
ConcurrencyError = require('../concurrencyError'), | ||
azure = require('azure-storage'), | ||
async = require('async'), | ||
uuid = require('node-uuid').v4, | ||
_ = require('lodash'), | ||
jsondate = require('jsondate'), | ||
eg = azure.TableUtilities.entityGenerator, | ||
collections = []; | ||
Repository = require('../base'), | ||
ViewModel = Repository.ViewModel, | ||
ConcurrencyError = require('../concurrencyError'), | ||
azure = require('azure-storage'), | ||
async = require('async'), | ||
uuid = require('node-uuid').v4, | ||
_ = require('lodash'), | ||
jsondate = require('jsondate'), | ||
eg = azure.TableUtilities.entityGenerator, | ||
collections = []; | ||
//helpers | ||
function generateEntity (obj) { | ||
function generateEntity(obj) { | ||
var entity = _.clone(obj); | ||
@@ -22,19 +22,22 @@ for (var property in entity) { | ||
entity[property] = JSON.stringify(entity[property]); | ||
continue; | ||
} | ||
if (_.isBoolean(entity[property])) { | ||
entity[property] = eg.Boolean(entity[property]); | ||
continue; | ||
} | ||
if (_.isDate(entity[property])) { | ||
entity[property] = eg.DateTime(entity[property]); | ||
continue; | ||
} | ||
if (_.isString(entity[property])) { | ||
entity[property] = eg.String(entity[property]); | ||
continue; | ||
} | ||
if (_.isObject(entity[property])) { | ||
entity[property] = JSON.stringify(entity[property]); | ||
continue; | ||
} | ||
switch (typeof entity[property]) { | ||
case 'string': | ||
entity[property] = eg.String(entity[property]); | ||
break; | ||
case 'boolean': | ||
entity[property] = eg.Boolean(entity[property]); | ||
break; | ||
case 'number': | ||
entity[property] = eg.Int32(entity[property]); | ||
break; | ||
default: | ||
entity[property] = eg.Entity(entity[property]); | ||
} | ||
entity[property] = eg.Entity(entity[property]); | ||
} | ||
@@ -64,5 +67,5 @@ } | ||
if (!_.isArray(obj[property]['_']) | ||
&& !_.isObject(obj[property]['_']) | ||
&& obj[property]['$'] | ||
&& obj[property]['$'] == 'Edm.String') { | ||
&& !_.isObject(obj[property]['_']) | ||
&& obj[property]['$'] | ||
&& obj[property]['$'] == 'Edm.String') { | ||
obj[property]['_'] = obj[property]['_'].toString(); | ||
@@ -77,18 +80,4 @@ } | ||
function propertyResolver (pk, rk, name, value) { | ||
if (name.indexOf('BinaryField') !== -1) { | ||
return 'Edm.Binary'; | ||
} else if (name.indexOf('GuidField') !== -1) { | ||
return 'Edm.Guid'; | ||
} else if (name.indexOf('DateField') !== -1) { | ||
return 'Edm.DateTime'; | ||
} else if (name.indexOf('DoubleField') !== -1) { | ||
return 'Edm.Double'; | ||
} | ||
return 'Edm.String'; | ||
} | ||
// Class | ||
function AzureTable (options) { | ||
function AzureTable(options) { | ||
Repository.call(this, options); | ||
@@ -151,19 +140,19 @@ | ||
self.client.retrieveEntity(self.collectionName, | ||
id, | ||
id, | ||
options, | ||
function (err, entity) { | ||
if (err && err.code != 'ResourceNotFound') { | ||
return callback(err); | ||
} | ||
id, | ||
id, | ||
options, | ||
function (err, entity) { | ||
if (err && err.code != 'ResourceNotFound') { | ||
return callback(err); | ||
} | ||
if (!entity) { | ||
return callback(null, new ViewModel({id: id}, self)); | ||
} | ||
if (!entity) { | ||
return callback(null, new ViewModel({id: id}, self)); | ||
} | ||
entity = generateObject(entity); | ||
var vm = new ViewModel(entity, self); | ||
vm.actionOnCommit = 'update'; | ||
callback(null, vm); | ||
}); | ||
entity = generateObject(entity); | ||
var vm = new ViewModel(entity, self); | ||
vm.actionOnCommit = 'update'; | ||
callback(null, vm); | ||
}); | ||
}); | ||
@@ -187,10 +176,10 @@ }, | ||
tableQuery = _(query) | ||
.reduce(function (result, val, key) { | ||
if (key.indexOf('.') == -1) { | ||
if (result._where.length === 0) return tableQuery.where(key + ' eq ?', val); | ||
return result.and(key + ' eq ?', val); | ||
} else { | ||
return result; | ||
} | ||
}, tableQuery); | ||
.reduce(function (result, val, key) { | ||
if (key.indexOf('.') == -1) { | ||
if (result._where.length === 0) return tableQuery.where(key + ' eq ?', val); | ||
return result.and(key + ' eq ?', val); | ||
} else { | ||
return result; | ||
} | ||
}, tableQuery); | ||
@@ -276,6 +265,6 @@ if (queryOptions.limit !== -1) { | ||
self.client.deleteEntity(self.collectionName, objDescriptor, function (err) { | ||
if (err) { | ||
if (callback) callback(err); | ||
return; | ||
} | ||
//if (err) { | ||
// if (callback) callback(err); | ||
// return; | ||
//} | ||
if (callback) callback(null, vm); | ||
@@ -352,9 +341,9 @@ }); | ||
async.each(entities.entries, function (entity, callback) { | ||
self.client.deleteEntity(col, entity, function (error, response) { | ||
self.client.deleteEntity(col, entity, function (error, response) { | ||
callback(error); | ||
}); | ||
}, | ||
function (error) { | ||
callback(error); | ||
}); | ||
}, | ||
function (error) { | ||
callback(error); | ||
}); | ||
}); | ||
@@ -361,0 +350,0 @@ }, callback); |
{ | ||
"author": "adrai", | ||
"name": "viewmodel", | ||
"version": "1.2.3", | ||
"version": "1.2.4", | ||
"private": false, | ||
@@ -6,0 +6,0 @@ "main": "index.js", |
@@ -0,1 +1,4 @@ | ||
## [v1.2.4](https://github.com/adrai/node-viewmodel/compare/v1.2.3...v1.2.4) | ||
- fix date issue for azure-table [#8](https://github.com/adrai/node-viewmodel/pull/8) thanks to [sbiaudet](https://github.com/sbiaudet) | ||
## [v1.2.3](https://github.com/adrai/node-viewmodel/compare/v1.2.2...v1.2.3) | ||
@@ -5,3 +8,3 @@ - automatically add commitStamp on commit | ||
## v1.2.2 | ||
- azure-table: fix issue in getEvents [#7](https://github.com/adrai/node-viewmodel/pull/7) thanks to [rvin100](https://github.com/rvin100) | ||
- azure-table: fix issue in find [#7](https://github.com/adrai/node-viewmodel/pull/7) thanks to [rvin100](https://github.com/rvin100) | ||
@@ -8,0 +11,0 @@ ## v1.2.1 |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
66218
1798