func ResolveIDsFromCaches()

in aucoalesce/id_lookup.go [143:182]


func ResolveIDsFromCaches(event *Event, users, groups *EntityCache) {
	// Actor
	if v := users.LookupID(event.Summary.Actor.Primary); v != "" {
		event.Summary.Actor.Primary = v
	}
	if v := users.LookupID(event.Summary.Actor.Secondary); v != "" {
		event.Summary.Actor.Secondary = v
	}

	// User
	names := map[string]string{}
	for key, id := range event.User.IDs {
		if strings.HasSuffix(key, "uid") {
			if v := users.LookupID(id); v != "" {
				names[key] = v
			}
		} else if strings.HasSuffix(key, "gid") {
			if v := groups.LookupID(id); v != "" {
				names[key] = v
			}
		}
	}
	if len(names) > 0 {
		event.User.Names = names
	}

	// File owner/group
	if event.File != nil {
		if event.File.UID != "" {
			event.File.Owner = users.LookupID(event.File.UID)
		}
		if event.File.GID != "" {
			event.File.Group = groups.LookupID(event.File.GID)
		}
	}

	// ECS User and groups
	event.ECS.User.lookup(users)
	event.ECS.Group.lookup(groups)
}