Field Squared API Services

<back to all web services

Rollback

Returns a list of previous versions for a given object and allows rollback to that version.

The following routes are available for this service:
GET/{Workspace}/Rollback/{Class}/{ObjectId}
POST/{Workspace}/Rollback/{Class}/{ObjectId}/{VersionId}
import 'package:servicestack/servicestack.dart';

class DomainItem implements IConvertible
{
    String? Workspace;
    String? ObjectId;
    String? VersionId;
    String? LastUpdated;

    DomainItem({this.Workspace,this.ObjectId,this.VersionId,this.LastUpdated});
    DomainItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        ObjectId = json['ObjectId'];
        VersionId = json['VersionId'];
        LastUpdated = json['LastUpdated'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'ObjectId': ObjectId,
        'VersionId': VersionId,
        'LastUpdated': LastUpdated
    };

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

/**
* Returns a list of previous versions for a given object and allows rollback to that version.
*/
class Rollback implements IConvertible
{
    String? ObjectId;
    String? VersionId;
    String? Class;
    String? Workspace;
    List<DomainItem>? Items;

    Rollback({this.ObjectId,this.VersionId,this.Class,this.Workspace,this.Items});
    Rollback.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ObjectId = json['ObjectId'];
        VersionId = json['VersionId'];
        Class = json['Class'];
        Workspace = json['Workspace'];
        Items = JsonConverters.fromJson(json['Items'],'List<DomainItem>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ObjectId': ObjectId,
        'VersionId': VersionId,
        'Class': Class,
        'Workspace': Workspace,
        'Items': JsonConverters.toJson(Items,'List<DomainItem>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
    'DomainItem': TypeInfo(TypeOf.Class, create:() => DomainItem()),
    'Rollback': TypeInfo(TypeOf.Class, create:() => Rollback()),
    'List<DomainItem>': TypeInfo(TypeOf.Class, create:() => <DomainItem>[]),
});

Dart Rollback DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /{Workspace}/Rollback/{Class}/{ObjectId}/{VersionId} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<Rollback xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Rollback">
  <Class>String</Class>
  <Items xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.API.Model">
    <d2p1:DomainItem>
      <d2p1:LastUpdated>String</d2p1:LastUpdated>
      <d2p1:ObjectId>String</d2p1:ObjectId>
      <d2p1:VersionId>String</d2p1:VersionId>
      <d2p1:Workspace>String</d2p1:Workspace>
    </d2p1:DomainItem>
  </Items>
  <ObjectId>String</ObjectId>
  <VersionId>String</VersionId>
  <Workspace>String</Workspace>
</Rollback>