|
@@ -24,6 +24,8 @@ import Triggers from '../models/triggers';
|
|
|
import UnsavedEdits from '../models/unsavedEdits';
|
|
|
import Users from '../models/users';
|
|
|
|
|
|
+const fs = require('fs');
|
|
|
+
|
|
|
// Anytime you change the schema of one of the collection in a non-backward
|
|
|
// compatible way you have to write a migration in this file using the following
|
|
|
// API:
|
|
@@ -1134,7 +1136,9 @@ Migrations.add('migrate-attachments-collectionFS-to-ostrioFiles', () => {
|
|
|
|
|
|
// This directory must be writable on server, so a test run first
|
|
|
// We are going to copy the files locally, then move them to S3
|
|
|
- const fileName = `./assets/app/uploads/attachments/${fileObj.name()}`;
|
|
|
+ const fileName = `./assets/app/uploads/attachments/${
|
|
|
+ fileObj._id
|
|
|
+ }-${fileObj.name()}`;
|
|
|
const newFileName = fileObj.name();
|
|
|
|
|
|
// This is "example" variable, change it to the userId that you might be using.
|
|
@@ -1199,7 +1203,9 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
|
|
|
|
|
|
// This directory must be writable on server, so a test run first
|
|
|
// We are going to copy the files locally, then move them to S3
|
|
|
- const fileName = `./assets/app/uploads/avatars/${fileObj.name()}`;
|
|
|
+ const fileName = `./assets/app/uploads/avatars/${
|
|
|
+ fileObj._id
|
|
|
+ }-${fileObj.name()}`;
|
|
|
const newFileName = fileObj.name();
|
|
|
|
|
|
// This is "example" variable, change it to the userId that you might be using.
|
|
@@ -1240,14 +1246,30 @@ Migrations.add('migrate-avatars-collectionFS-to-ostrioFiles', () => {
|
|
|
if (err) {
|
|
|
console.log(err);
|
|
|
} else {
|
|
|
- console.log('File Inserted: ', fileRef._id);
|
|
|
+ console.log('File Inserted: ', newFileName, fileRef._id);
|
|
|
// Set the userId again
|
|
|
Avatars.update({ _id: fileRef._id }, { $set: { userId } });
|
|
|
+ Users.find().forEach(user => {
|
|
|
+ const old_url = fileObj.url();
|
|
|
+ new_url = Avatars.findOne({ _id: fileRef._id }).link(
|
|
|
+ 'original',
|
|
|
+ '/',
|
|
|
+ );
|
|
|
+ if (user.profile.avatarUrl.startsWith(old_url)) {
|
|
|
+ // Set avatar url to new url
|
|
|
+ Users.direct.update(
|
|
|
+ { _id: user._id },
|
|
|
+ { $set: { 'profile.avatarUrl': new_url } },
|
|
|
+ noValidate,
|
|
|
+ );
|
|
|
+ console.log('User avatar updated: ', user._id, new_url);
|
|
|
+ }
|
|
|
+ });
|
|
|
fileObj.remove();
|
|
|
}
|
|
|
},
|
|
|
- true,
|
|
|
- ); // proceedAfterUpload
|
|
|
+ true, // proceedAfterUpload
|
|
|
+ );
|
|
|
});
|
|
|
|
|
|
readStream.on('error', error => {
|