<back to all web services

ContainerInfoMessage

The following routes are available for this service:
POST/RestApi/sitefinity/inlineediting/containersInfo
<?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 LifecycleStatusModel implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $DisplayStatus=null,
        /** @var bool|null */
        public ?bool $IsAdmin=null,
        /** @var bool|null */
        public ?bool $IsEditable=null,
        /** @var bool|null */
        public ?bool $IsStatusEditable=null,
        /** @var bool|null */
        public ?bool $IsLocked=null,
        /** @var bool|null */
        public ?bool $IsPublished=null,
        /** @var bool|null */
        public ?bool $IsLockedByMe=null,
        /** @var string|null */
        public ?string $LockedByUsername=null,
        /** @var string|null */
        public ?string $WorkflowStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['DisplayStatus'])) $this->DisplayStatus = $o['DisplayStatus'];
        if (isset($o['IsAdmin'])) $this->IsAdmin = $o['IsAdmin'];
        if (isset($o['IsEditable'])) $this->IsEditable = $o['IsEditable'];
        if (isset($o['IsStatusEditable'])) $this->IsStatusEditable = $o['IsStatusEditable'];
        if (isset($o['IsLocked'])) $this->IsLocked = $o['IsLocked'];
        if (isset($o['IsPublished'])) $this->IsPublished = $o['IsPublished'];
        if (isset($o['IsLockedByMe'])) $this->IsLockedByMe = $o['IsLockedByMe'];
        if (isset($o['LockedByUsername'])) $this->LockedByUsername = $o['LockedByUsername'];
        if (isset($o['WorkflowStatus'])) $this->WorkflowStatus = $o['WorkflowStatus'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->DisplayStatus)) $o['DisplayStatus'] = $this->DisplayStatus;
        if (isset($this->IsAdmin)) $o['IsAdmin'] = $this->IsAdmin;
        if (isset($this->IsEditable)) $o['IsEditable'] = $this->IsEditable;
        if (isset($this->IsStatusEditable)) $o['IsStatusEditable'] = $this->IsStatusEditable;
        if (isset($this->IsLocked)) $o['IsLocked'] = $this->IsLocked;
        if (isset($this->IsPublished)) $o['IsPublished'] = $this->IsPublished;
        if (isset($this->IsLockedByMe)) $o['IsLockedByMe'] = $this->IsLockedByMe;
        if (isset($this->LockedByUsername)) $o['LockedByUsername'] = $this->LockedByUsername;
        if (isset($this->WorkflowStatus)) $o['WorkflowStatus'] = $this->WorkflowStatus;
        return empty($o) ? new class(){} : $o;
    }
}

class FieldModel implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Name=null,
        /** @var string|null */
        public ?string $Required=null,
        /** @var string|null */
        public ?string $MinDate=null,
        /** @var string|null */
        public ?string $MaxDate=null,
        /** @var int */
        public int $MinLength=0,
        /** @var int */
        public int $MaxLength=0,
        /** @var string|null */
        public ?string $Pattern=null,
        /** @var Object|null */
        public ?Object $MinValue=null,
        /** @var Object|null */
        public ?Object $MaxValue=null,
        /** @var string|null */
        public ?string $RequiredViolationMessage=null,
        /** @var string|null */
        public ?string $MinLengthViolationMessage=null,
        /** @var string|null */
        public ?string $MaxLengthViolationMessage=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Required'])) $this->Required = $o['Required'];
        if (isset($o['MinDate'])) $this->MinDate = $o['MinDate'];
        if (isset($o['MaxDate'])) $this->MaxDate = $o['MaxDate'];
        if (isset($o['MinLength'])) $this->MinLength = $o['MinLength'];
        if (isset($o['MaxLength'])) $this->MaxLength = $o['MaxLength'];
        if (isset($o['Pattern'])) $this->Pattern = $o['Pattern'];
        if (isset($o['MinValue'])) $this->MinValue = JsonConverters::from('Object', $o['MinValue']);
        if (isset($o['MaxValue'])) $this->MaxValue = JsonConverters::from('Object', $o['MaxValue']);
        if (isset($o['RequiredViolationMessage'])) $this->RequiredViolationMessage = $o['RequiredViolationMessage'];
        if (isset($o['MinLengthViolationMessage'])) $this->MinLengthViolationMessage = $o['MinLengthViolationMessage'];
        if (isset($o['MaxLengthViolationMessage'])) $this->MaxLengthViolationMessage = $o['MaxLengthViolationMessage'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Required)) $o['Required'] = $this->Required;
        if (isset($this->MinDate)) $o['MinDate'] = $this->MinDate;
        if (isset($this->MaxDate)) $o['MaxDate'] = $this->MaxDate;
        if (isset($this->MinLength)) $o['MinLength'] = $this->MinLength;
        if (isset($this->MaxLength)) $o['MaxLength'] = $this->MaxLength;
        if (isset($this->Pattern)) $o['Pattern'] = $this->Pattern;
        if (isset($this->MinValue)) $o['MinValue'] = JsonConverters::to('Object', $this->MinValue);
        if (isset($this->MaxValue)) $o['MaxValue'] = JsonConverters::to('Object', $this->MaxValue);
        if (isset($this->RequiredViolationMessage)) $o['RequiredViolationMessage'] = $this->RequiredViolationMessage;
        if (isset($this->MinLengthViolationMessage)) $o['MinLengthViolationMessage'] = $this->MinLengthViolationMessage;
        if (isset($this->MaxLengthViolationMessage)) $o['MaxLengthViolationMessage'] = $this->MaxLengthViolationMessage;
        return empty($o) ? new class(){} : $o;
    }
}

