Trendsic Platform Service

<back to all web services

ReportDefinitionGetRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/report/definitions/{Uid}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class SavedReportDefinition implements IConvertible
{
    int? ReportDefinitionID;
    String? ReportDefinitionUID;
    String? Name;
    String? Folder;
    String? Kind;
    String? ChartType;
    String? DefinitionJson;
    bool? IsShared;
    bool? IsSystem;
    String? OwnerUserId;
    bool? IsMine;
    DateTime? CreatedAt;
    DateTime? UpdatedAt;

    SavedReportDefinition({this.ReportDefinitionID,this.ReportDefinitionUID,this.Name,this.Folder,this.Kind,this.ChartType,this.DefinitionJson,this.IsShared,this.IsSystem,this.OwnerUserId,this.IsMine,this.CreatedAt,this.UpdatedAt});
    SavedReportDefinition.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ReportDefinitionID = json['ReportDefinitionID'];
        ReportDefinitionUID = json['ReportDefinitionUID'];
        Name = json['Name'];
        Folder = json['Folder'];
        Kind = json['Kind'];
        ChartType = json['ChartType'];
        DefinitionJson = json['DefinitionJson'];
        IsShared = json['IsShared'];
        IsSystem = json['IsSystem'];
        OwnerUserId = json['OwnerUserId'];
        IsMine = json['IsMine'];
        CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
        UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ReportDefinitionID': ReportDefinitionID,
        'ReportDefinitionUID': ReportDefinitionUID,
        'Name': Name,
        'Folder': Folder,
        'Kind': Kind,
        'ChartType': ChartType,
        'DefinitionJson': DefinitionJson,
        'IsShared': IsShared,
        'IsSystem': IsSystem,
        'OwnerUserId': OwnerUserId,
        'IsMine': IsMine,
        'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
        'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!)
    };

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

class ReportDefinitionResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    SavedReportDefinition? Definition;

    ReportDefinitionResponse({this.ResponseStatus,this.Definition});
    ReportDefinitionResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Definition': JsonConverters.toJson(Definition,'SavedReportDefinition',context!)
    };

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

class ReportDefinitionGetRequest implements IConvertible
{
    String? Uid;

    ReportDefinitionGetRequest({this.Uid});
    ReportDefinitionGetRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'SavedReportDefinition': TypeInfo(TypeOf.Class, create:() => SavedReportDefinition()),
    'ReportDefinitionResponse': TypeInfo(TypeOf.Class, create:() => ReportDefinitionResponse()),
    'ReportDefinitionGetRequest': TypeInfo(TypeOf.Class, create:() => ReportDefinitionGetRequest()),
});

Dart ReportDefinitionGetRequest 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 /v1/report/definitions/{Uid} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Definition: 
	{
		ReportDefinitionID: 0,
		ReportDefinitionUID: 00000000000000000000000000000000,
		Name: String,
		Folder: String,
		Kind: String,
		ChartType: String,
		DefinitionJson: String,
		IsShared: False,
		IsSystem: False,
		OwnerUserId: String,
		IsMine: False,
		CreatedAt: 0001-01-01,
		UpdatedAt: 0001-01-01
	}
}