treasure-data / digdag

Workload Automation System
https://www.digdag.io/
Apache License 2.0
1.31k stars 221 forks source link

Add a hook for processing AuthenticatedUser #1643

Closed myui closed 3 years ago

myui commented 3 years ago

We would like to store WF invoked user information in TD. So, add hook.

Example usage:

    @Overrided
    protected void putAdditionalParams(@Nonnull Config params)
    {
        AuthenticatedUser user = getAuthenticatedUser();
        final Config info = user.getUserInfo().getNested("td").getNested("user");
        if (info.has("id")) {
            params.set("user_id", info.get("id", Integer.class));
        }
        if (info.has("email")) {
            params.set("user_email", info.get("email", String.class));
        }

        final Config context = user.getUserContext().getNested("td").getNested("user");
        if (context.has("ip_address")) {
            params.set("ip_address", context.get("ip_address", String.class));
        } else if (context.has("ip")) {
            params.set("ip_address", context.get("ip", String.class));
        }
    }