From 33273e5144d7ce287111decb05b0b63fe5577422 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 2 Jun 2015 21:54:23 -0300 Subject: [PATCH 1/5] Add method to execute migration --- server/methods/migrate.coffee | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 server/methods/migrate.coffee diff --git a/server/methods/migrate.coffee b/server/methods/migrate.coffee new file mode 100644 index 00000000000..30fed3e5df9 --- /dev/null +++ b/server/methods/migrate.coffee @@ -0,0 +1,13 @@ +Meteor.methods + migrate: (version) -> + user = Meteor.user() + + if not user? or user.admin isnt true + return + + this.ublock() + Migrations.migrateTo version + return version + + getMigrationVersion: -> + return Migrations.getVersion() \ No newline at end of file From 2c8ff8e124be7ffb59ad28be8fd6f3c396d43103 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 2 Jun 2015 21:54:35 -0300 Subject: [PATCH 2/5] Do not autorun migrations --- server/startup/migrations/xrun.coffee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/startup/migrations/xrun.coffee b/server/startup/migrations/xrun.coffee index c6473f8537e..0a0621d2181 100644 --- a/server/startup/migrations/xrun.coffee +++ b/server/startup/migrations/xrun.coffee @@ -1,3 +1,3 @@ -Meteor.startup -> - Meteor.defer -> - Migrations.migrateTo 'latest' \ No newline at end of file +# Meteor.startup -> +# Meteor.defer -> +# Migrations.migrateTo 'latest' \ No newline at end of file From 24fa96040cacacaa915f5c4d74be3a6200603da2 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 2 Jun 2015 21:55:12 -0300 Subject: [PATCH 3/5] Use .jpg in avatars --- client/views/avatar/avatar.coffee | 2 +- server/methods/setAvatarFromService.coffee | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/views/avatar/avatar.coffee b/client/views/avatar/avatar.coffee index 01242ad63c6..b6492dd9c98 100644 --- a/client/views/avatar/avatar.coffee +++ b/client/views/avatar/avatar.coffee @@ -10,5 +10,5 @@ Template.avatar.helpers random = Session.get('AvatarRandom') if not username? and this.userId? username = Meteor.users.findOne(this.userId)?.username - url = "#{Meteor.absoluteUrl()}avatar/#{username}?_dc=#{random}" + url = "#{Meteor.absoluteUrl()}avatar/#{username}.jpg?_dc=#{random}" return url \ No newline at end of file diff --git a/server/methods/setAvatarFromService.coffee b/server/methods/setAvatarFromService.coffee index 75b80125b62..0565684da58 100644 --- a/server/methods/setAvatarFromService.coffee +++ b/server/methods/setAvatarFromService.coffee @@ -8,7 +8,7 @@ Meteor.methods {image, contentType} = RocketFile.dataURIParse dataURI rs = RocketFile.bufferToStream new Buffer(image, 'base64') - ws = RocketFileAvatarInstance.createWriteStream user.username, contentType + ws = RocketFileAvatarInstance.createWriteStream "#{user.username}.jpg", contentType ws.on 'end', Meteor.bindEnvironment -> Meteor.users.update {_id: user._id}, {$set: {avatarOrigin: service}} @@ -22,7 +22,7 @@ Meteor.methods user = Meteor.user() - RocketFileAvatarInstance.deleteFile user.username + RocketFileAvatarInstance.deleteFile "#{user.username}.jpg" Meteor.users.update user._id, {$unset: {avatarOrigin: 1}} return From dad3469fe14582138fd8fc8e39664eb7c257f25f Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 2 Jun 2015 22:06:40 -0300 Subject: [PATCH 4/5] Create migration to repopulate all avatars --- server/startup/migrations/v0.1.2.coffee | 36 +++++++++++++------------ 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/server/startup/migrations/v0.1.2.coffee b/server/startup/migrations/v0.1.2.coffee index e4431fd3036..2110dc60f6d 100644 --- a/server/startup/migrations/v0.1.2.coffee +++ b/server/startup/migrations/v0.1.2.coffee @@ -1,23 +1,25 @@ -# Meteor.startup -> -# Migrations.add -# version: new Date("2015-06-01T00:26:05.197Z").getTime() -# up: -> -# Meteor.users.find({avatarOrigin: {$exists: false}, username: {$exists: true}}).forEach (user) -> -# avatars = getAvatarSuggestionForUser user +Meteor.startup -> + Migrations.add + version: new Date("2015-06-03T00:49:41.269Z").getTime() + up: -> + Meteor.users.find({avatarOrigin: {$exists: false}, username: {$exists: true}}).forEach (user) -> + avatars = getAvatarSuggestionForUser user -# services = Object.keys avatars + services = Object.keys avatars -# if services.length is 0 -# return + if services.length is 0 + return -# service = services[0] -# console.log user.username, '->', service + service = services[0] + console.log user.username, '->', service -# blob = avatars[service].blob + dataURI = avatars[service].blob -# file = new FS.File blob -# file.attachData blob, -> -# file.name user.username + {image, contentType} = RocketFile.dataURIParse dataURI -# Avatars.insert file, (err, fileObj) -> -# Meteor.users.update {_id: user._id}, {$set: {avatarOrigin: service}} \ No newline at end of file + rs = RocketFile.bufferToStream new Buffer(image, 'base64') + ws = RocketFileAvatarInstance.createWriteStream "#{user.username}.jpg", contentType + ws.on 'end', Meteor.bindEnvironment -> + Meteor.users.update {_id: user._id}, {$set: {avatarOrigin: service}} + + rs.pipe(ws) \ No newline at end of file From 226f6fe155284439715ec99c5c09256e04ae23b0 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Tue, 2 Jun 2015 22:07:09 -0300 Subject: [PATCH 5/5] Rename method migrate --- server/methods/migrate.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/methods/migrate.coffee b/server/methods/migrate.coffee index 30fed3e5df9..056eac9f4af 100644 --- a/server/methods/migrate.coffee +++ b/server/methods/migrate.coffee @@ -1,11 +1,11 @@ Meteor.methods - migrate: (version) -> + migrateTo: (version) -> user = Meteor.user() if not user? or user.admin isnt true return - this.ublock() + this.unblock() Migrations.migrateTo version return version