public static UserDto system_user()

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;
  }