<back to all web services

ContainerInfoMessage

The following routes are available for this service:
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 .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"}]}]}