in src/main/java/com/epam/digital/data/platform/el/juel/SystemUserJuelFunction.java [47:64]
public static UserDto system_user() {
final var variableAccessor = getVariableAccessor();
UserDto storedObject = variableAccessor.getVariable(SYSTEM_USER_OBJ_VAR_NAME);
if (storedObject != null) {
return storedObject;
}
var idmService = getBean("system-user-keycloak-client-service", IdmService.class);
var accessToken = idmService.getClientAccessToken();
var claims = parseClaims(accessToken);
var systemUser = new UserDto(claims.getPreferredUsername(), accessToken, claims);
variableAccessor.removeVariable(SYSTEM_USER_OBJ_VAR_NAME);
variableAccessor.setVariableTransient(SYSTEM_USER_OBJ_VAR_NAME, systemUser);
return systemUser;
}