POST | /RestApi/sitefinity/inlineediting/containersInfo |
---|
import 'package:servicestack/servicestack.dart';
class LifecycleStatusModel implements IConvertible
{
String? DisplayStatus;
bool? IsAdmin;
bool? IsEditable;
bool? IsStatusEditable;
bool? IsLocked;
bool? IsPublished;
bool? IsLockedByMe;
String? LockedByUsername;
String? WorkflowStatus;
LifecycleStatusModel({this.DisplayStatus,this.IsAdmin,this.IsEditable,this.IsStatusEditable,this.IsLocked,this.IsPublished,this.IsLockedByMe,this.LockedByUsername,this.WorkflowStatus});
LifecycleStatusModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DisplayStatus = json['DisplayStatus'];
IsAdmin = json['IsAdmin'];
IsEditable = json['IsEditable'];
IsStatusEditable = json['IsStatusEditable'];
IsLocked = json['IsLocked'];
IsPublished = json['IsPublished'];
IsLockedByMe = json['IsLockedByMe'];
LockedByUsername = json['LockedByUsername'];
WorkflowStatus = json['WorkflowStatus'];
return this;
}
Map<String, dynamic> toJson() => {
'DisplayStatus': DisplayStatus,
'IsAdmin': IsAdmin,
'IsEditable': IsEditable,
'IsStatusEditable': IsStatusEditable,
'IsLocked': IsLocked,
'IsPublished': IsPublished,
'IsLockedByMe': IsLockedByMe,
'LockedByUsername': LockedByUsername,
'WorkflowStatus': WorkflowStatus
};
getTypeName() => "LifecycleStatusModel";
TypeContext? context = _ctx;
}
class FieldModel implements IConvertible
{
String? Name;
String? Required;
String? MinDate;
String? MaxDate;
int? MinLength;
int? MaxLength;
String? Pattern;
dynamic? MinValue;
dynamic? MaxValue;
String? RequiredViolationMessage;
String? MinLengthViolationMessage;
String? MaxLengthViolationMessage;
FieldModel({this.Name,this.Required,this.MinDate,this.MaxDate,this.MinLength,this.MaxLength,this.Pattern,this.MinValue,this.MaxValue,this.RequiredViolationMessage,this.MinLengthViolationMessage,this.MaxLengthViolationMessage});
FieldModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Required = json['Required'];
MinDate = json['MinDate'];
MaxDate = json['MaxDate'];
MinLength = json['MinLength'];
MaxLength = json['MaxLength'];
Pattern = json['Pattern'];
MinValue = JsonConverters.fromJson(json['MinValue'],'dynamic',context!);
MaxValue = JsonConverters.fromJson(json['MaxValue'],'dynamic',context!);
RequiredViolationMessage = json['RequiredViolationMessage'];
MinLengthViolationMessage = json['MinLengthViolationMessage'];
MaxLengthViolationMessage = json['MaxLengthViolationMessage'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Required': Required,
'MinDate': MinDate,
'MaxDate': MaxDate,
'MinLength': MinLength,
'MaxLength': MaxLength,
'Pattern': Pattern,
'MinValue': JsonConverters.toJson(MinValue,'dynamic',context!),
'MaxValue': JsonConverters.toJson(MaxValue,'dynamic',context!),
'RequiredViolationMessage': RequiredViolationMessage,
'MinLengthViolationMessage': MinLengthViolationMessage,
'MaxLengthViolationMessage': MaxLengthViolationMessage
};
getTypeName() => "FieldModel";
TypeContext? context = _ctx;
}
class ContainerInfoModel implements IConvertible
{
String? ItemId;
String? ItemType;
String? DisplayType;
String? Provider;
LifecycleStatusModel? ItemStatus;
bool? IsPageControl;
String? DetailsViewUrl;
List<FieldModel>? Fields;
ContainerInfoModel({this.ItemId,this.ItemType,this.DisplayType,this.Provider,this.ItemStatus,this.IsPageControl,this.DetailsViewUrl,this.Fields});
ContainerInfoModel.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ItemId = json['ItemId'];
ItemType = json['ItemType'];
DisplayType = json['DisplayType'];
Provider = json['Provider'];
ItemStatus = JsonConverters.fromJson(json['ItemStatus'],'LifecycleStatusModel',context!);
IsPageControl = json['IsPageControl'];
DetailsViewUrl = json['DetailsViewUrl'];
Fields = JsonConverters.fromJson(json['Fields'],'List<FieldModel>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ItemId': ItemId,
'ItemType': ItemType,
'DisplayType': DisplayType,
'Provider': Provider,
'ItemStatus': JsonConverters.toJson(ItemStatus,'LifecycleStatusModel',context!),
'IsPageControl': IsPageControl,
'DetailsViewUrl': DetailsViewUrl,
'Fields': JsonConverters.toJson(Fields,'List<FieldModel>',context!)
};
getTypeName() => "ContainerInfoModel";
TypeContext? context = _ctx;
}
class ContainerInfoMessage implements IConvertible
{
String? PageId;
String? PageTitle;
List<ContainerInfoModel>? ContainersInfo;
ContainerInfoMessage({this.PageId,this.PageTitle,this.ContainersInfo});
ContainerInfoMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PageId = json['PageId'];
PageTitle = json['PageTitle'];
ContainersInfo = JsonConverters.fromJson(json['ContainersInfo'],'List<ContainerInfoModel>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PageId': PageId,
'PageTitle': PageTitle,
'ContainersInfo': JsonConverters.toJson(ContainersInfo,'List<ContainerInfoModel>',context!)
};
getTypeName() => "ContainerInfoMessage";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: <String, TypeInfo> {
'LifecycleStatusModel': TypeInfo(TypeOf.Class, create:() => LifecycleStatusModel()),
'FieldModel': TypeInfo(TypeOf.Class, create:() => FieldModel()),
'ContainerInfoModel': TypeInfo(TypeOf.Class, create:() => ContainerInfoModel()),
'List<FieldModel>': TypeInfo(TypeOf.Class, create:() => <FieldModel>[]),
'ContainerInfoMessage': TypeInfo(TypeOf.Class, create:() => ContainerInfoMessage()),
'List<ContainerInfoModel>': TypeInfo(TypeOf.Class, create:() => <ContainerInfoModel>[]),
});
Dart 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
}
]
}
]
}