mirror of
https://github.com/wekan/wekan.git
synced 2026-02-10 02:04:20 +01:00
Ref: Avatars to use modern gridfs
This commit is contained in:
parent
f650a17cd8
commit
2f605c9a4c
1 changed files with 21 additions and 16 deletions
|
|
@ -1,29 +1,34 @@
|
||||||
Avatars = new FS.Collection('avatars', {
|
import { Meteor } from 'meteor/meteor';
|
||||||
stores: [new FS.Store.GridFS('avatars')],
|
import { FilesCollection } from 'meteor/ostrio:files';
|
||||||
filter: {
|
import { createBucket } from './lib/grid/createBucket';
|
||||||
maxSize: 72000,
|
import { createOnAfterUpload } from './lib/fsHooks/createOnAfterUpload';
|
||||||
allow: {
|
import { createInterceptDownload } from './lib/fsHooks/createInterceptDownload';
|
||||||
contentTypes: ['image/*'],
|
import { createOnAfterRemove } from './lib/fsHooks/createOnAfterRemove';
|
||||||
},
|
|
||||||
|
const avatarsBucket = createBucket('avatars');
|
||||||
|
|
||||||
|
export const Avatars = new FilesCollection({
|
||||||
|
debug: false, // Change to `true` for debugging
|
||||||
|
collectionName: 'avatars',
|
||||||
|
allowClientCode: false,
|
||||||
|
onBeforeUpload(file) {
|
||||||
|
if (file.size <= 72000 && file.isImage) return true;
|
||||||
|
return 'Please upload image, with size equal or less than 72KB';
|
||||||
},
|
},
|
||||||
|
onAfterUpload: createOnAfterUpload(avatarsBucket),
|
||||||
|
interceptDownload: createInterceptDownload(avatarsBucket),
|
||||||
|
onAfterRemove: createOnAfterRemove(avatarsBucket),
|
||||||
});
|
});
|
||||||
|
|
||||||
function isOwner(userId, file) {
|
function isOwner(userId, doc) {
|
||||||
return userId && userId === file.userId;
|
return userId && userId === doc.userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
Avatars.allow({
|
Avatars.allow({
|
||||||
insert: isOwner,
|
insert: isOwner,
|
||||||
update: isOwner,
|
update: isOwner,
|
||||||
remove: isOwner,
|
remove: isOwner,
|
||||||
download() {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
fetch: ['userId'],
|
fetch: ['userId'],
|
||||||
});
|
});
|
||||||
|
|
||||||
Avatars.files.before.insert((userId, doc) => {
|
|
||||||
doc.userId = userId;
|
|
||||||
});
|
|
||||||
|
|
||||||
export default Avatars;
|
export default Avatars;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue