<back to all web services

WorkflowOperationMessage

The following routes are available for this service:
All Verbs/RestApi/sitefinity/inlineediting/workflow
import 'package:servicestack/servicestack.dart';

enum InlineEditingOperation
{
    Publish,
    SaveAsDraft,
    Custom,
}

class ItemContextModel implements IConvertible
{
    String? ItemId;
    String? ItemType;
    String? Provider;
    List<FieldValueModel>? FieldValues;

    ItemContextModel({this.ItemId,this.ItemType,this.Provider,this.FieldValues});
    ItemContextModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ItemId = json['ItemId'];
        ItemType = json['ItemType'];
        Provider = json['Provider'];
        FieldValues = JsonConverters.fromJson(json['FieldValues'],'List<FieldValueModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ItemId': ItemId,
        'ItemType': ItemType,
        'Provider': Provider,
        'FieldValues': JsonConverters.toJson(FieldValues,'List<FieldValueModel>',context!)
    };

    getTypeName() => "ItemContextModel";
    TypeContext? context = _ctx;
}

class WorkflowOperationMessage implements IConvertible
{
    String? PageId;
    InlineEditingOperation? WorkflowOperation;
    String? CustomWorkflowOperation;
    List<ItemContextModel>? Items;

    WorkflowOperationMessage({this.PageId,this.WorkflowOperation,this.CustomWorkflowOperation,this.Items});
    WorkflowOperationMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PageId = json['PageId'];
        WorkflowOperation = JsonConverters.fromJson(json['WorkflowOperation'],'InlineEditingOperation',context!);
        CustomWorkflowOperation = json['CustomWorkflowOperation'];
        Items = JsonConverters.fromJson(json['Items'],'List<ItemContextModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PageId': PageId,
        'WorkflowOperation': JsonConverters.toJson(WorkflowOperation,'InlineEditingOperation',context!),
        'CustomWorkflowOperation': CustomWorkflowOperation,
        'Items': JsonConverters.toJson(Items,'List<ItemContextModel>',context!)
    };

    getTypeName() => "WorkflowOperationMessage";
    TypeContext? context = _ctx;
}

class FieldValueModel implements IConvertible
{
    String? Name;
    dynamic? Value;
    List<FieldValueModel>? ComplexValue;

    FieldValueModel({this.Name,this.Value,this.ComplexValue});
    FieldValueModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        Value = JsonConverters.fromJson(json['Value'],'dynamic',context!);
        ComplexValue = JsonConverters.fromJson(json['ComplexValue'],'List<FieldValueModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'Value': JsonConverters.toJson(Value,'dynamic',context!),
        'ComplexValue': JsonConverters.toJson(ComplexValue,'List<FieldValueModel>',context!)
    };

    getTypeName() => "FieldValueModel";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: <String, TypeInfo> {
    'InlineEditingOperation': TypeInfo(TypeOf.Enum, enumValues:InlineEditingOperation.values),
    'ItemContextModel': TypeInfo(TypeOf.Class, create:() => ItemContextModel()),
    'List<FieldValueModel>': TypeInfo(TypeOf.Class, create:() => <FieldValueModel>[]),
    'FieldValueModel': TypeInfo(TypeOf.Class, create:() => FieldValueModel()),
    'WorkflowOperationMessage': TypeInfo(TypeOf.Class, create:() => WorkflowOperationMessage()),
    'List<ItemContextModel>': TypeInfo(TypeOf.Class, create:() => <ItemContextModel>[]),
});

Dart WorkflowOperationMessage 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/workflow HTTP/1.1 
Host: www.asg.com.au 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"PageId":"String","WorkflowOperation":"Publish","CustomWorkflowOperation":"String","Items":[{"ItemId":"String","ItemType":"String","Provider":"String","FieldValues":[{"Name":"String","Value":{},"ComplexValue":[{"Name":"String","Value":{},"ComplexValue":[{"Name":"String","Value":{}}]}]}]}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

[{"ItemName":"String","ItemType":"String","ItemStatus":{"DisplayStatus":"String","IsAdmin":false,"IsEditable":false,"IsStatusEditable":false,"IsLocked":false,"IsPublished":false,"IsLockedByMe":false,"LockedByUsername":"String","WorkflowStatus":"String"},"ProviderName":"String","DetailsViewUrl":"String"}]