Field Squared API Services

<back to all web services

IntegrationDataTableDDL

Generates the database DDL for a given integration data table. Database types supported: SQLServer

The following routes are available for this service:
POST/{Workspace}/IntegrationDataTableDDL
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 IntegrationDataTable implements IConvertible
{
    String? Name;
    List<MetadataItem>? Columns;
    List<List<String>>? Rows;

    IntegrationDataTable({this.Name,this.Columns,this.Rows});
    IntegrationDataTable.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

/**
* Generates the database DDL for a given integration data table.  Database types supported: SQLServer
*/
class IntegrationDataTableDDL implements IConvertible
{
    String? Workspace;
    String? DatabaseType;
    IntegrationDataTable? DataTable;
    String? DDL;

    IntegrationDataTableDDL({this.Workspace,this.DatabaseType,this.DataTable,this.DDL});
    IntegrationDataTableDDL.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        DatabaseType = json['DatabaseType'];
        DataTable = JsonConverters.fromJson(json['DataTable'],'IntegrationDataTable',context!);
        DDL = json['DDL'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'DatabaseType': DatabaseType,
        'DataTable': JsonConverters.toJson(DataTable,'IntegrationDataTable',context!),
        'DDL': DDL
    };

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

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

Dart IntegrationDataTableDDL 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}/IntegrationDataTableDDL HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<IntegrationDataTableDDL xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Integration">
  <DDL>String</DDL>
  <DataTable xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:Columns xmlns:d3p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model.Rules">
      <d3p1:MetadataItem>
        <d3p1:Datatype>String</d3p1:Datatype>
        <d3p1:Length>String</d3p1:Length>
        <d3p1:Name>String</d3p1:Name>
      </d3p1:MetadataItem>
    </d2p1:Columns>
    <d2p1:Name>String</d2p1:Name>
    <d2p1:Rows xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:ArrayOfstring>
        <d3p1:string>String</d3p1:string>
      </d3p1:ArrayOfstring>
    </d2p1:Rows>
  </DataTable>
  <DatabaseType>String</DatabaseType>
  <Workspace>String</Workspace>
</IntegrationDataTableDDL>