<back to all web services

ContainerInfoMessage

The following routes are available for this service:
POST/RestApi/sitefinity/inlineediting/containersInfo
import Foundation
import ServiceStack

public class ContainerInfoMessage : Codable
{
    public var pageId:String
    public var pageTitle:String
    public var containersInfo:[ContainerInfoModel] = []

    required public init(){}
}

public class ContainerInfoModel : Codable
{
    public var itemId:String
    public var itemType:String
    public var displayType:String
    public var provider:String
    public var itemStatus:LifecycleStatusModel
    public var isPageControl:Bool
    public var detailsViewUrl:String
    public var fields:[FieldModel] = []

    required public init(){}
}

public class LifecycleStatusModel : Codable
{
    public var displayStatus:String
    public var isAdmin:Bool
    public var isEditable:Bool
    public var isStatusEditable:Bool
    public var isLocked:Bool
    public var isPublished:Bool
    public var isLockedByMe:Bool
    public var lockedByUsername:String
    public var workflowStatus:String

    required public init(){}
}

public class FieldModel : Codable
{
    public var name:String
    public var required:String
    public var minDate:String
    public var maxDate:String
    public var minLength:Int
    public var maxLength:Int
    public var pattern:String
    //minValue:Object ignored. Type could not be extended in Swift
    //maxValue:Object ignored. Type could not be extended in Swift
    public var requiredViolationMessage:String
    public var minLengthViolationMessage:String
    public var maxLengthViolationMessage:String

    required public init(){}
}


Swift ContainerInfoMessage DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
Content-Type: text/jsv
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
				}
			]
		}
	]
}