chore: Changes in user invited analytics event (#16611)

This commit is contained in:
Vishnu Gp 2022-09-09 10:31:18 +05:30 committed by GitHub
parent a7ff6cb739
commit 43ee8b2089
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 4 deletions

View File

@ -16,6 +16,7 @@ public enum AnalyticsEvents {
LOGOUT,
FIRST_LOGIN,
EXECUTE_ACTION("execute_ACTION_TRIGGERED"),
EXECUTE_INVITE_USERS("execute_INVITE_USERS"),
UPDATE_LAYOUT,
PUBLISH_APPLICATION("publish_APPLICATION"),
FORK,

View File

@ -22,6 +22,7 @@ import reactor.core.publisher.Mono;
import reactor.core.scheduler.Schedulers;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@ -220,7 +221,12 @@ public class AnalyticsServiceCEImpl implements AnalyticsServiceCE {
*/
private <T extends BaseDomain> String getEventTag(AnalyticsEvents event, T object) {
// In case of action execution or instance setting update, event.getEventName() only is used to support backward compatibility of event name
boolean isNonResourceEvent = AnalyticsEvents.EXECUTE_ACTION.equals(event) || AnalyticsEvents.AUTHENTICATION_METHOD_CONFIGURATION.equals(event);
List<AnalyticsEvents> nonResourceEvents = List.of(
AnalyticsEvents.EXECUTE_ACTION,
AnalyticsEvents.AUTHENTICATION_METHOD_CONFIGURATION,
AnalyticsEvents.EXECUTE_INVITE_USERS
);
boolean isNonResourceEvent = nonResourceEvents.contains(event);
final String eventTag = isNonResourceEvent ? event.getEventName() : event.getEventName() + "_" + object.getClass().getSimpleName().toUpperCase();
return eventTag;

View File

@ -1,5 +1,6 @@
package com.appsmith.server.services.ce;
import com.appsmith.external.constants.AnalyticsEvents;
import com.appsmith.external.helpers.AppsmithBeanUtils;
import com.appsmith.external.models.Policy;
import com.appsmith.external.services.EncryptionService;
@ -677,7 +678,7 @@ public class UserServiceCEImpl extends BaseService<UserRepository, User, String>
return permissionGroupService.bulkAssignToUsers(permissionGroup, users);
}).cache();
// Send analytics event and don't wait for the result
// Send analytics event
Mono<Object> sendAnalyticsEventMono = Mono.zip(currentUserMono, inviteUsersMono)
.flatMap(tuple -> {
User currentUser = tuple.getT1();
@ -687,8 +688,7 @@ public class UserServiceCEImpl extends BaseService<UserRepository, User, String>
List<String> invitedUsers = users.stream().map(User::getEmail).collect(Collectors.toList());
analyticsProperties.put("numberOfUsersInvited", numberOfUsers);
analyticsProperties.put("userEmails", invitedUsers);
analyticsService.sendEvent("execute_INVITE_USERS", currentUser.getEmail(), analyticsProperties);
return Mono.empty();
return analyticsService.sendObjectEvent(AnalyticsEvents.EXECUTE_INVITE_USERS, currentUser, analyticsProperties);
});
return bulkAddUserResultMono.then(sendAnalyticsEventMono).then(inviteUsersMono);