Skip to content

Instantly share code, notes, and snippets.

@real-yj98
Last active July 9, 2021 09:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save real-yj98/91c8c11d32a4139410d5178f4cac8089 to your computer and use it in GitHub Desktop.
Save real-yj98/91c8c11d32a4139410d5178f4cac8089 to your computer and use it in GitHub Desktop.
Modified version of exportFunctions.js to export every ODB server-side JavaScript function into individual JavaScript file
/***
* This script exports every ODB server-side function into individual JavaScript file
***/
const fs = require("fs")
const connectODB = require('../../common/orientdb').connectODB;
const fields = ["@version","@class","idempotent","code","name","language","parameters"]
async function exportFunctions(){
_session = await connectODB()
var output = '{"records":[';
let results = await _session.query("select @this.toJSON() from OFunction").all();
for(var i = 0; i < results.length; i++) {
var line = JSON.parse(results[i]['@this.toJSON()']);
delete line["@rid"]
var output = '//@type\n'
output += line["@type"]+'\n\n'
for(var k = 0; k < fields.length; k++) {
output += '//'+fields[k]+'\n'
output += line[fields[k]]+'\n\n'
}
//console.log(output)
fs.writeFile(line['name']+'.js', output, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
process.exit();
});
}
}
exportFunctions();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment