From 46cc69153482a6138e1057ece9cec836dd95451e Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Mon, 8 Jun 2015 11:47:06 +0200 Subject: Re-factor the avatar system and support avatar uploads The user is now able to upload an avatar, and pick one in a list. This functionality should eventually be abstracted in a community package but we still need to work on a great public API. We rely on collectionFS to manage uploaded avatars. We also removed bengott:avatar which was trying to solve the wrong problem (namely displaying the avatar, which is as simple as displaying an image), and not a avatar system as it should be. Gravatar support is coming (back) soon. We may also want to have a list of default fun avatars the user can choose instead of uploading its own one. --- collections/avatars.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 collections/avatars.js (limited to 'collections/avatars.js') diff --git a/collections/avatars.js b/collections/avatars.js new file mode 100644 index 00000000..5ca074ee --- /dev/null +++ b/collections/avatars.js @@ -0,0 +1,27 @@ +Avatars = new FS.Collection('avatars', { + stores: [ + new FS.Store.GridFS('avatars') + ], + filter: { + maxSize: 32000, + allow: { + contentTypes: ['image/*'] + } + } +}); + +var isOwner = function(userId, file) { + return userId && userId === file.userId; +}; + +Avatars.allow({ + insert: isOwner, + update: isOwner, + remove: isOwner, + download: function() { return true; }, + fetch: ['userId'] +}); + +Avatars.files.before.insert(function(userId, doc) { + doc.userId = userId; +}); -- cgit v1.2.3-1-g7c22