Fix migrated attachment not readable bug

Remove reduandant files
This commit is contained in:
Romulus Urakagi Tsai 2020-05-20 15:11:22 +08:00
parent 09ce3e464f
commit 4064f3f406
5 changed files with 43 additions and 26 deletions

View file

@ -50,7 +50,10 @@ Template.attachmentsGalery.helpers({
return Attachments.link(this, 'original', '/'); return Attachments.link(this, 'original', '/');
}, },
isUploaded() { isUploaded() {
return !!this.meta.uploaded; return !this.meta.uploading;
},
isImage() {
return !!this.isImage;
}, },
}); });

View file

@ -70,7 +70,9 @@ Utils = {
streams: 'dynamic', streams: 'dynamic',
chunkSize: 'dynamic', chunkSize: 'dynamic',
}; };
settings.meta = {}; settings.meta = {
uploading: true
};
if (card.isLinkedCard()) { if (card.isLinkedCard()) {
settings.meta.boardId = Cards.findOne(card.linkedId).boardId; settings.meta.boardId = Cards.findOne(card.linkedId).boardId;
settings.meta.cardId = card.linkedId; settings.meta.cardId = card.linkedId;

View file

@ -6,7 +6,7 @@ const collectionName = 'attachments2';
Attachments = new FilesCollection({ Attachments = new FilesCollection({
storagePath: storagePath(), storagePath: storagePath(),
debug: false, debug: false,
allowClientCode: true, // allowClientCode: true,
collectionName: 'attachments2', collectionName: 'attachments2',
onAfterUpload: onAttachmentUploaded, onAfterUpload: onAttachmentUploaded,
onBeforeRemove: onAttachmentRemoving onBeforeRemove: onAttachmentRemoving
@ -18,7 +18,17 @@ if (Meteor.isServer) {
}); });
// TODO: Permission related // TODO: Permission related
// TODO: Add Activity update Attachments.allow({
insert() {
return false;
},
update() {
return true;
},
remove() {
return true;
}
});
Meteor.methods({ Meteor.methods({
cloneAttachment(file, overrides) { cloneAttachment(file, overrides) {
@ -63,7 +73,7 @@ function storagePath(defaultPath) {
} }
function onAttachmentUploaded(fileRef) { function onAttachmentUploaded(fileRef) {
Attachments.update({_id:fileRef._id}, {$set: {"meta.uploaded": true}}); Attachments.update({_id:fileRef._id}, {$set: {"meta.uploading": false}});
if (!fileRef.meta.source || fileRef.meta.source !== 'import') { if (!fileRef.meta.source || fileRef.meta.source !== 'import') {
// Add activity about adding the attachment // Add activity about adding the attachment
Activities.insert({ Activities.insert({

View file

@ -80,7 +80,7 @@ Migrations.add('lowercase-board-permission', () => {
Migrations.add('change-attachments-type-for-non-images', () => { Migrations.add('change-attachments-type-for-non-images', () => {
const newTypeForNonImage = 'application/octet-stream'; const newTypeForNonImage = 'application/octet-stream';
Attachments.find().forEach(file => { Attachments.find().forEach(file => {
if (!file.isImage()) { if (!file.isImage) {
Attachments.update( Attachments.update(
file._id, file._id,
{ {
@ -1058,27 +1058,29 @@ Migrations.add('change-attachment-library', () => {
const path = `${store}/${file.name()}`; const path = `${store}/${file.name()}`;
const fd = fs.createWriteStream(path); const fd = fs.createWriteStream(path);
reader.pipe(fd); reader.pipe(fd);
let opts = { reader.on('end', () => {
fileName: file.name(), let opts = {
type: file.type(), fileName: file.name(),
size: file.size(), type: file.type(),
fileId: file._id, size: file.size(),
meta: { fileId: file._id,
userId: file.userId, meta: {
boardId: file.boardId, userId: file.userId,
cardId: file.cardId boardId: file.boardId,
} cardId: file.cardId
}; }
if (file.listId) { };
opts.meta.listId = file.listId; if (file.listId) {
} opts.meta.listId = file.listId;
if (file.swimlaneId) {
opts.meta.swimlaneId = file.swimlaneId;
}
Attachments.addFile(path, opts, (err, fileRef) => {
if (err) {
console.log('error when migrating ', fileRef.name, err);
} }
if (file.swimlaneId) {
opts.meta.swimlaneId = file.swimlaneId;
}
Attachments.addFile(path, opts, (err, fileRef) => {
if (err) {
console.log('error when migrating', file.name(), err);
}
});
}); });
}); });
}); });