From 7cd57ee023bdda7029d5fa7dd384c4219d76ce6a Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Fri, 29 May 2020 22:29:42 +0200 Subject: [PATCH 1/2] WIP --- models/users.js | 1 + 1 file changed, 1 insertion(+) diff --git a/models/users.js b/models/users.js index 1a021bb72..dee112cd7 100644 --- a/models/users.js +++ b/models/users.js @@ -1075,6 +1075,7 @@ if (Meteor.isServer) { incrementBoards(_.difference(newIds, oldIds), +1); }); + // Override getUserId so that we can TODO get the current userId const fakeUserId = new Meteor.EnvironmentVariable(); const getUserId = CollectionHooks.getUserId; CollectionHooks.getUserId = () => { From 5fd167c18288c716d6cf9325ed5d9cdc9f2b8567 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Fri, 29 May 2020 23:42:19 +0200 Subject: [PATCH 2/2] REALLY, REALLY UGLY HACK --- models/users.js | 15 ++++++++++++++- package-lock.json | 8 ++++++++ package.json | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/models/users.js b/models/users.js index dee112cd7..976e5068b 100644 --- a/models/users.js +++ b/models/users.js @@ -1109,6 +1109,10 @@ if (Meteor.isServer) { }); */ + const Future = require('fibers/future'); + let future1 = new Future(); + let future2 = new Future(); + let future3 = new Future(); Boards.insert( { title: TAPi18n.__('templates'), @@ -1136,6 +1140,7 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.cardTemplatesSwimlaneId': swimlaneId }, }); + future1.return(); }, ); @@ -1153,6 +1158,7 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.listTemplatesSwimlaneId': swimlaneId }, }); + future2.return(); }, ); @@ -1170,15 +1176,22 @@ if (Meteor.isServer) { Users.update(fakeUserId.get(), { $set: { 'profile.boardTemplatesSwimlaneId': swimlaneId }, }); + future3.return(); }, ); }, ); + // HACK + future1.wait(); + future2.wait(); + future3.wait(); }); }); } - Users.after.insert((userId, doc) => { + Users.after.insert((userId, doc) => { + // HACK + doc = Users.findOne({_id: doc._id}); if (doc.createdThroughApi) { // The admin user should be able to create a user despite disabling registration because // it is two different things (registration and creation). diff --git a/package-lock.json b/package-lock.json index 7efc5c9f6..c8a71ef74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1744,6 +1744,14 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fibers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fibers/-/fibers-5.0.0.tgz", + "integrity": "sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==", + "requires": { + "detect-libc": "^1.0.3" + } + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", diff --git a/package.json b/package.json index d44c51a38..2cf564335 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "bunyan": "^1.8.12", "csv-stringify": "^5.5.0", "es6-promise": "^4.2.4", + "fibers": "^5.0.0", "flatted": "^2.0.1", "gridfs-stream": "^0.5.3", "jszip": "^3.4.0",