From 895a099b9b2657236c33bf1f5b09d07eb1562a39 Mon Sep 17 00:00:00 2001 From: Stefan Zermatten Date: Thu, 23 Apr 2015 10:00:31 +0200 Subject: [PATCH] Added migration methods available to admins --- rpg-docs/.gitignore | 3 ++- rpg-docs/server/migrations/migrations.js | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/rpg-docs/.gitignore b/rpg-docs/.gitignore index 1777a04c..797bcd18 100644 --- a/rpg-docs/.gitignore +++ b/rpg-docs/.gitignore @@ -1,4 +1,5 @@ .meteor/local .meteor/meteorite public/components -nohup.out \ No newline at end of file +nohup.out +dump \ No newline at end of file diff --git a/rpg-docs/server/migrations/migrations.js b/rpg-docs/server/migrations/migrations.js index 68e64ced..fcf8a0b1 100644 --- a/rpg-docs/server/migrations/migrations.js +++ b/rpg-docs/server/migrations/migrations.js @@ -1,3 +1,26 @@ +Meteor.methods({ + getVersion: function() { + return Migrations.getVersion(); + }, + migrateTo: function(versionNumber) { + var user = Meteor.users.findOne(this.userId); + if (!user){ + throw new Meteor.Error( + "logged-out", + "The user must be logged in to migrate the database" + ); + } + if (_.contains(user.roles, "admin")){ + Migrations.migrateTo(versionNumber); + } else { + throw new Meteor.Error( + "not admin", + "The user must be an administrator to migrate the database" + ); + } + } +}); + Migrations.add({ version: 1, name: "converts effect proficiencies to proficiency objects, removes types from assets",