"use strict"; const defaultValue = require("default-value"); module.exports = function (state) { const queries = require("../queries")(state); return function createDatabaseMutationAPI({ tx, item, taskVersion }) { return { createItem: function (options) { console.log(`[new] ${options.id}`); return queries.createItem(tx, { ...options, parentID: item.id }); }, renameItem: function (options) { return queries.renameItem(tx, options); }, mergeItem: function (options) { return queries.mergeItem(tx, { ...options, from: defaultValue(options.from, item.id) }); }, deleteItem: function (options) { return queries.deleteItem(tx, { id: defaultValue(options.id, item.id) }); }, createAlias: function (options) { return queries.createAlias(tx, { ...options, to: defaultValue(options.to, item.id) }); }, deleteAlias: function (from) { return queries.deleteAlias(tx, { from: from }); }, updateData: function (options) { return queries.updateData(tx, options); }, updateMetadata: function (options) { return queries.updateMetadata(tx, { ... options, taskVersion: taskVersion }); }, expire: function (options) { return queries.expire(tx, options); } }; }; };