You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
"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);
|
|
}
|
|
};
|
|
};
|
|
};
|