<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 .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/workflow HTTP/1.1 
Host: www.asg.com.au 
Accept: text/jsv
Content-Type: text/jsv
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: text/jsv
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
	}
]