/* Options: Date: 2025-04-29 15:57:37 Version: 8.61 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: DashboardReportRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum ReportFilterType { list, list_like, date, range, } class ReportFilter implements IConvertible { ReportFilterType? type; List? values; DateTime? start; DateTime? end; int? higherThan; int? lowerThan; ReportFilter({this.type,this.values,this.start,this.end,this.higherThan,this.lowerThan}); ReportFilter.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = JsonConverters.fromJson(json['type'],'ReportFilterType',context!); values = JsonConverters.fromJson(json['values'],'List',context!); start = JsonConverters.fromJson(json['start'],'DateTime',context!); end = JsonConverters.fromJson(json['end'],'DateTime',context!); higherThan = json['higherThan']; lowerThan = json['lowerThan']; return this; } Map toJson() => { 'type': JsonConverters.toJson(type,'ReportFilterType',context!), 'values': JsonConverters.toJson(values,'List',context!), 'start': JsonConverters.toJson(start,'DateTime',context!), 'end': JsonConverters.toJson(end,'DateTime',context!), 'higherThan': higherThan, 'lowerThan': lowerThan }; getTypeName() => "ReportFilter"; TypeContext? context = _ctx; } class ReportsPaging implements IConvertible { int? page; int? pageSize; ReportsPaging({this.page,this.pageSize}); ReportsPaging.fromJson(Map json) { fromMap(json); } fromMap(Map json) { page = json['page']; pageSize = json['pageSize']; return this; } Map toJson() => { 'page': page, 'pageSize': pageSize }; getTypeName() => "ReportsPaging"; TypeContext? context = _ctx; } enum ReportSortType { asc, desc, } class DashboardReportResult implements IConvertible { int? totalCount; List? reportResult; DashboardReportResult({this.totalCount,this.reportResult}); DashboardReportResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { totalCount = json['totalCount']; reportResult = JsonConverters.fromJson(json['reportResult'],'List',context!); return this; } Map toJson() => { 'totalCount': totalCount, 'reportResult': JsonConverters.toJson(reportResult,'List',context!) }; getTypeName() => "DashboardReportResult"; TypeContext? context = _ctx; } // @Route("/v1/reports", "POST") class DashboardReportRequest implements IReturn, IPost, IConvertible { /** * Report Name */ // @ApiMember(Description="Report Name", IsRequired=true, ParameterType="body") String? reportName; /** * Filters */ // @ApiMember(Description="Filters", IsRequired=true, ParameterType="body") Map? filters = {}; /** * Paging */ // @ApiMember(Description="Paging", ParameterType="body") ReportsPaging? paging; /** * Sorting */ // @ApiMember(Description="Sorting", ParameterType="body") Map? sorting = {}; DashboardReportRequest({this.reportName,this.filters,this.paging,this.sorting}); DashboardReportRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { reportName = json['reportName']; filters = JsonConverters.fromJson(json['filters'],'Map',context!); paging = JsonConverters.fromJson(json['paging'],'ReportsPaging',context!); sorting = JsonConverters.fromJson(json['sorting'],'Map',context!); return this; } Map toJson() => { 'reportName': reportName, 'filters': JsonConverters.toJson(filters,'Map',context!), 'paging': JsonConverters.toJson(paging,'ReportsPaging',context!), 'sorting': JsonConverters.toJson(sorting,'Map',context!) }; createResponse() => DashboardReportResult(); getResponseTypeName() => "DashboardReportResult"; getTypeName() => "DashboardReportRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'uat_api_vehicle_mgt_mb_dhc.rapp_customers.co.uk', types: { 'ReportFilterType': TypeInfo(TypeOf.Enum, enumValues:ReportFilterType.values), 'ReportFilter': TypeInfo(TypeOf.Class, create:() => ReportFilter()), 'ReportsPaging': TypeInfo(TypeOf.Class, create:() => ReportsPaging()), 'ReportSortType': TypeInfo(TypeOf.Enum, enumValues:ReportSortType.values), 'DashboardReportResult': TypeInfo(TypeOf.Class, create:() => DashboardReportResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DashboardReportRequest': TypeInfo(TypeOf.Class, create:() => DashboardReportRequest()), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), 'Map': TypeInfo(TypeOf.Class, create:() => Map()), });