Skip to content

Commit

Permalink
Merge pull request #965 from RocketChat/uploads-with-room-id
Browse files Browse the repository at this point in the history
Added room Id field for better relationship between objects.
  • Loading branch information
rodrigok committed Oct 2, 2015
2 parents bdc06c4 + 098d800 commit 721b605
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
1 change: 1 addition & 0 deletions client/lib/fileUpload.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ readAsArrayBuffer = (file, callback) ->
name: file.name or file.file.name
size: file.file.size
type: file.file.type
rid: roomId

upload = new UploadFS.Uploader
store: Meteor.fileStore
Expand Down
27 changes: 27 additions & 0 deletions server/startup/migrations/v20.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Meteor.startup ->
Migrations.add
version: 20
up: ->
###
# Migrate existing `rocketchat_uploads` documents to include the room Id
# where the file was uploaded to. The room Id is retrieved from the message
# document created after the file upload.
###

# list of channel messages which were created after uploading a file
msgQuery =
rid: { $exists: true }
'file._id': { $exists: true }
msgOptions =
fields:
_id: 1
rid: 1
'file._id': 1
cursorFileMessages = RocketChat.models.Messages.find(msgQuery, msgOptions);
return unless cursorFileMessages.count()

_.each( cursorFileMessages.fetch(), (msg) ->
fileCollection.update({ _id: msg?.file?._id }, { $set: { rid: msg.rid } }, { $multi: true })
)

console.log 'Updated rocketchat_uploads documents to include the room Id in which they were sent.'

0 comments on commit 721b605

Please sign in to comment.