moving files to expose functions

pull/2435/head
Diego Sampaio 10 years ago
parent 154764ab7e
commit fd02b426fa
  1. 38
      lib/fileUpload.coffee
  2. 28
      packages/rocketchat-lib/lib/fileUploadRestrictions.js
  3. 1
      packages/rocketchat-lib/package.js

@ -9,26 +9,6 @@ if UploadFS?
remove: (userId, doc) ->
return userId is doc.userId
fileUploadMediaWhiteList = ->
return unless RocketChat.settings.get('FileUpload_MediaTypeWhiteList')
return _.map(RocketChat.settings.get('FileUpload_MediaTypeWhiteList').split(','), (item) -> return item.trim() )
@fileUploadIsValidContentType = (type) ->
list = fileUploadMediaWhiteList()
if !list or _.contains list, type
return true
else
wildCardGlob = '/*'
wildcards = _.filter list, (item) -> return item.indexOf(wildCardGlob) > 0
if _.contains wildcards, type.replace(/(\/.*)$/, wildCardGlob)
return true;
return false;
initFileStore = ->
cookie = new Cookies()
if Meteor.isClient
@ -42,7 +22,7 @@ if UploadFS?
collectionName: 'rocketchat_uploads'
filter: new UploadFS.Filter
maxSize: RocketChat.settings.get('FileUpload_MaxFileSize')
contentTypes: fileUploadMediaWhiteList()
contentTypes: RocketChat.fileUploadMediaWhiteList()
onFinishUpload: ->
console.log arguments
transformWrite: (readStream, writeStream, fileId, file) ->
@ -83,11 +63,11 @@ if UploadFS?
res.setHeader 'content-disposition', "attachment; filename=\"#{ encodeURIComponent(file.name) }\""
return true
Meteor.startup ->
if Meteor.isServer
initFileStore()
else
Tracker.autorun (c) ->
if Meteor.userId() and RocketChat.settings.subscription.ready()
initFileStore()
c.stop()
Meteor.startup ->
if Meteor.isServer
initFileStore()
else
Tracker.autorun (c) ->
if Meteor.userId() and RocketChat.settings.subscription.ready()
initFileStore()
c.stop()

@ -0,0 +1,28 @@
RocketChat.fileUploadMediaWhiteList = function() {
var mediaTypeWhiteList = RocketChat.settings.get('FileUpload_MediaTypeWhiteList');
console.log('mediaTypeWhiteList ->',mediaTypeWhiteList);
if (!mediaTypeWhiteList) {
return;
}
return _.map(mediaTypeWhiteList.split(','), function(item) {
return item.trim();
});
};
RocketChat.fileUploadIsValidContentType = function(type) {
var list, wildCardGlob, wildcards;
list = RocketChat.fileUploadMediaWhiteList();
if (!list || _.contains(list, type)) {
return true;
} else {
wildCardGlob = '/*';
wildcards = _.filter(list, function(item) {
return item.indexOf(wildCardGlob) > 0;
});
if (_.contains(wildcards, type.replace(/(\/.*)$/, wildCardGlob))) {
return true;
}
}
return false;
};

@ -38,6 +38,7 @@ Package.onUse(function(api) {
api.addFiles('lib/settings.coffee');
api.addFiles('lib/configLogger.coffee');
api.addFiles('lib/callbacks.coffee');
api.addFiles('lib/fileUploadRestrictions.js');
api.addFiles('lib/slashCommand.coffee');
api.addFiles('lib/Message.coffee');
api.addFiles('lib/MessageTypes.coffee');

Loading…
Cancel
Save