@apidaze/node-red-contrib-apidaze
Version:
Node-RED module for Apidaze
44 lines (35 loc) • 827 B
JavaScript
// unused mock implementation for the time being
const store = [];
const manager = {
db: store,
add: async (data) => {
const doc = {
...data,
created_at: new Date().toISOString(),
};
manager.db.push(doc);
return doc;
},
fetch: (uuid) =>
manager.db.find((doc) => {
if (doc.uuid === uuid) return doc;
}),
update: async (uuid, data) => {
const doc = (await manager.fetch(uuid)) || {};
const newDoc = {
...doc,
...data,
updated_at: new Date().toISOString(),
};
manager.db = manager.db.map((doc) => {
if (doc.uuid === uuid) return newDoc;
return doc;
});
return newDoc;
},
remove: async (uuid) => {
manager.db = manager.db.filter((doc) => doc.uuid !== uuid);
return true;
},
};
module.exports = manager;