From e2822b9f22361303f4d619a4ca549ede23812515 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Mon, 28 Jan 2019 11:35:56 +0200 Subject: [PATCH] added naive backup restore --- app/.gitignore | 1 + app/lib/functions/backupRestoreCharacter.js | 33 +++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 app/lib/functions/backupRestoreCharacter.js diff --git a/app/.gitignore b/app/.gitignore index 086ca397..2df4ae3a 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -8,3 +8,4 @@ private/oldClient nohup.out node_modules dump +.cache diff --git a/app/lib/functions/backupRestoreCharacter.js b/app/lib/functions/backupRestoreCharacter.js new file mode 100644 index 00000000..ba95f4af --- /dev/null +++ b/app/lib/functions/backupRestoreCharacter.js @@ -0,0 +1,33 @@ +let characterCollections = [ + Actions, + Attacks, + Buffs, + Classes, + CustomBuffs, + Effects, + Experiences, + Features, + Notes, + Proficiencies, + SpellLists, + Items, + Containers, +]; + +function backupCharacter(charId){ + let characterDump = {}; + characterDump.characters = [Characters.findOne(charId)]; + characterCollections.map( + c => characterDump[c._name] = c.find({charId}).fetch() + ); + return characterDump; +}; + +function restoreCharacter(characterDump){ + for (collectionName in characterDump){ + let collection = Meteor.Collection.get(collectionName); + for (doc in characterDump[collectionName]){ + collection.insert(doc); + } + } +};