airbits-data
Advanced tools
Comparing version 1.0.3 to 1.0.4
@@ -1,69 +0,86 @@ | ||
var restClient = require("restler") | ||
let restClient = require("restler"); | ||
exports.MongoRepository = function (restheartUser, restheartPass, restheartUrl, dbName, collectionName) { | ||
var restUrl = "http://" + restheartUser + ":" + restheartPass + "@" + restheartUrl + "/" + dbName + "/" + collectionName; | ||
this.get = (objectId) => { | ||
return new Promise(function (resolve, reject) { | ||
var query = '?filter={"_id":"' + objectId + '"}'; | ||
var queryUrl = restUrl + query; | ||
restClient.get(queryUrl).on('complete', function (result) { | ||
if (result instanceof Error) { | ||
console.log('Error:', result.message); | ||
reject(result.message); | ||
const restUrl = "http://" + restheartUser + ":" + restheartPass + "@" + restheartUrl + "/" + dbName + "/" + collectionName; | ||
this.update = (objectId, propertiesToUpdate) => { | ||
return new Promise(function (resolve, reject) { | ||
let docToUpdate = propertiesToUpdate; | ||
docToUpdate._id = objectId; | ||
restClient.patchJson(restUrl, docToUpdate) | ||
.on('complete', function (data, response) { | ||
console.log(response); | ||
if (response.statusCode === 200) { | ||
resolve(response); | ||
} else { | ||
console.log(result); | ||
if (result._returned === 0) { | ||
resolve(null); | ||
} else { | ||
console.log(result._embedded[0]); | ||
resolve(result._embedded[0]); | ||
} | ||
reject(response); | ||
} | ||
}) | ||
}); | ||
}); | ||
}; | ||
this.get = (objectId) => { | ||
return new Promise(function (resolve, reject) { | ||
let query = '?filter={"_id":"' + objectId + '"}'; | ||
let queryUrl = restUrl + query; | ||
restClient.get(queryUrl).on('complete', function (result) { | ||
if (result instanceof Error) { | ||
console.log('Error:', result.message); | ||
reject(result.message); | ||
} else { | ||
console.log(result); | ||
if (result._returned === 0) { | ||
resolve(null); | ||
} else { | ||
console.log(result._embedded[0]); | ||
resolve(result._embedded[0]); | ||
} | ||
} | ||
}) | ||
} | ||
this.insert = (newDocument) =>{ | ||
return new Promise(function (resolve, reject) { | ||
restClient.postJson(restUrl, newDocument) | ||
.on('complete',function(data, response){ | ||
if(response.statusCode === 201){ | ||
var locale = response.headers.location; | ||
var newDocumentId = locale.split("/")[5]; | ||
resolve(newDocumentId); | ||
} | ||
else { | ||
reject(response.statusMessage); | ||
} | ||
}); | ||
}) | ||
} | ||
}) | ||
} | ||
this.getMany = (ids) => { | ||
return new Promise(function (resolve, reject) { | ||
var query = '?filter={"_id":{$in:'+ JSON.stringify(ids) +'}}'; | ||
var queryUrl = restUrl + query; | ||
console.log("la url de la request al restheart es: "+ JSON.stringify(queryUrl)); | ||
restClient.get(queryUrl).on('complete', function (result) { | ||
if (result instanceof Error) { | ||
console.log('Error:', result.message); | ||
reject(result.message); | ||
this.insert = (newDocument) => { | ||
return new Promise(function (resolve, reject) { | ||
restClient.postJson(restUrl, newDocument) | ||
.on('complete', function (data, response) { | ||
if (response.statusCode === 201) { | ||
var locale = response.headers.location; | ||
var newDocumentId = locale.split("/")[5]; | ||
resolve(newDocumentId); | ||
} else { | ||
console.log(result); | ||
if (result._returned === 0) { | ||
resolve(null); | ||
} else { | ||
console.log(result._embedded); | ||
resolve(result._embedded); | ||
} | ||
reject(response.statusMessage); | ||
} | ||
}); | ||
}) | ||
} | ||
this.getMany = (ids) => { | ||
return new Promise(function (resolve, reject) { | ||
var query = '?filter={"_id":{$in:' + JSON.stringify(ids) + '}}'; | ||
var queryUrl = restUrl + query; | ||
console.log("la url de la request al restheart es: " + JSON.stringify(queryUrl)); | ||
restClient.get(queryUrl).on('complete', function (result) { | ||
if (result instanceof Error) { | ||
console.log('Error:', result.message); | ||
reject(result.message); | ||
} else { | ||
console.log(result); | ||
if (result._returned === 0) { | ||
resolve(null); | ||
} else { | ||
console.log(result._embedded); | ||
resolve(result._embedded); | ||
} | ||
} | ||
}); | ||
} | ||
} | ||
}); | ||
} | ||
} |
{ | ||
"name": "airbits-data", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"description": "here goes the data access library for xens.io microservices", | ||
@@ -5,0 +5,0 @@ "main": "MongoRepository.js", |
3548
73