mirror of
https://github.com/zadam/trilium.git
synced 2025-11-01 02:45:54 +01:00
moved all sources to src directory
This commit is contained in:
29
src/services/script.js
Normal file
29
src/services/script.js
Normal file
@@ -0,0 +1,29 @@
|
||||
const log = require('./log');
|
||||
const sql = require('./sql');
|
||||
const ScriptContext = require('./script_context');
|
||||
|
||||
async function executeScript(noteId, dataKey, script, params) {
|
||||
log.info('Executing script: ' + script);
|
||||
|
||||
const ctx = new ScriptContext(noteId, dataKey);
|
||||
|
||||
const paramsStr = getParams(params);
|
||||
|
||||
let ret;
|
||||
|
||||
await sql.doInTransaction(async () => {
|
||||
ret = await (function() { return eval(`(${script})(${paramsStr})`); }.call(ctx));
|
||||
});
|
||||
|
||||
log.info('Execution result: ' + ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
function getParams(params) {
|
||||
return params.map(p => JSON.stringify(p)).join(",");
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
executeScript
|
||||
};
|
||||
Reference in New Issue
Block a user