mirror of
https://github.com/wekan/wekan.git
synced 2026-03-06 13:50:16 +01:00
Update ReactiveCache call sites to use async/await for Meteor 3.0
Part 3 of ReactiveCache async migration: - Add await before all ReactiveCache.getX() calls - Make functions containing ReactiveCache calls async - Convert forEach/map/filter loops with async callbacks to for...of - Update model helpers, Meteor methods, JsonRoutes handlers - Update collection hooks (.before/.after insert/update/remove) - Update .allow() callbacks to async Files updated across models/ and server/ directories: - Model files: cards, boards, lists, swimlanes, activities, users, checklists, checklistItems, customFields, attachments, integrations, cardComments, settings files, creators, exporters, and more - Server files: publications, methods, notifications, routes, migrations
This commit is contained in:
parent
2f6e34c5f5
commit
71eb01e233
81 changed files with 2218 additions and 2148 deletions
|
|
@ -106,7 +106,7 @@ Avatars = new FilesCollection({
|
|||
}
|
||||
return TAPi18n.__('avatar-too-big', {size: filesize(avatarsUploadSize)});
|
||||
},
|
||||
onAfterUpload(fileObj) {
|
||||
async onAfterUpload(fileObj) {
|
||||
// current storage is the filesystem, update object and database
|
||||
Object.keys(fileObj.versions).forEach(versionName => {
|
||||
fileObj.versions[versionName].storage = STORAGE_NAME_FILESYSTEM;
|
||||
|
|
@ -114,12 +114,13 @@ Avatars = new FilesCollection({
|
|||
|
||||
Avatars.update({ _id: fileObj._id }, { $set: { "versions": fileObj.versions } });
|
||||
|
||||
const isValid = Promise.await(isFileValid(fileObj, avatarsUploadMimeTypes, avatarsUploadSize, avatarsUploadExternalProgram));
|
||||
const isValid = await isFileValid(fileObj, avatarsUploadMimeTypes, avatarsUploadSize, avatarsUploadExternalProgram);
|
||||
|
||||
if (isValid) {
|
||||
// Set avatar URL using universal URL generator (URL-agnostic)
|
||||
const universalUrl = generateUniversalAvatarUrl(fileObj._id);
|
||||
ReactiveCache.getUser(fileObj.userId).setAvatarUrl(universalUrl);
|
||||
const user = await ReactiveCache.getUser(fileObj.userId);
|
||||
user.setAvatarUrl(universalUrl);
|
||||
} else {
|
||||
Avatars.remove(fileObj._id);
|
||||
}
|
||||
|
|
@ -128,12 +129,13 @@ Avatars = new FilesCollection({
|
|||
const ret = fileStoreStrategyFactory.getFileStrategy(fileObj, versionName).interceptDownload(http, this.cacheControl);
|
||||
return ret;
|
||||
},
|
||||
onBeforeRemove(files) {
|
||||
files.forEach(fileObj => {
|
||||
async onBeforeRemove(files) {
|
||||
for (const fileObj of files) {
|
||||
if (fileObj.userId) {
|
||||
ReactiveCache.getUser(fileObj.userId).setAvatarUrl('');
|
||||
const user = await ReactiveCache.getUser(fileObj.userId);
|
||||
user.setAvatarUrl('');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue