POST | /v1/reports | Retrieve Report by ReportName and Filters |
---|
"use strict";
export class DashboardReportResult {
/** @param {{totalCount?:number,reportResult?:Object[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
totalCount;
/** @type {Object[]} */
reportResult;
}
/** @typedef {'list'|'list_like'|'date'|'range'} */
export var ReportFilterType;
(function (ReportFilterType) {
ReportFilterType["list"] = "list"
ReportFilterType["list_like"] = "list_like"
ReportFilterType["date"] = "date"
ReportFilterType["range"] = "range"
})(ReportFilterType || (ReportFilterType = {}));
export class ReportFilter {
/** @param {{type?:ReportFilterType,values?:string[],start?:string,end?:string,higherThan?:number,lowerThan?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ReportFilterType} */
type;
/** @type {string[]} */
values;
/** @type {?string} */
start;
/** @type {?string} */
end;
/** @type {?number} */
higherThan;
/** @type {?number} */
lowerThan;
}
export class ReportsPaging {
/** @param {{page?:number,pageSize?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
page;
/** @type {number} */
pageSize;
}
/** @typedef {'asc'|'desc'} */
export var ReportSortType;
(function (ReportSortType) {
ReportSortType["asc"] = "asc"
ReportSortType["desc"] = "desc"
})(ReportSortType || (ReportSortType = {}));
export class DashboardReportRequest {
/** @param {{reportName?:string,filters?:{ [index:string]: ReportFilter; },paging?:ReportsPaging,sorting?:{ [index:string]: ReportSortType; }}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Report Name */
reportName;
/**
* @type {{ [index:string]: ReportFilter; }}
* @description Filters */
filters = {};
/**
* @type {ReportsPaging}
* @description Paging */
paging;
/**
* @type {{ [index:string]: ReportSortType; }}
* @description Sorting */
sorting = {};
}
JavaScript DashboardReportRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/reports HTTP/1.1
Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
reportName: String,
filters:
{
String:
{
type: list,
start: 0001-01-01,
end: 0001-01-01,
higherThan: 0,
lowerThan: 0
}
},
paging:
{
page: 0,
pageSize: 0
},
sorting:
{
String: asc
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { totalCount: 0 }