class ContainerInfoModel implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $ItemId=null,
        /** @var string|null */
        public ?string $ItemType=null,
        /** @var string|null */
        public ?string $DisplayType=null,
        /** @var string|null */
        public ?string $Provider=null,
        /** @var LifecycleStatusModel|null */
        public ?LifecycleStatusModel $ItemStatus=null,
        /** @var bool|null */
        public ?bool $IsPageControl=null,
        /** @var string|null */
        public ?string $DetailsViewUrl=null,
        /** @var array<FieldModel>|null */
        public ?array $Fields=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['ItemId'])) $this->ItemId = $o['ItemId'];
        if (isset($o['ItemType'])) $this->ItemType = $o['ItemType'];
        if (isset($o['DisplayType'])) $this->DisplayType = $o['DisplayType'];
        if (isset($o['Provider'])) $this->Provider = $o['Provider'];
        if (isset($o['ItemStatus'])) $this->ItemStatus = JsonConverters::from('LifecycleStatusModel', $o['ItemStatus']);
        if (isset($o['IsPageControl'])) $this->IsPageControl = $o['IsPageControl'];
        if (isset($o['DetailsViewUrl'])) $this->DetailsViewUrl = $o['DetailsViewUrl'];
        if (isset($o['Fields'])) $this->Fields = JsonConverters::fromArray('FieldModel', $o['Fields']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->ItemId)) $o['ItemId'] = $this->ItemId;
        if (isset($this->ItemType)) $o['ItemType'] = $this->ItemType;
        if (isset($this->DisplayType)) $o['DisplayType'] = $this->DisplayType;
        if (isset($this->Provider)) $o['Provider'] = $this->Provider;
        if (isset($this->ItemStatus)) $o['ItemStatus'] = JsonConverters::to('LifecycleStatusModel', $this->ItemStatus);
        if (isset($this->IsPageControl)) $o['IsPageControl'] = $this->IsPageControl;
        if (isset($this->DetailsViewUrl)) $o['DetailsViewUrl'] = $this->DetailsViewUrl;
        if (isset($this->Fields)) $o['Fields'] = JsonConverters::toArray('FieldModel', $this->Fields);
        return empty($o) ? new class(){} : $o;
    }
}

class ContainerInfoMessage implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $PageId=null,
        /** @var string|null */
        public ?string $PageTitle=null,
        /** @var array<ContainerInfoModel>|null */
        public ?array $ContainersInfo=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['PageId'])) $this->PageId = $o['PageId'];
        if (isset($o['PageTitle'])) $this->PageTitle = $o['PageTitle'];
        if (isset($o['ContainersInfo'])) $this->ContainersInfo = JsonConverters::fromArray('ContainerInfoModel', $o['ContainersInfo']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->PageId)) $o['PageId'] = $this->PageId;
        if (isset($this->PageTitle)) $o['PageTitle'] = $this->PageTitle;
        if (isset($this->ContainersInfo)) $o['ContainersInfo'] = JsonConverters::toArray('ContainerInfoModel', $this->ContainersInfo);
        return empty($o) ? new class(){} : $o;
    }
}

PHP ContainerInfoMessage 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

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /RestApi/sitefinity/inlineediting/containersInfo HTTP/1.1 
Host: www.asg.com.au 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"PageId":"String","PageTitle":"String","ContainersInfo":[{"ItemId":"String","ItemType":"String","DisplayType":"String","Provider":"String","ItemStatus":{"DisplayStatus":"String","IsAdmin":false,"IsEditable":false,"IsStatusEditable":false,"IsLocked":false,"IsPublished":false,"IsLockedByMe":false,"LockedByUsername":"String","WorkflowStatus":"String"},"IsPageControl":false,"DetailsViewUrl":"String","Fields":[{"Name":"String","Required":"String","MinDate":"String","MaxDate":"String","MinLength":0,"MaxLength":0,"Pattern":"String","MinValue":{},"MaxValue":{},"RequiredViolationMessage":"String","MinLengthViolationMessage":"String","MaxLengthViolationMessage":"String"}]}]}