sails-arango-database
Version:
A sails-arangodb adapter for Sails 1.0 / Waterline
45 lines (41 loc) • 1.28 kB
JavaScript
;
const Database = require('arangojs');
let db = null;
let lib = {
"createConnection" : function (connection) {
let url = "http://"+ connection.host + ":" + connection.port
//create URL string
let db = new Database({
url: url
});
db.useDatabase(connection.database);
if(connection.username && connection.password)
db.useBasicAuth(connection.username, connection.password);
return db;
},
/**
* Performs a query on an Arango Database
*/
"query" : function (connection, query, cb) {
(async () => {
try {
const cursor = await connection.query(query);
const response = await cursor.all();
return cb(null, response);
} catch (error) {
return cb (error);
}
})()
},
/**
* Performs a transaction on an Arango database
*/
"transaction" : function (options, cb) {
utils.dbConnect().transaction(options.collections, options.action, options.params).then(function(result) {
return cb (null, result);
}).catch(function(err){
return cb(err);
});
}
};
module.exports = lib;