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
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
}
]
}
]
}