Field Squared API Services

<back to all web services

ExternalMetadata

Returns standardized metadata for an external connection.

The following routes are available for this service:
GET/{Workspace}/ExternalMetadata/{ConnectionId}
import 'package:servicestack/servicestack.dart';

class MetadataItem implements IConvertible
{
    String? Name;
    String? Datatype;
    String? Length;
    String? Label;

    MetadataItem({this.Name,this.Datatype,this.Length,this.Label});
    MetadataItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Name = json['Name'];
        Datatype = json['Datatype'];
        Length = json['Length'];
        Label = json['Label'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Name': Name,
        'Datatype': Datatype,
        'Length': Length,
        'Label': Label
    };

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

class ExternalObject implements IConvertible
{
    String? Name;
    List<MetadataItem>? Items;

    ExternalObject({this.Name,this.Items});
    ExternalObject.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Returns standardized metadata for an external connection. 
*/
class ExternalMetadata implements IConvertible
{
    String? Workspace;
    String? ConnectionId;
    List<ExternalObject>? Objects;

    ExternalMetadata({this.Workspace,this.ConnectionId,this.Objects});
    ExternalMetadata.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        ConnectionId = json['ConnectionId'];
        Objects = JsonConverters.fromJson(json['Objects'],'List<ExternalObject>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'ConnectionId': ConnectionId,
        'Objects': JsonConverters.toJson(Objects,'List<ExternalObject>',context!)
    };

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

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

Dart ExternalMetadata 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.

GET /{Workspace}/ExternalMetadata/{ConnectionId} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: text/jsv