From 005e00a8a834f3df412e184aaf33c18ee5f51ba3 Mon Sep 17 00:00:00 2001 From: Abhijeet <41686026+abhvsn@users.noreply.github.com> Date: Thu, 22 Apr 2021 10:59:47 +0530 Subject: [PATCH] Added new analytics datapoint to capture invite users event (#4095) New analytics datapoint added to capture event : invite users to organisation --- .../server/services/UserServiceImpl.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserServiceImpl.java index 418319ccf5..f87b372dc2 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/UserServiceImpl.java @@ -638,7 +638,23 @@ public class UserServiceImpl extends BaseService i //Lets save the updated user object return repository.save(invitedUser); }) - .collectList(); + .collectList() + .flatMap(users -> Mono.zip(Mono.just(users), currentUserMono)) + .flatMap(tuple -> { + List users = tuple.getT1(); + User currentUser = tuple.getT2(); + + HashMap analyticsProperties = new HashMap<>(); + long numberOfUsers = users.size(); + List invitedUsers = new ArrayList<>(); + for (User user: users) { + invitedUsers.add(user.getEmail()); + } + analyticsProperties.put("numberOfUsersInvited", numberOfUsers); + analyticsProperties.put("userEmails", invitedUsers); + analyticsService.sendEvent("execute_INVITE_USERS", currentUser.getEmail(), analyticsProperties); + return Mono.just(users); + }); // Trigger the flow to first add the users to the organization and then update each user with the organizationId // added to the user's list of organizations.