/* Options: Date: 2026-07-09 00:41:42 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ReportRunRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ReportMeasure implements IConvertible { String? FieldCode; String? Agg; ReportMeasure({this.FieldCode,this.Agg}); ReportMeasure.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FieldCode = json['FieldCode']; Agg = json['Agg']; return this; } Map toJson() => { 'FieldCode': FieldCode, 'Agg': Agg }; getTypeName() => "ReportMeasure"; TypeContext? context = _ctx; } class ReportSort implements IConvertible { String? FieldCode; String? Dir; ReportSort({this.FieldCode,this.Dir}); ReportSort.fromJson(Map json) { fromMap(json); } fromMap(Map json) { FieldCode = json['FieldCode']; Dir = json['Dir']; return this; } Map toJson() => { 'FieldCode': FieldCode, 'Dir': Dir }; getTypeName() => "ReportSort"; TypeContext? context = _ctx; } class ReportDefinition implements IConvertible { String? DatasetCode; List? Dimensions = []; List? Measures = []; List? Joins = []; String? Filters; List? Sorts = []; int? Limit; ReportDefinition({this.DatasetCode,this.Dimensions,this.Measures,this.Joins,this.Filters,this.Sorts,this.Limit}); ReportDefinition.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DatasetCode = json['DatasetCode']; Dimensions = JsonConverters.fromJson(json['Dimensions'],'List',context!); Measures = JsonConverters.fromJson(json['Measures'],'List',context!); Joins = JsonConverters.fromJson(json['Joins'],'List',context!); Filters = json['Filters']; Sorts = JsonConverters.fromJson(json['Sorts'],'List',context!); Limit = json['Limit']; return this; } Map toJson() => { 'DatasetCode': DatasetCode, 'Dimensions': JsonConverters.toJson(Dimensions,'List',context!), 'Measures': JsonConverters.toJson(Measures,'List',context!), 'Joins': JsonConverters.toJson(Joins,'List',context!), 'Filters': Filters, 'Sorts': JsonConverters.toJson(Sorts,'List',context!), 'Limit': Limit }; getTypeName() => "ReportDefinition"; TypeContext? context = _ctx; } class ReportColumnMeta implements IConvertible { String? Code; String? Name; String? DataType; String? FieldKind; String? Agg; ReportColumnMeta({this.Code,this.Name,this.DataType,this.FieldKind,this.Agg}); ReportColumnMeta.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Code = json['Code']; Name = json['Name']; DataType = json['DataType']; FieldKind = json['FieldKind']; Agg = json['Agg']; return this; } Map toJson() => { 'Code': Code, 'Name': Name, 'DataType': DataType, 'FieldKind': FieldKind, 'Agg': Agg }; getTypeName() => "ReportColumnMeta"; TypeContext? context = _ctx; } class ReportRunResult implements IConvertible { List? Columns = []; List>? Rows = []; int? RowCount; bool? Truncated; List? Notes = []; ReportRunResult({this.Columns,this.Rows,this.RowCount,this.Truncated,this.Notes}); ReportRunResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Columns = JsonConverters.fromJson(json['Columns'],'List',context!); Rows = JsonConverters.fromJson(json['Rows'],'List>',context!); RowCount = json['RowCount']; Truncated = json['Truncated']; Notes = JsonConverters.fromJson(json['Notes'],'List',context!); return this; } Map toJson() => { 'Columns': JsonConverters.toJson(Columns,'List',context!), 'Rows': JsonConverters.toJson(Rows,'List>',context!), 'RowCount': RowCount, 'Truncated': Truncated, 'Notes': JsonConverters.toJson(Notes,'List',context!) }; getTypeName() => "ReportRunResult"; TypeContext? context = _ctx; } class ReportRunResponse implements IConvertible { ResponseStatus? ResponseStatus; ReportRunResult? Result; ReportRunResponse({this.ResponseStatus,this.Result}); ReportRunResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); Result = JsonConverters.fromJson(json['Result'],'ReportRunResult',context!); return this; } Map toJson() => { 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'Result': JsonConverters.toJson(Result,'ReportRunResult',context!) }; getTypeName() => "ReportRunResponse"; TypeContext? context = _ctx; } // @Route("/v1/report/run", "POST,OPTIONS") class ReportRunRequest extends ReportDefinition implements IReturn, IConvertible, IPost { ReportRunRequest(); ReportRunRequest.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => ReportRunResponse(); getResponseTypeName() => "ReportRunResponse"; getTypeName() => "ReportRunRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: { 'ReportMeasure': TypeInfo(TypeOf.Class, create:() => ReportMeasure()), 'ReportSort': TypeInfo(TypeOf.Class, create:() => ReportSort()), 'ReportDefinition': TypeInfo(TypeOf.Class, create:() => ReportDefinition()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ReportColumnMeta': TypeInfo(TypeOf.Class, create:() => ReportColumnMeta()), 'ReportRunResult': TypeInfo(TypeOf.Class, create:() => ReportRunResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List>': TypeInfo(TypeOf.Class, create:() => >[]), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), 'ReportRunResponse': TypeInfo(TypeOf.Class, create:() => ReportRunResponse()), 'ReportRunRequest': TypeInfo(TypeOf.Class, create:() => ReportRunRequest()), });