UNPKG

@apidaze/node-red-contrib-apidaze

Version:
72 lines (63 loc) 1.58 kB
const db = require('nosql'); const path = require('path'); const storageFile = path.resolve(path.join(__dirname, '../calls')); const callsDb = db.load(storageFile); const manager = { db: callsDb, add: (data) => new Promise((resolve, reject) => { const doc = { ...data, created_at: new Date().toISOString(), }; manager.db.insert(doc).callback((err, d) => { if (err) { reject(err); return; } resolve(doc); }); }), fetch: (uuid) => new Promise((resolve, reject) => { manager.db.find().make((filter) => { filter.where('call_uuid', uuid); filter.callback((err, response) => { if (err) { reject(err); return; } resolve(response); }); }); }), update: (uuid, data) => new Promise((resolve, reject) => { const doc = { ...data, updated_at: new Date().toISOString(), }; manager.db.update(doc).make((filter) => { filter.where('call_uuid', uuid).callback((err, response) => { if (err) { reject(err); return; } resolve(doc); }); }); }), remove: (uuid) => new Promise((resolve, reject) => { manager.db.remove().make((filter) => { filter.where('uuid', uuid).callback((err, response) => { if (err) { reject(err); return; } resolve(response); }); }); }), }; module.exports = manager;