Trendsic Platform Service

<back to all web services

ReportManagerDataRequest

The following routes are available for this service:
GET,POST,OPTIONS/v1/ReportManager/api/Objects/{Table}/data
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

abstract class JToken implements IJsonLineInfo
{
    JToken();
    JToken.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "JToken";
    TypeContext? context = _ctx;
}

class JValue extends JToken implements IConvertible
{
    JValue();
    JValue.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "JValue";
    TypeContext? context = _ctx;
}

class GetSqlResult implements IConvertible
{
    String? Sql;
    Map<String,JValue?>? Values;
    String? Error;
    bool? HasError;

    GetSqlResult({this.Sql,this.Values,this.Error,this.HasError});
    GetSqlResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Sql = json['Sql'];
        Values = JsonConverters.fromJson(json['Values'],'Map<String,JValue?>',context!);
        Error = json['Error'];
        HasError = json['HasError'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Sql': Sql,
        'Values': JsonConverters.toJson(Values,'Map<String,JValue?>',context!),
        'Error': Error,
        'HasError': HasError
    };

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

class ReportManagerDataJoin implements IConvertible
{
    String? Source;
    String? Target;
    String? SourceField;
    String? TargetField;
    String? id;

    ReportManagerDataJoin({this.Source,this.Target,this.SourceField,this.TargetField,this.id});
    ReportManagerDataJoin.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Source = json['Source'];
        Target = json['Target'];
        SourceField = json['SourceField'];
        TargetField = json['TargetField'];
        id = json['id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Source': Source,
        'Target': Target,
        'SourceField': SourceField,
        'TargetField': TargetField,
        'id': id
    };

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

class ReportManagerDataSort implements IConvertible
{
    String? Field;
    String? Direction;

    ReportManagerDataSort({this.Field,this.Direction});
    ReportManagerDataSort.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Field = json['Field'];
        Direction = json['Direction'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Field': Field,
        'Direction': Direction
    };

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

class ReportManagerDataBucketOption implements IConvertible
{
    String? Id;
    List<dynamic>? Values = [];

    ReportManagerDataBucketOption({this.Id,this.Values});
    ReportManagerDataBucketOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class ReportManagerDataBucket implements IConvertible
{
    String? BucketColumn;
    List<ReportManagerDataBucketOption>? Options = [];

    ReportManagerDataBucket({this.BucketColumn,this.Options});
    ReportManagerDataBucket.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'BucketColumn': BucketColumn,
        'Options': JsonConverters.toJson(Options,'List<ReportManagerDataBucketOption>',context!)
    };

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

class ReportManagerDataRequest implements IConvertible
{
    String? Table;
    String? TableKey;
    String? Query;
    GetSqlResult? QueryCast;
    List<String>? Columns = [];
    String? Joins;
    List<ReportManagerDataJoin>? JoinsCast = [];
    String? Limit;
    String? Sort;
    List<ReportManagerDataSort>? SortCast = [];
    List<String>? Group = [];
    String? Buckets;
    List<ReportManagerDataBucket>? BucketsCast = [];

    ReportManagerDataRequest({this.Table,this.TableKey,this.Query,this.QueryCast,this.Columns,this.Joins,this.JoinsCast,this.Limit,this.Sort,this.SortCast,this.Group,this.Buckets,this.BucketsCast});
    ReportManagerDataRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Table = json['Table'];
        TableKey = json['TableKey'];
        Query = json['Query'];
        QueryCast = JsonConverters.fromJson(json['QueryCast'],'GetSqlResult',context!);
        Columns = JsonConverters.fromJson(json['Columns'],'List<String>',context!);
        Joins = json['Joins'];
        JoinsCast = JsonConverters.fromJson(json['JoinsCast'],'List<ReportManagerDataJoin>',context!);
        Limit = json['Limit'];
        Sort = json['Sort'];
        SortCast = JsonConverters.fromJson(json['SortCast'],'List<ReportManagerDataSort>',context!);
        Group = JsonConverters.fromJson(json['Group'],'List<String>',context!);
        Buckets = json['Buckets'];
        BucketsCast = JsonConverters.fromJson(json['BucketsCast'],'List<ReportManagerDataBucket>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Table': Table,
        'TableKey': TableKey,
        'Query': Query,
        'QueryCast': JsonConverters.toJson(QueryCast,'GetSqlResult',context!),
        'Columns': JsonConverters.toJson(Columns,'List<String>',context!),
        'Joins': Joins,
        'JoinsCast': JsonConverters.toJson(JoinsCast,'List<ReportManagerDataJoin>',context!),
        'Limit': Limit,
        'Sort': Sort,
        'SortCast': JsonConverters.toJson(SortCast,'List<ReportManagerDataSort>',context!),
        'Group': JsonConverters.toJson(Group,'List<String>',context!),
        'Buckets': Buckets,
        'BucketsCast': JsonConverters.toJson(BucketsCast,'List<ReportManagerDataBucket>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'JToken': TypeInfo(TypeOf.AbstractClass),
    'JValue': TypeInfo(TypeOf.Class, create:() => JValue()),
    'GetSqlResult': TypeInfo(TypeOf.Class, create:() => GetSqlResult()),
    'Map<String,JValue?>': TypeInfo(TypeOf.Class, create:() => Map<String,JValue?>()),
    'ReportManagerDataJoin': TypeInfo(TypeOf.Class, create:() => ReportManagerDataJoin()),
    'ReportManagerDataSort': TypeInfo(TypeOf.Class, create:() => ReportManagerDataSort()),
    'ReportManagerDataBucketOption': TypeInfo(TypeOf.Class, create:() => ReportManagerDataBucketOption()),
    'List<dynamic>': TypeInfo(TypeOf.Class, create:() => <dynamic>[]),
    'ReportManagerDataBucket': TypeInfo(TypeOf.Class, create:() => ReportManagerDataBucket()),
    'List<ReportManagerDataBucketOption>': TypeInfo(TypeOf.Class, create:() => <ReportManagerDataBucketOption>[]),
    'ReportManagerDataRequest': TypeInfo(TypeOf.Class, create:() => ReportManagerDataRequest()),
    'List<ReportManagerDataJoin>': TypeInfo(TypeOf.Class, create:() => <ReportManagerDataJoin>[]),
    'List<ReportManagerDataSort>': TypeInfo(TypeOf.Class, create:() => <ReportManagerDataSort>[]),
    'List<ReportManagerDataBucket>': TypeInfo(TypeOf.Class, create:() => <ReportManagerDataBucket>[]),
});

Dart ReportManagerDataRequest DTOs

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

HTTP + OTHER

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

POST /v1/ReportManager/api/Objects/{Table}/data HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'ReportManagerDataRequest' using the custom 'other' filter}One or more errors occurred.
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

[{"String":{}}]