Merge pull request #111 from RocketChat/jpg-avatars

Jpg avatars
pull/112/head
Rodrigo Nascimento 11 years ago
commit c755d7175c
  1. 2
      client/views/avatar/avatar.coffee
  2. 13
      server/methods/migrate.coffee
  3. 4
      server/methods/setAvatarFromService.coffee
  4. 36
      server/startup/migrations/v0.1.2.coffee
  5. 6
      server/startup/migrations/xrun.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

@ -0,0 +1,13 @@
Meteor.methods
migrateTo: (version) ->
user = Meteor.user()
if not user? or user.admin isnt true
return
this.unblock()
Migrations.migrateTo version
return version
getMigrationVersion: ->
return Migrations.getVersion()

@ -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

@ -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}}
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)

@ -1,3 +1,3 @@
Meteor.startup ->
Meteor.defer ->
Migrations.migrateTo 'latest'
# Meteor.startup ->
# Meteor.defer ->
# Migrations.migrateTo 'latest'
Loading…
Cancel
Save