<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class ERAS2ClientNotification implements JsonSerializable
{
public function __construct(
/** @var int */
public int $noteID=0,
/** @var string|null */
public ?string $infotext=null,
/** @var DateTime */
public DateTime $valid_from=new DateTime(),
/** @var DateTime|null */
public ?DateTime $valid_to=null,
/** @var string|null */
public ?string $valid_version=null,
/** @var string|null */
public ?string $license=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['noteID'])) $this->noteID = $o['noteID'];
if (isset($o['infotext'])) $this->infotext = $o['infotext'];
if (isset($o['valid_from'])) $this->valid_from = JsonConverters::from('DateTime', $o['valid_from']);
if (isset($o['valid_to'])) $this->valid_to = JsonConverters::from('DateTime', $o['valid_to']);
if (isset($o['valid_version'])) $this->valid_version = $o['valid_version'];
if (isset($o['license'])) $this->license = $o['license'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->noteID)) $o['noteID'] = $this->noteID;
if (isset($this->infotext)) $o['infotext'] = $this->infotext;
if (isset($this->valid_from)) $o['valid_from'] = JsonConverters::to('DateTime', $this->valid_from);
if (isset($this->valid_to)) $o['valid_to'] = JsonConverters::to('DateTime', $this->valid_to);
if (isset($this->valid_version)) $o['valid_version'] = $this->valid_version;
if (isset($this->license)) $o['license'] = $this->license;
return empty($o) ? new class(){} : $o;
}
}
class ERAS2ClientNotificationResponse implements JsonSerializable
{
public function __construct(
/** @var array<ERAS2ClientNotification>|null */
public ?array $notifications=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['notifications'])) $this->notifications = JsonConverters::fromArray('ERAS2ClientNotification', $o['notifications']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->notifications)) $o['notifications'] = JsonConverters::toArray('ERAS2ClientNotification', $this->notifications);
return empty($o) ? new class(){} : $o;
}
}
class ERAS2ClientNotificationRequest implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $eras2_version=null,
/** @var string|null */
public ?string $eras2_license=null,
/** @var string|null */
public ?string $CallingOS=null,
/** @var string|null */
public ?string $CallingOSArchitecture=null,
/** @var string|null */
public ?string $LocalIP=null,
/** @var string|null */
public ?string $CallingHost=null,
/** @var string|null */
public ?string $CallingUser=null,
/** @var string|null */
public ?string $CallingDomain=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['eras2_version'])) $this->eras2_version = $o['eras2_version'];
if (isset($o['eras2_license'])) $this->eras2_license = $o['eras2_license'];
if (isset($o['CallingOS'])) $this->CallingOS = $o['CallingOS'];
if (isset($o['CallingOSArchitecture'])) $this->CallingOSArchitecture = $o['CallingOSArchitecture'];
if (isset($o['LocalIP'])) $this->LocalIP = $o['LocalIP'];
if (isset($o['CallingHost'])) $this->CallingHost = $o['CallingHost'];
if (isset($o['CallingUser'])) $this->CallingUser = $o['CallingUser'];
if (isset($o['CallingDomain'])) $this->CallingDomain = $o['CallingDomain'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->eras2_version)) $o['eras2_version'] = $this->eras2_version;
if (isset($this->eras2_license)) $o['eras2_license'] = $this->eras2_license;
if (isset($this->CallingOS)) $o['CallingOS'] = $this->CallingOS;
if (isset($this->CallingOSArchitecture)) $o['CallingOSArchitecture'] = $this->CallingOSArchitecture;
if (isset($this->LocalIP)) $o['LocalIP'] = $this->LocalIP;
if (isset($this->CallingHost)) $o['CallingHost'] = $this->CallingHost;
if (isset($this->CallingUser)) $o['CallingUser'] = $this->CallingUser;
if (isset($this->CallingDomain)) $o['CallingDomain'] = $this->CallingDomain;
return empty($o) ? new class(){} : $o;
}
}
PHP ERAS2ClientNotificationRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /json/reply/ERAS2ClientNotificationRequest HTTP/1.1
Host: 52.142.207.43
Accept: application/json
Content-Type: application/json
Content-Length: length
{"eras2_version":"String","eras2_license":"String","CallingOS":"String","CallingOSArchitecture":"String","LocalIP":"String","CallingHost":"String","CallingUser":"String","CallingDomain":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"notifications":[{"noteID":0,"infotext":"String","valid_from":"\/Date(-62135596800000-0000)\/","valid_to":"\/Date(-62135596800000-0000)\/","valid_version":"String","license":"String"}]}