<?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 HelloResponse implements JsonSerializable
{
public function __construct(
/** @var string */
public string $result=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['result'])) $this->result = $o['result'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->result)) $o['result'] = $this->result;
return empty($o) ? new class(){} : $o;
}
}
class ListResult implements JsonSerializable
{
public function __construct(
/** @var string */
public string $result=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['result'])) $this->result = $o['result'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->result)) $o['result'] = $this->result;
return empty($o) ? new class(){} : $o;
}
}
class ArrayResult implements JsonSerializable
{
public function __construct(
/** @var string */
public string $result=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['result'])) $this->result = $o['result'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->result)) $o['result'] = $this->result;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class CancelRequest implements IPost, IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $tag=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['tag'])) $this->tag = $o['tag'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->tag)) $o['tag'] = $this->tag;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class CancelRequestResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $tag=null,
// @DataMember(Order=2)
/** @var DateInterval|null */
public ?DateInterval $elapsed=null,
// @DataMember(Order=3)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=4)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['tag'])) $this->tag = $o['tag'];
if (isset($o['elapsed'])) $this->elapsed = JsonConverters::from('DateInterval', $o['elapsed']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->tag)) $o['tag'] = $this->tag;
if (isset($this->elapsed)) $o['elapsed'] = JsonConverters::to('DateInterval', $this->elapsed);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class UpdateEventSubscriber implements IPost, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $id=null,
// @DataMember(Order=2)
/** @var string[]|null */
public ?array $subscribeChannels=null,
// @DataMember(Order=3)
/** @var string[]|null */
public ?array $unsubscribeChannels=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['subscribeChannels'])) $this->subscribeChannels = JsonConverters::fromArray('string', $o['subscribeChannels']);
if (isset($o['unsubscribeChannels'])) $this->unsubscribeChannels = JsonConverters::fromArray('string', $o['unsubscribeChannels']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->subscribeChannels)) $o['subscribeChannels'] = JsonConverters::toArray('string', $this->subscribeChannels);
if (isset($this->unsubscribeChannels)) $o['unsubscribeChannels'] = JsonConverters::toArray('string', $this->unsubscribeChannels);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class UpdateEventSubscriberResponse implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetApiKeys implements IGet, IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $environment=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['environment'])) $this->environment = $o['environment'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->environment)) $o['environment'] = $this->environment;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class UserApiKey implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $key=null,
// @DataMember(Order=2)
/** @var string|null */
public ?string $keyType=null,
// @DataMember(Order=3)
/** @var DateTime|null */
public ?DateTime $expiryDate=null,
// @DataMember(Order=4)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['key'])) $this->key = $o['key'];
if (isset($o['keyType'])) $this->keyType = $o['keyType'];
if (isset($o['expiryDate'])) $this->expiryDate = JsonConverters::from('DateTime', $o['expiryDate']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->key)) $o['key'] = $this->key;
if (isset($this->keyType)) $o['keyType'] = $this->keyType;
if (isset($this->expiryDate)) $o['expiryDate'] = JsonConverters::to('DateTime', $this->expiryDate);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetApiKeysResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var array<UserApiKey>|null */
public ?array $results=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=3)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['results'])) $this->results = JsonConverters::fromArray('UserApiKey', $o['results']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->results)) $o['results'] = JsonConverters::toArray('UserApiKey', $this->results);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class RegenerateApiKeys implements IPost, IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $environment=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['environment'])) $this->environment = $o['environment'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->environment)) $o['environment'] = $this->environment;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class RegenerateApiKeysResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var array<UserApiKey>|null */
public ?array $results=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=3)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['results'])) $this->results = JsonConverters::fromArray('UserApiKey', $o['results']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->results)) $o['results'] = JsonConverters::toArray('UserApiKey', $this->results);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class ConvertSessionToToken implements IPost, IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var bool|null */
public ?bool $preserveSession=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['preserveSession'])) $this->preserveSession = $o['preserveSession'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->preserveSession)) $o['preserveSession'] = $this->preserveSession;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class ConvertSessionToTokenResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=2)
/** @var string|null */
public ?string $accessToken=null,
// @DataMember(Order=3)
/** @var string|null */
public ?string $refreshToken=null,
// @DataMember(Order=4)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['accessToken'])) $this->accessToken = $o['accessToken'];
if (isset($o['refreshToken'])) $this->refreshToken = $o['refreshToken'];
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->accessToken)) $o['accessToken'] = $this->accessToken;
if (isset($this->refreshToken)) $o['refreshToken'] = $this->refreshToken;
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetAccessTokenResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $accessToken=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=3)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['accessToken'])) $this->accessToken = $o['accessToken'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->accessToken)) $o['accessToken'] = $this->accessToken;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetAccessToken implements IPost, IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $refreshToken=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['refreshToken'])) $this->refreshToken = $o['refreshToken'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->refreshToken)) $o['refreshToken'] = $this->refreshToken;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
class NavItem implements IMeta, JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $label=null,
/** @var string|null */
public ?string $href=null,
/** @var bool|null */
public ?bool $exact=null,
/** @var string|null */
public ?string $id=null,
/** @var string|null */
public ?string $className=null,
/** @var string|null */
public ?string $iconClass=null,
/** @var string|null */
public ?string $iconSrc=null,
/** @var string|null */
public ?string $show=null,
/** @var string|null */
public ?string $hide=null,
/** @var array<NavItem>|null */
public ?array $children=null,
/** @var array<string,string>|null */
public ?array $meta=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['label'])) $this->label = $o['label'];
if (isset($o['href'])) $this->href = $o['href'];
if (isset($o['exact'])) $this->exact = $o['exact'];
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['className'])) $this->className = $o['className'];
if (isset($o['iconClass'])) $this->iconClass = $o['iconClass'];
if (isset($o['iconSrc'])) $this->iconSrc = $o['iconSrc'];
if (isset($o['show'])) $this->show = $o['show'];
if (isset($o['hide'])) $this->hide = $o['hide'];
if (isset($o['children'])) $this->children = JsonConverters::fromArray('NavItem', $o['children']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->label)) $o['label'] = $this->label;
if (isset($this->href)) $o['href'] = $this->href;
if (isset($this->exact)) $o['exact'] = $this->exact;
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->className)) $o['className'] = $this->className;
if (isset($this->iconClass)) $o['iconClass'] = $this->iconClass;
if (isset($this->iconSrc)) $o['iconSrc'] = $this->iconSrc;
if (isset($this->show)) $o['show'] = $this->show;
if (isset($this->hide)) $o['hide'] = $this->hide;
if (isset($this->children)) $o['children'] = JsonConverters::toArray('NavItem', $this->children);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetNavItems implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $name=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['name'])) $this->name = $o['name'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->name)) $o['name'] = $this->name;
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class GetNavItemsResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $baseUrl=null,
// @DataMember(Order=2)
/** @var array<NavItem>|null */
public ?array $results=null,
// @DataMember(Order=3)
/** @var array<string,NavItem[]>|null */
public ?array $navItemsMap=null,
// @DataMember(Order=4)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=5)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['baseUrl'])) $this->baseUrl = $o['baseUrl'];
if (isset($o['results'])) $this->results = JsonConverters::fromArray('NavItem', $o['results']);
if (isset($o['navItemsMap'])) $this->navItemsMap = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','List<NavItem>']), $o['navItemsMap']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->baseUrl)) $o['baseUrl'] = $this->baseUrl;
if (isset($this->results)) $o['results'] = JsonConverters::toArray('NavItem', $this->results);
if (isset($this->navItemsMap)) $o['navItemsMap'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','List<NavItem>']), $this->navItemsMap);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class EmptyResponse implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class IdResponse implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $id=null,
// @DataMember(Order=2)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class StringResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var string|null */
public ?string $result=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=3)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['result'])) $this->result = $o['result'];
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->result)) $o['result'] = $this->result;
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class StringsResponse implements IMeta, JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var array<string>|null */
public ?array $results=null,
// @DataMember(Order=2)
/** @var array<string,string>|null */
public ?array $meta=null,
// @DataMember(Order=3)
/** @var ResponseStatus|null */
public ?ResponseStatus $responseStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['results'])) $this->results = JsonConverters::fromArray('string', $o['results']);
if (isset($o['meta'])) $this->meta = JsonConverters::from(JsonConverters::context('Dictionary',genericArgs:['string','string']), $o['meta']);
if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->results)) $o['results'] = JsonConverters::toArray('string', $this->results);
if (isset($this->meta)) $o['meta'] = JsonConverters::to(JsonConverters::context('Dictionary',genericArgs:['string','string']), $this->meta);
if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
return empty($o) ? new class(){} : $o;
}
}
// @DataContract
class AuditBase implements JsonSerializable
{
public function __construct(
// @DataMember(Order=1)
/** @var DateTime */
public DateTime $createdDate=new DateTime(),
// @DataMember(Order=2)
// @Required()
/** @var string */
public string $createdBy='',
// @DataMember(Order=3)
/** @var DateTime */
public DateTime $modifiedDate=new DateTime(),
// @DataMember(Order=4)
// @Required()
/** @var string */
public string $modifiedBy='',
// @DataMember(Order=5)
/** @var DateTime|null */
public ?DateTime $deletedDate=null,
// @DataMember(Order=6)
/** @var string|null */
public ?string $deletedBy=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['createdDate'])) $this->createdDate = JsonConverters::from('DateTime', $o['createdDate']);
if (isset($o['createdBy'])) $this->createdBy = $o['createdBy'];
if (isset($o['modifiedDate'])) $this->modifiedDate = JsonConverters::from('DateTime', $o['modifiedDate']);
if (isset($o['modifiedBy'])) $this->modifiedBy = $o['modifiedBy'];
if (isset($o['deletedDate'])) $this->deletedDate = JsonConverters::from('DateTime', $o['deletedDate']);
if (isset($o['deletedBy'])) $this->deletedBy = $o['deletedBy'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->createdDate)) $o['createdDate'] = JsonConverters::to('DateTime', $this->createdDate);
if (isset($this->createdBy)) $o['createdBy'] = $this->createdBy;
if (isset($this->modifiedDate)) $o['modifiedDate'] = JsonConverters::to('DateTime', $this->modifiedDate);
if (isset($this->modifiedBy)) $o['modifiedBy'] = $this->modifiedBy;
if (isset($this->deletedDate)) $o['deletedDate'] = JsonConverters::to('DateTime', $this->deletedDate);
if (isset($this->deletedBy)) $o['deletedBy'] = $this->deletedBy;
return empty($o) ? new class(){} : $o;
}
}
class DummyTypes implements JsonSerializable
{
public function __construct(
/** @var array<HelloResponse>|null */
public ?array $helloResponses=null,
/** @var array<ListResult>|null */
public ?array $listResult=null,
/** @var ArrayResult[]|null */
public ?array $arrayResult=null,
/** @var CancelRequest|null */
public ?CancelRequest $cancelRequest=null,
/** @var CancelRequestResponse|null */
public ?CancelRequestResponse $cancelRequestResponse=null,
/** @var UpdateEventSubscriber|null */
public ?UpdateEventSubscriber $updateEventSubscriber=null,
/** @var UpdateEventSubscriberResponse|null */
public ?UpdateEventSubscriberResponse $updateEventSubscriberResponse=null,
/** @var GetApiKeys|null */
public ?GetApiKeys $getApiKeys=null,
/** @var GetApiKeysResponse|null */
public ?GetApiKeysResponse $getApiKeysResponse=null,
/** @var RegenerateApiKeys|null */
public ?RegenerateApiKeys $regenerateApiKeys=null,
/** @var RegenerateApiKeysResponse|null */
public ?RegenerateApiKeysResponse $regenerateApiKeysResponse=null,
/** @var UserApiKey|null */
public ?UserApiKey $userApiKey=null,
/** @var ConvertSessionToToken|null */
public ?ConvertSessionToToken $convertSessionToToken=null,
/** @var ConvertSessionToTokenResponse|null */
public ?ConvertSessionToTokenResponse $convertSessionToTokenResponse=null,
/** @var GetAccessToken|null */
public ?GetAccessToken $getAccessToken=null,
/** @var GetAccessTokenResponse|null */
public ?GetAccessTokenResponse $getAccessTokenResponse=null,
/** @var NavItem|null */
public ?NavItem $navItem=null,
/** @var GetNavItems|null */
public ?GetNavItems $getNavItems=null,
/** @var GetNavItemsResponse|null */
public ?GetNavItemsResponse $getNavItemsResponse=null,
/** @var EmptyResponse|null */
public ?EmptyResponse $emptyResponse=null,
/** @var IdResponse|null */
public ?IdResponse $idResponse=null,
/** @var StringResponse|null */
public ?StringResponse $stringResponse=null,
/** @var StringsResponse|null */
public ?StringsResponse $stringsResponse=null,
/** @var AuditBase|null */
public ?AuditBase $auditBase=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['helloResponses'])) $this->helloResponses = JsonConverters::fromArray('HelloResponse', $o['helloResponses']);
if (isset($o['listResult'])) $this->listResult = JsonConverters::fromArray('ListResult', $o['listResult']);
if (isset($o['arrayResult'])) $this->arrayResult = JsonConverters::fromArray('ArrayResult', $o['arrayResult']);
if (isset($o['cancelRequest'])) $this->cancelRequest = JsonConverters::from('CancelRequest', $o['cancelRequest']);
if (isset($o['cancelRequestResponse'])) $this->cancelRequestResponse = JsonConverters::from('CancelRequestResponse', $o['cancelRequestResponse']);
if (isset($o['updateEventSubscriber'])) $this->updateEventSubscriber = JsonConverters::from('UpdateEventSubscriber', $o['updateEventSubscriber']);
if (isset($o['updateEventSubscriberResponse'])) $this->updateEventSubscriberResponse = JsonConverters::from('UpdateEventSubscriberResponse', $o['updateEventSubscriberResponse']);
if (isset($o['getApiKeys'])) $this->getApiKeys = JsonConverters::from('GetApiKeys', $o['getApiKeys']);
if (isset($o['getApiKeysResponse'])) $this->getApiKeysResponse = JsonConverters::from('GetApiKeysResponse', $o['getApiKeysResponse']);
if (isset($o['regenerateApiKeys'])) $this->regenerateApiKeys = JsonConverters::from('RegenerateApiKeys', $o['regenerateApiKeys']);
if (isset($o['regenerateApiKeysResponse'])) $this->regenerateApiKeysResponse = JsonConverters::from('RegenerateApiKeysResponse', $o['regenerateApiKeysResponse']);
if (isset($o['userApiKey'])) $this->userApiKey = JsonConverters::from('UserApiKey', $o['userApiKey']);
if (isset($o['convertSessionToToken'])) $this->convertSessionToToken = JsonConverters::from('ConvertSessionToToken', $o['convertSessionToToken']);
if (isset($o['convertSessionToTokenResponse'])) $this->convertSessionToTokenResponse = JsonConverters::from('ConvertSessionToTokenResponse', $o['convertSessionToTokenResponse']);
if (isset($o['getAccessToken'])) $this->getAccessToken = JsonConverters::from('GetAccessToken', $o['getAccessToken']);
if (isset($o['getAccessTokenResponse'])) $this->getAccessTokenResponse = JsonConverters::from('GetAccessTokenResponse', $o['getAccessTokenResponse']);
if (isset($o['navItem'])) $this->navItem = JsonConverters::from('NavItem', $o['navItem']);
if (isset($o['getNavItems'])) $this->getNavItems = JsonConverters::from('GetNavItems', $o['getNavItems']);
if (isset($o['getNavItemsResponse'])) $this->getNavItemsResponse = JsonConverters::from('GetNavItemsResponse', $o['getNavItemsResponse']);
if (isset($o['emptyResponse'])) $this->emptyResponse = JsonConverters::from('EmptyResponse', $o['emptyResponse']);
if (isset($o['idResponse'])) $this->idResponse = JsonConverters::from('IdResponse', $o['idResponse']);
if (isset($o['stringResponse'])) $this->stringResponse = JsonConverters::from('StringResponse', $o['stringResponse']);
if (isset($o['stringsResponse'])) $this->stringsResponse = JsonConverters::from('StringsResponse', $o['stringsResponse']);
if (isset($o['auditBase'])) $this->auditBase = JsonConverters::from('AuditBase', $o['auditBase']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->helloResponses)) $o['helloResponses'] = JsonConverters::toArray('HelloResponse', $this->helloResponses);
if (isset($this->listResult)) $o['listResult'] = JsonConverters::toArray('ListResult', $this->listResult);
if (isset($this->arrayResult)) $o['arrayResult'] = JsonConverters::toArray('ArrayResult', $this->arrayResult);
if (isset($this->cancelRequest)) $o['cancelRequest'] = JsonConverters::to('CancelRequest', $this->cancelRequest);
if (isset($this->cancelRequestResponse)) $o['cancelRequestResponse'] = JsonConverters::to('CancelRequestResponse', $this->cancelRequestResponse);
if (isset($this->updateEventSubscriber)) $o['updateEventSubscriber'] = JsonConverters::to('UpdateEventSubscriber', $this->updateEventSubscriber);
if (isset($this->updateEventSubscriberResponse)) $o['updateEventSubscriberResponse'] = JsonConverters::to('UpdateEventSubscriberResponse', $this->updateEventSubscriberResponse);
if (isset($this->getApiKeys)) $o['getApiKeys'] = JsonConverters::to('GetApiKeys', $this->getApiKeys);
if (isset($this->getApiKeysResponse)) $o['getApiKeysResponse'] = JsonConverters::to('GetApiKeysResponse', $this->getApiKeysResponse);
if (isset($this->regenerateApiKeys)) $o['regenerateApiKeys'] = JsonConverters::to('RegenerateApiKeys', $this->regenerateApiKeys);
if (isset($this->regenerateApiKeysResponse)) $o['regenerateApiKeysResponse'] = JsonConverters::to('RegenerateApiKeysResponse', $this->regenerateApiKeysResponse);
if (isset($this->userApiKey)) $o['userApiKey'] = JsonConverters::to('UserApiKey', $this->userApiKey);
if (isset($this->convertSessionToToken)) $o['convertSessionToToken'] = JsonConverters::to('ConvertSessionToToken', $this->convertSessionToToken);
if (isset($this->convertSessionToTokenResponse)) $o['convertSessionToTokenResponse'] = JsonConverters::to('ConvertSessionToTokenResponse', $this->convertSessionToTokenResponse);
if (isset($this->getAccessToken)) $o['getAccessToken'] = JsonConverters::to('GetAccessToken', $this->getAccessToken);
if (isset($this->getAccessTokenResponse)) $o['getAccessTokenResponse'] = JsonConverters::to('GetAccessTokenResponse', $this->getAccessTokenResponse);
if (isset($this->navItem)) $o['navItem'] = JsonConverters::to('NavItem', $this->navItem);
if (isset($this->getNavItems)) $o['getNavItems'] = JsonConverters::to('GetNavItems', $this->getNavItems);
if (isset($this->getNavItemsResponse)) $o['getNavItemsResponse'] = JsonConverters::to('GetNavItemsResponse', $this->getNavItemsResponse);
if (isset($this->emptyResponse)) $o['emptyResponse'] = JsonConverters::to('EmptyResponse', $this->emptyResponse);
if (isset($this->idResponse)) $o['idResponse'] = JsonConverters::to('IdResponse', $this->idResponse);
if (isset($this->stringResponse)) $o['stringResponse'] = JsonConverters::to('StringResponse', $this->stringResponse);
if (isset($this->stringsResponse)) $o['stringsResponse'] = JsonConverters::to('StringsResponse', $this->stringsResponse);
if (isset($this->auditBase)) $o['auditBase'] = JsonConverters::to('AuditBase', $this->auditBase);
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/oneway/DummyTypes HTTP/1.1
Host: test.servicestack.net
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"helloResponses":[{"result":"String"}],"listResult":[{"result":"String"}],"arrayResult":[{"result":"String"}],"cancelRequest":{"tag":"String","meta":{"String":"String"}},"cancelRequestResponse":{"tag":"String","elapsed":"PT0S","meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"updateEventSubscriber":{"id":"String","subscribeChannels":["String"],"unsubscribeChannels":["String"]},"updateEventSubscriberResponse":{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"getApiKeys":{"environment":"String","meta":{"String":"String"}},"getApiKeysResponse":{"results":[{"key":"String","keyType":"String","expiryDate":"\/Date(-62135596800000-0000)\/","meta":{"String":"String"}}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"regenerateApiKeys":{"environment":"String","meta":{"String":"String"}},"regenerateApiKeysResponse":{"results":[{"key":"String","keyType":"String","expiryDate":"\/Date(-62135596800000-0000)\/","meta":{"String":"String"}}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"userApiKey":{"key":"String","keyType":"String","expiryDate":"\/Date(-62135596800000-0000)\/","meta":{"String":"String"}},"convertSessionToToken":{"preserveSession":false,"meta":{"String":"String"}},"convertSessionToTokenResponse":{"meta":{"String":"String"},"accessToken":"String","refreshToken":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"getAccessToken":{"refreshToken":"String","meta":{"String":"String"}},"getAccessTokenResponse":{"accessToken":"String","meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"navItem":{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{}],"meta":{"String":"String"}}],"meta":{"String":"String"}}],"meta":{"String":"String"}},"getNavItems":{"name":"String"},"getNavItemsResponse":{"baseUrl":"String","results":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}],"meta":{"String":"String"}}],"navItemsMap":{"String":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","children":[{"label":"String","href":"String","exact":false,"id":"String","className":"String","iconClass":"String","iconSrc":"String","show":"String","hide":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}],"meta":{"String":"String"}}]},"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"emptyResponse":{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"idResponse":{"id":"String","responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"stringResponse":{"result":"String","meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}},"stringsResponse":{"results":["String"],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}}