<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */

class WeitermeldungAPI
{
  
  public static function getWeitermeldecodeFromDmz(string $code): Weitermeldecode
  {
    return self::getFromDmz(new \XMLNode('code', $code));
  }

  
  public static function getWeitermeldecodeFromDmzById(int $id): Weitermeldecode
  {
    return self::getFromDmz(new \XMLNode('id', $id));
  }

  
  private static function getFromDmz(\XMLNode $dataValue): Weitermeldecode
  {
    $abgleichApi = new \AbgleichAPI();
    $data = new \XMLNode('data');
    $data->addChild($dataValue);
    $result = $abgleichApi->sendeNachricht(
      \AbgleichAPI::ABGLEICH_GET_WEITERMELDECODE,
      new \Nutzlast($data)
    );
    $dmzDatamodul = JsonOperations::getFromString($result->reason);

    return Weitermeldecode::fromDmzValues($dmzDatamodul);
  }
}