diff --git a/plugins/tiddlywiki/multiwikiserver/modules/init.js b/plugins/tiddlywiki/multiwikiserver/modules/init.js index 2a9acd7cb..3750a6a15 100644 --- a/plugins/tiddlywiki/multiwikiserver/modules/init.js +++ b/plugins/tiddlywiki/multiwikiserver/modules/init.js @@ -42,6 +42,7 @@ exports.startup = function() { databasePath: databasePath }); $tw.sqlTiddlerStore.createTables(); + $tw.sqlTiddlerStore.updateAdminWiki(); // Create bags and recipes $tw.sqlTiddlerStore.createBag("bag-alpha"); $tw.sqlTiddlerStore.createBag("bag-beta"); diff --git a/plugins/tiddlywiki/multiwikiserver/modules/sql-tiddler-store.js b/plugins/tiddlywiki/multiwikiserver/modules/sql-tiddler-store.js index 7794d23fc..d24a8212c 100644 --- a/plugins/tiddlywiki/multiwikiserver/modules/sql-tiddler-store.js +++ b/plugins/tiddlywiki/multiwikiserver/modules/sql-tiddler-store.js @@ -57,6 +57,26 @@ SqlTiddlerStore.prototype.saveEntityStateTiddler = function(tiddler) { this.adminWiki.addTiddler(new $tw.Tiddler(tiddler,{title: this.entityStateTiddlerPrefix + tiddler.title})); }; +SqlTiddlerStore.prototype.updateAdminWiki = function() { + // Update bags + for(const bagInfo of this.listBags()) { + this.saveEntityStateTiddler({ + title: "bags/" + bagInfo.bag_name, + "bag-name": bagInfo.bag_name, + text: "" + }); + } + // Update recipes + for(const recipeInfo of this.listRecipes()) { + this.saveEntityStateTiddler({ + title: "recipes/" + recipeInfo.recipe_name, + "recipe-name": recipeInfo.recipe_name, + text: "", + list: $tw.utils.stringifyList(this.getRecipeBags(recipeInfo.recipe_name)) + }); + } +}; + SqlTiddlerStore.prototype.createTables = function() { this.runStatements([` -- Bags have names and access control settings