<?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 Registrationprofile implements JsonSerializable
{
public function __construct(
/** @var string */
public string $ID='',
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Hint=null,
/** @var int */
public int $Order=0,
/** @var bool|null */
public ?bool $RegisterAutomatically=null,
/** @var bool|null */
public ?bool $RegisterInBackground=null,
/** @var string|null */
public ?string $ThumbnailUrl=null,
/** @var string|null */
public ?string $ProgCode=null,
/** @var int */
public int $VersionControlType=0,
/** @var int */
public int $WOPlaceLogo=0,
/** @var string|null */
public ?string $WOPrinterBins=null,
/** @var bool|null */
public ?bool $SelectAllFiles=null,
/** @var bool|null */
public ?bool $ShowSaveDialog=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ID'])) $this->ID = $o['ID'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Hint'])) $this->Hint = $o['Hint'];
if (isset($o['Order'])) $this->Order = $o['Order'];
if (isset($o['RegisterAutomatically'])) $this->RegisterAutomatically = $o['RegisterAutomatically'];
if (isset($o['RegisterInBackground'])) $this->RegisterInBackground = $o['RegisterInBackground'];
if (isset($o['ThumbnailUrl'])) $this->ThumbnailUrl = $o['ThumbnailUrl'];
if (isset($o['ProgCode'])) $this->ProgCode = $o['ProgCode'];
if (isset($o['VersionControlType'])) $this->VersionControlType = $o['VersionControlType'];
if (isset($o['WOPlaceLogo'])) $this->WOPlaceLogo = $o['WOPlaceLogo'];
if (isset($o['WOPrinterBins'])) $this->WOPrinterBins = $o['WOPrinterBins'];
if (isset($o['SelectAllFiles'])) $this->SelectAllFiles = $o['SelectAllFiles'];
if (isset($o['ShowSaveDialog'])) $this->ShowSaveDialog = $o['ShowSaveDialog'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ID)) $o['ID'] = $this->ID;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Hint)) $o['Hint'] = $this->Hint;
if (isset($this->Order)) $o['Order'] = $this->Order;
if (isset($this->RegisterAutomatically)) $o['RegisterAutomatically'] = $this->RegisterAutomatically;
if (isset($this->RegisterInBackground)) $o['RegisterInBackground'] = $this->RegisterInBackground;
if (isset($this->ThumbnailUrl)) $o['ThumbnailUrl'] = $this->ThumbnailUrl;
if (isset($this->ProgCode)) $o['ProgCode'] = $this->ProgCode;
if (isset($this->VersionControlType)) $o['VersionControlType'] = $this->VersionControlType;
if (isset($this->WOPlaceLogo)) $o['WOPlaceLogo'] = $this->WOPlaceLogo;
if (isset($this->WOPrinterBins)) $o['WOPrinterBins'] = $this->WOPrinterBins;
if (isset($this->SelectAllFiles)) $o['SelectAllFiles'] = $this->SelectAllFiles;
if (isset($this->ShowSaveDialog)) $o['ShowSaveDialog'] = $this->ShowSaveDialog;
return empty($o) ? new class(){} : $o;
}
}
enum RegistrationprofileStepLayout : string
{
case OneColumn_12 = 'OneColumn_12';
case TwoColumn_6_6 = 'TwoColumn_6_6';
case TwoColumn_7_5 = 'TwoColumn_7_5';
case ThreeColumn_4_4_4 = 'ThreeColumn_4_4_4';
}
class FieldState implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $Required=null,
/** @var bool|null */
public ?bool $Visible=null,
/** @var bool|null */
public ?bool $Readonly=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Required'])) $this->Required = $o['Required'];
if (isset($o['Visible'])) $this->Visible = $o['Visible'];
if (isset($o['Readonly'])) $this->Readonly = $o['Readonly'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Required)) $o['Required'] = $this->Required;
if (isset($this->Visible)) $o['Visible'] = $this->Visible;
if (isset($this->Readonly)) $o['Readonly'] = $this->Readonly;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationProfileFieldStateBase extends FieldState implements JsonSerializable
{
/**
* @param bool|null $Required
* @param bool|null $Visible
* @param bool|null $Readonly
*/
public function __construct(
?bool $Required=null,
?bool $Visible=null,
?bool $Readonly=null,
/** @var string */
public string $DocumentFieldID=''
) {
parent::__construct($Required,$Visible,$Readonly);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['DocumentFieldID'])) $this->DocumentFieldID = $o['DocumentFieldID'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->DocumentFieldID)) $o['DocumentFieldID'] = $this->DocumentFieldID;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationprofileField implements JsonSerializable
{
public function __construct(
/** @var string */
public string $ID='',
/** @var string */
public string $DocumentFieldID='',
/** @var string|null */
public ?string $Label=null,
/** @var string|null */
public ?string $UserControlType=null,
/** @var array<SerializableKeyValuePair<string,Object>>|null */
public ?array $UserControlProperties=null,
/** @var string|null */
public ?string $Hint=null,
/** @var int */
public int $Order=0,
/** @var bool|null */
public ?bool $HasDependableFields=null,
/** @var string|null */
public ?string $EntityName=null,
/** @var RegistrationProfileFieldStateBase|null */
public ?RegistrationProfileFieldStateBase $State=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ID'])) $this->ID = $o['ID'];
if (isset($o['DocumentFieldID'])) $this->DocumentFieldID = $o['DocumentFieldID'];
if (isset($o['Label'])) $this->Label = $o['Label'];
if (isset($o['UserControlType'])) $this->UserControlType = $o['UserControlType'];
if (isset($o['UserControlProperties'])) $this->UserControlProperties = JsonConverters::fromArray('SerializableKeyValuePair<String,Object>', $o['UserControlProperties']);
if (isset($o['Hint'])) $this->Hint = $o['Hint'];
if (isset($o['Order'])) $this->Order = $o['Order'];
if (isset($o['HasDependableFields'])) $this->HasDependableFields = $o['HasDependableFields'];
if (isset($o['EntityName'])) $this->EntityName = $o['EntityName'];
if (isset($o['State'])) $this->State = JsonConverters::from('RegistrationProfileFieldStateBase', $o['State']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ID)) $o['ID'] = $this->ID;
if (isset($this->DocumentFieldID)) $o['DocumentFieldID'] = $this->DocumentFieldID;
if (isset($this->Label)) $o['Label'] = $this->Label;
if (isset($this->UserControlType)) $o['UserControlType'] = $this->UserControlType;
if (isset($this->UserControlProperties)) $o['UserControlProperties'] = JsonConverters::toArray('SerializableKeyValuePair<String,Object>', $this->UserControlProperties);
if (isset($this->Hint)) $o['Hint'] = $this->Hint;
if (isset($this->Order)) $o['Order'] = $this->Order;
if (isset($this->HasDependableFields)) $o['HasDependableFields'] = $this->HasDependableFields;
if (isset($this->EntityName)) $o['EntityName'] = $this->EntityName;
if (isset($this->State)) $o['State'] = JsonConverters::to('RegistrationProfileFieldStateBase', $this->State);
return empty($o) ? new class(){} : $o;
}
}
class RegistrationprofileGroupState implements JsonSerializable
{
public function __construct(
/** @var bool|null */
public ?bool $Collapsed=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Collapsed'])) $this->Collapsed = $o['Collapsed'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Collapsed)) $o['Collapsed'] = $this->Collapsed;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationprofileGroup implements JsonSerializable
{
public function __construct(
/** @var string */
public string $ID='',
/** @var string|null */
public ?string $Name=null,
/** @var string|null */
public ?string $Label=null,
/** @var int */
public int $Order=0,
/** @var int */
public int $ColumnIndex=0,
/** @var array<RegistrationprofileField>|null */
public ?array $Fields=null,
/** @var int */
public int $LabelLayoutType=0,
/** @var RegistrationprofileGroupState|null */
public ?RegistrationprofileGroupState $State=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ID'])) $this->ID = $o['ID'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Label'])) $this->Label = $o['Label'];
if (isset($o['Order'])) $this->Order = $o['Order'];
if (isset($o['ColumnIndex'])) $this->ColumnIndex = $o['ColumnIndex'];
if (isset($o['Fields'])) $this->Fields = JsonConverters::fromArray('RegistrationprofileField', $o['Fields']);
if (isset($o['LabelLayoutType'])) $this->LabelLayoutType = $o['LabelLayoutType'];
if (isset($o['State'])) $this->State = JsonConverters::from('RegistrationprofileGroupState', $o['State']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ID)) $o['ID'] = $this->ID;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Label)) $o['Label'] = $this->Label;
if (isset($this->Order)) $o['Order'] = $this->Order;
if (isset($this->ColumnIndex)) $o['ColumnIndex'] = $this->ColumnIndex;
if (isset($this->Fields)) $o['Fields'] = JsonConverters::toArray('RegistrationprofileField', $this->Fields);
if (isset($this->LabelLayoutType)) $o['LabelLayoutType'] = $this->LabelLayoutType;
if (isset($this->State)) $o['State'] = JsonConverters::to('RegistrationprofileGroupState', $this->State);
return empty($o) ? new class(){} : $o;
}
}
class RegistrationprofileStep implements JsonSerializable
{
public function __construct(
/** @var string */
public string $ID='',
/** @var string|null */
public ?string $Name=null,
/** @var int */
public int $Order=0,
/** @var RegistrationprofileStepLayout|null */
public ?RegistrationprofileStepLayout $Layout=null,
/** @var array<RegistrationprofileGroup>|null */
public ?array $Groups=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ID'])) $this->ID = $o['ID'];
if (isset($o['Name'])) $this->Name = $o['Name'];
if (isset($o['Order'])) $this->Order = $o['Order'];
if (isset($o['Layout'])) $this->Layout = JsonConverters::from('RegistrationprofileStepLayout', $o['Layout']);
if (isset($o['Groups'])) $this->Groups = JsonConverters::fromArray('RegistrationprofileGroup', $o['Groups']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ID)) $o['ID'] = $this->ID;
if (isset($this->Name)) $o['Name'] = $this->Name;
if (isset($this->Order)) $o['Order'] = $this->Order;
if (isset($this->Layout)) $o['Layout'] = JsonConverters::to('RegistrationprofileStepLayout', $this->Layout);
if (isset($this->Groups)) $o['Groups'] = JsonConverters::toArray('RegistrationprofileGroup', $this->Groups);
return empty($o) ? new class(){} : $o;
}
}
enum MessageType : int
{
case Information = 1;
case Warning = 2;
case Error = 3;
case Success = 4;
}
class InformationMessageBase implements IInformationMessage, JsonSerializable
{
public function __construct(
/** @var MessageType|null */
public ?MessageType $Type=null,
/** @var string|null */
public ?string $Summary=null,
/** @var string|null */
public ?string $FullMessage=null,
/** @var string|null */
public ?string $FieldName=null,
/** @var bool|null */
public ?bool $KeepOpen=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Type'])) $this->Type = JsonConverters::from('MessageType', $o['Type']);
if (isset($o['Summary'])) $this->Summary = $o['Summary'];
if (isset($o['FullMessage'])) $this->FullMessage = $o['FullMessage'];
if (isset($o['FieldName'])) $this->FieldName = $o['FieldName'];
if (isset($o['KeepOpen'])) $this->KeepOpen = $o['KeepOpen'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Type)) $o['Type'] = JsonConverters::to('MessageType', $this->Type);
if (isset($this->Summary)) $o['Summary'] = $this->Summary;
if (isset($this->FullMessage)) $o['FullMessage'] = $this->FullMessage;
if (isset($this->FieldName)) $o['FieldName'] = $this->FieldName;
if (isset($this->KeepOpen)) $o['KeepOpen'] = $this->KeepOpen;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationprofileDetails extends Registrationprofile implements JsonSerializable
{
/**
* @param string $ID
* @param string|null $Name
* @param string|null $Hint
* @param int $Order
* @param bool|null $RegisterAutomatically
* @param bool|null $RegisterInBackground
* @param string|null $ThumbnailUrl
* @param string|null $ProgCode
* @param int $VersionControlType
* @param int $WOPlaceLogo
* @param string|null $WOPrinterBins
* @param bool|null $SelectAllFiles
* @param bool|null $ShowSaveDialog
*/
public function __construct(
string $ID='',
?string $Name=null,
?string $Hint=null,
int $Order=0,
?bool $RegisterAutomatically=null,
?bool $RegisterInBackground=null,
?string $ThumbnailUrl=null,
?string $ProgCode=null,
int $VersionControlType=0,
int $WOPlaceLogo=0,
?string $WOPrinterBins=null,
?bool $SelectAllFiles=null,
?bool $ShowSaveDialog=null,
/** @var array<RegistrationprofileStep>|null */
public ?array $Steps=null,
/** @var array<InformationMessageBase>|null */
public ?array $Messages=null,
/** @var bool|null */
public ?bool $ReadOnly=null
) {
parent::__construct($ID,$Name,$Hint,$Order,$RegisterAutomatically,$RegisterInBackground,$ThumbnailUrl,$ProgCode,$VersionControlType,$WOPlaceLogo,$WOPrinterBins,$SelectAllFiles,$ShowSaveDialog);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['Steps'])) $this->Steps = JsonConverters::fromArray('RegistrationprofileStep', $o['Steps']);
if (isset($o['Messages'])) $this->Messages = JsonConverters::fromArray('InformationMessageBase', $o['Messages']);
if (isset($o['ReadOnly'])) $this->ReadOnly = $o['ReadOnly'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->Steps)) $o['Steps'] = JsonConverters::toArray('RegistrationprofileStep', $this->Steps);
if (isset($this->Messages)) $o['Messages'] = JsonConverters::toArray('InformationMessageBase', $this->Messages);
if (isset($this->ReadOnly)) $o['ReadOnly'] = $this->ReadOnly;
return empty($o) ? new class(){} : $o;
}
}
class RegistrationValue implements JsonSerializable
{
public function __construct(
/** @var string */
public string $Key='',
/** @var string|null */
public ?string $Value=null,
/** @var string|null */
public ?string $ShadowValue=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Key'])) $this->Key = $o['Key'];
if (isset($o['Value'])) $this->Value = $o['Value'];
if (isset($o['ShadowValue'])) $this->ShadowValue = $o['ShadowValue'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Key)) $o['Key'] = $this->Key;
if (isset($this->Value)) $o['Value'] = $this->Value;
if (isset($this->ShadowValue)) $o['ShadowValue'] = $this->ShadowValue;
return empty($o) ? new class(){} : $o;
}
}
class GetRegistrationProfileDetailsFromEmailDraft implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $PidTag=null,
/** @var bool|null */
public ?bool $IsOffice365Context=null,
/** @var array<RegistrationValue>|null */
public ?array $ModifiedFieldValues=null,
/** @var array<string>|null */
public ?array $RequestTriggeredByDependentDocumentFieldIds=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['PidTag'])) $this->PidTag = $o['PidTag'];
if (isset($o['IsOffice365Context'])) $this->IsOffice365Context = $o['IsOffice365Context'];
if (isset($o['ModifiedFieldValues'])) $this->ModifiedFieldValues = JsonConverters::fromArray('RegistrationValue', $o['ModifiedFieldValues']);
if (isset($o['RequestTriggeredByDependentDocumentFieldIds'])) $this->RequestTriggeredByDependentDocumentFieldIds = JsonConverters::fromArray('Guid', $o['RequestTriggeredByDependentDocumentFieldIds']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->PidTag)) $o['PidTag'] = $this->PidTag;
if (isset($this->IsOffice365Context)) $o['IsOffice365Context'] = $this->IsOffice365Context;
if (isset($this->ModifiedFieldValues)) $o['ModifiedFieldValues'] = JsonConverters::toArray('RegistrationValue', $this->ModifiedFieldValues);
if (isset($this->RequestTriggeredByDependentDocumentFieldIds)) $o['RequestTriggeredByDependentDocumentFieldIds'] = JsonConverters::toArray('Guid', $this->RequestTriggeredByDependentDocumentFieldIds);
return empty($o) ? new class(){} : $o;
}
}
PHP GetRegistrationProfileDetailsFromEmailDraft DTOs
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/reply/GetRegistrationProfileDetailsFromEmailDraft HTTP/1.1
Host: test-do-services.klokgroep.nl
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"PidTag":"String","IsOffice365Context":false,"ModifiedFieldValues":[{"Key":"00000000-0000-0000-0000-000000000000","Value":"String","ShadowValue":"String"}],"RequestTriggeredByDependentDocumentFieldIds":["00000000-0000-0000-0000-000000000000"]}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Steps":[{"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Order":0,"Layout":"OneColumn_12","Groups":[{"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Label":"String","Order":0,"ColumnIndex":0,"Fields":[{"ID":"00000000-0000-0000-0000-000000000000","DocumentFieldID":"00000000-0000-0000-0000-000000000000","Label":"String","UserControlType":"String","UserControlProperties":[{}],"Hint":"String","Order":0,"HasDependableFields":false,"EntityName":"String","State":{"DocumentFieldID":"00000000-0000-0000-0000-000000000000","Required":false,"Visible":false,"Readonly":false}}],"LabelLayoutType":0,"State":{"Collapsed":false}}]}],"Messages":[{}],"ReadOnly":false,"ID":"00000000-0000-0000-0000-000000000000","Name":"String","Hint":"String","Order":0,"RegisterAutomatically":false,"RegisterInBackground":false,"ThumbnailUrl":"String","ProgCode":"String","VersionControlType":0,"WOPlaceLogo":0,"WOPrinterBins":"String","SelectAllFiles":false,"ShowSaveDialog":false}