@bugsplat/js-api-client 14.1.1 → 14.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/common/data/search/filter-group/query-filter-group.d.ts +3 -1
  2. package/dist/cjs/common/data/search/filter-group/query-filter-group.js +5 -1
  3. package/dist/cjs/common/data/search/filter-group/query-filter-group.js.map +1 -1
  4. package/dist/cjs/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.js +2 -2
  5. package/dist/cjs/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.js.map +1 -1
  6. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-client.d.ts +8 -0
  7. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-client.js +88 -0
  8. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-client.js.map +1 -0
  9. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-request.d.ts +9 -0
  10. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-request.js +3 -0
  11. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-request.js.map +1 -0
  12. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-response.d.ts +54 -0
  13. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-response.js +3 -0
  14. package/dist/cjs/dashboard/dashboard-api-client/dashboard-api-response.js.map +1 -0
  15. package/dist/cjs/dashboard/index.d.ts +3 -0
  16. package/dist/cjs/dashboard/index.js +6 -0
  17. package/dist/cjs/dashboard/index.js.map +1 -0
  18. package/dist/cjs/index.d.ts +1 -0
  19. package/dist/cjs/index.js +1 -0
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/esm/common/data/search/filter-group/query-filter-group.d.ts +3 -1
  22. package/dist/esm/common/data/search/filter-group/query-filter-group.js +5 -1
  23. package/dist/esm/common/data/search/filter-group/query-filter-group.js.map +1 -1
  24. package/dist/esm/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.js +2 -2
  25. package/dist/esm/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.js.map +1 -1
  26. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-client.d.ts +8 -0
  27. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-client.js +36 -0
  28. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-client.js.map +1 -0
  29. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-request.d.ts +9 -0
  30. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-request.js +2 -0
  31. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-request.js.map +1 -0
  32. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-response.d.ts +54 -0
  33. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-response.js +2 -0
  34. package/dist/esm/dashboard/dashboard-api-client/dashboard-api-response.js.map +1 -0
  35. package/dist/esm/dashboard/index.d.ts +3 -0
  36. package/dist/esm/dashboard/index.js +2 -0
  37. package/dist/esm/dashboard/index.js.map +1 -0
  38. package/dist/esm/index.d.ts +1 -0
  39. package/dist/esm/index.js +1 -0
  40. package/dist/esm/index.js.map +1 -1
  41. package/package.json +1 -1
@@ -3,7 +3,9 @@ export declare class QueryFilterGroup {
3
3
  filters: Array<QueryFilter>;
4
4
  filterOperator: FilterOperator;
5
5
  groupOperator: FilterOperator;
6
- constructor(filters: Array<QueryFilter>, filterOperator?: FilterOperator, groupOperator?: FilterOperator);
6
+ groupOpenCount: number;
7
+ groupCloseCount: number;
8
+ constructor(filters: Array<QueryFilter>, filterOperator?: FilterOperator, groupOperator?: FilterOperator, groupOpenCount?: number, groupCloseCount?: number);
7
9
  static fromApiTableFilter(filter: QueryFilter): QueryFilterGroup;
8
10
  static fromColumnValues(values: Array<string>, columnName: string, filterOperator?: FilterOperator): QueryFilterGroup;
9
11
  static fromTimeFrame(columnName: string, startDate?: Date, endDate?: Date): QueryFilterGroup;
@@ -3,12 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryFilterGroup = void 0;
4
4
  var _common_1 = require("../../../index");
5
5
  var QueryFilterGroup = (function () {
6
- function QueryFilterGroup(filters, filterOperator, groupOperator) {
6
+ function QueryFilterGroup(filters, filterOperator, groupOperator, groupOpenCount, groupCloseCount) {
7
7
  if (filterOperator === void 0) { filterOperator = _common_1.FilterOperator.and; }
8
8
  if (groupOperator === void 0) { groupOperator = _common_1.FilterOperator.and; }
9
+ if (groupOpenCount === void 0) { groupOpenCount = 1; }
10
+ if (groupCloseCount === void 0) { groupCloseCount = 1; }
9
11
  this.filters = filters;
10
12
  this.filterOperator = filterOperator;
11
13
  this.groupOperator = groupOperator;
14
+ this.groupOpenCount = groupOpenCount;
15
+ this.groupCloseCount = groupCloseCount;
12
16
  Object.freeze(this);
13
17
  }
14
18
  QueryFilterGroup.fromApiTableFilter = function (filter) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-filter-group.js","sourceRoot":"","sources":["../../../../../../src/common/data/search/filter-group/query-filter-group.ts"],"names":[],"mappings":";;;AAAA,mCAAsD;AAEtD;IACE,0BACS,OAA2B,EAC3B,cAAmD,EACnD,aAAkD;QADlD,+BAAA,EAAA,iBAAiC,wBAAc,CAAC,GAAG;QACnD,8BAAA,EAAA,gBAAgC,wBAAc,CAAC,GAAG;QAFlD,YAAO,GAAP,OAAO,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAAqC;QACnD,kBAAa,GAAb,aAAa,CAAqC;QAEzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,mCAAkB,GAAzB,UAA0B,MAAmB;QAC3C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAEM,iCAAgB,GAAvB,UACE,MAAqB,EACrB,UAAkB,EAClB,cAAkD;QAAlD,+BAAA,EAAA,iBAAiC,wBAAc,CAAC,EAAE;QAElD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAA3C,CAA2C,CAAC,EAAE,cAAc,CAAC,CAAC;IAChH,CAAC;IAEM,8BAAa,GAApB,UAAqB,UAAkB,EAAE,SAAgB,EAAE,OAAc;QACvE,IAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAW,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AAlCD,IAkCC;AAlCY,4CAAgB"}
1
+ {"version":3,"file":"query-filter-group.js","sourceRoot":"","sources":["../../../../../../src/common/data/search/filter-group/query-filter-group.ts"],"names":[],"mappings":";;;AAAA,mCAAsD;AAEtD;IACE,0BACS,OAA2B,EAC3B,cAAmD,EACnD,aAAkD,EAClD,cAA0B,EAC1B,eAA2B;QAH3B,+BAAA,EAAA,iBAAiC,wBAAc,CAAC,GAAG;QACnD,8BAAA,EAAA,gBAAgC,wBAAc,CAAC,GAAG;QAClD,+BAAA,EAAA,kBAA0B;QAC1B,gCAAA,EAAA,mBAA2B;QAJ3B,YAAO,GAAP,OAAO,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAAqC;QACnD,kBAAa,GAAb,aAAa,CAAqC;QAClD,mBAAc,GAAd,cAAc,CAAY;QAC1B,oBAAe,GAAf,eAAe,CAAY;QAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,mCAAkB,GAAzB,UAA0B,MAAmB;QAC3C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAEM,iCAAgB,GAAvB,UACE,MAAqB,EACrB,UAAkB,EAClB,cAAkD;QAAlD,+BAAA,EAAA,iBAAiC,wBAAc,CAAC,EAAE;QAElD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAA3C,CAA2C,CAAC,EAAE,cAAc,CAAC,CAAC;IAChH,CAAC;IAEM,8BAAa,GAApB,UAAqB,UAAkB,EAAE,SAAgB,EAAE,OAAc;QACvE,IAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAW,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,qBAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,4CAAgB"}
@@ -29,14 +29,14 @@ var TableDataFormDataBuilder = (function () {
29
29
  var _a, _b;
30
30
  var firstFilter = i === 0;
31
31
  var lastFilter = i === group.filters.length - 1;
32
- _this._formParts["filtergroupopen".concat(filtersCount_1)] = firstFilter ? '1' : '0';
32
+ _this._formParts["filtergroupopen".concat(filtersCount_1)] = firstFilter ? "".concat(group.groupOpenCount) : '0';
33
33
  _this._formParts["filteroperator".concat(filtersCount_1)] = firstFilter ? (_a = group.groupOperator) === null || _a === void 0 ? void 0 : _a.value : (_b = group.filterOperator) === null || _b === void 0 ? void 0 : _b.value;
34
34
  _this._formParts["filterdatafield".concat(filtersCount_1)] = filter.filterDataField;
35
35
  _this._formParts["filtercondition".concat(filtersCount_1)] = filter.filterCondition;
36
36
  _this._formParts["filtervalue".concat(filtersCount_1)] = Array.isArray(filter.filterValue)
37
37
  ? filter.filterValue.join(',')
38
38
  : filter.filterValue.toString();
39
- _this._formParts["filtergroupclose".concat(filtersCount_1)] = lastFilter ? '1' : '0';
39
+ _this._formParts["filtergroupclose".concat(filtersCount_1)] = lastFilter ? "".concat(group.groupCloseCount) : '0';
40
40
  filtersCount_1++;
41
41
  });
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-data-form-data-builder.js","sourceRoot":"","sources":["../../../../../../src/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.ts"],"names":[],"mappings":";;;AAIA;IAEE,kCACU,gBAAgC,EAChC,UAAuC;QAAvC,2BAAA,EAAA,eAAuC;QADvC,qBAAgB,GAAhB,gBAAgB,CAAgB;QAChC,eAAU,GAAV,UAAU,CAA6B;IAC7C,CAAC;IAEL,mDAAgB,GAAhB,UAAiB,MAAiC;QAAlD,iBAWC;QAVC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,aAAW,GAAG,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,CAAC;gBACtB,KAAI,CAAC,UAAU,CAAC,eAAQ,CAAC,CAAE,CAAC,GAAG,KAAK,CAAC;gBACrC,aAAW,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,UAAG,aAAW,CAAE,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAgB,GAAhB,UAAiB,MAA2C;QAA5D,iBAwBC;QAvBC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,cAAY,GAAG,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK;gBACnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,CAAC;;wBAC9B,IAAM,WAAW,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC5B,IAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBAClD,KAAI,CAAC,UAAU,CAAC,yBAAkB,cAAY,CAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC5E,KAAI,CAAC,UAAU,CAAC,wBAAiB,cAAY,CAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,aAAa,0CAAE,KAAK,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,cAAc,0CAAE,KAAK,CAAC;wBAC1H,KAAI,CAAC,UAAU,CAAC,yBAAkB,cAAY,CAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;wBAC3E,KAAI,CAAC,UAAU,CAAC,yBAAkB,cAAY,CAAE,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;wBAC3E,KAAI,CAAC,UAAU,CAAC,qBAAc,cAAY,CAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;4BAC/E,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;4BAC9B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;wBAClC,KAAI,CAAC,UAAU,CAAC,0BAAmB,cAAY,CAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC5E,cAAY,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,UAAG,cAAY,CAAE,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2CAAQ,GAAR,UAAS,IAAQ;QAAR,qBAAA,EAAA,QAAQ;QACf,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,UAAG,IAAI,CAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAAY,GAAZ,UAAa,QAAa;QAAb,yBAAA,EAAA,aAAa;QACxB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,UAAG,QAAQ,CAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAc,GAAd,UAAe,UAA8B;QAC3C,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,UAAU,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAa,GAAb,UAAc,SAAsC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAAY,GAAZ,UAAa,QAA4B;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAO,GAAP;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,wCAAK,GAAL;QACE,IAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,OAAO,IAAI,OAAA,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAG,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,EAA5C,CAA4C,CAAC,CAAC;QACjG,OAAO,QAAQ,CAAC;IAClB,CAAC;IACH,+BAAC;AAAD,CAAC,AAtFD,IAsFC;AAtFY,4DAAwB"}
1
+ {"version":3,"file":"table-data-form-data-builder.js","sourceRoot":"","sources":["../../../../../../src/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ApiClient } from '../../common/index';
2
+ import { DashboardApiRequest } from './dashboard-api-request';
3
+ import { DashboardApiResponse } from './dashboard-api-response';
4
+ export declare class DashboardApiClient {
5
+ private _client;
6
+ constructor(_client: ApiClient);
7
+ getDashboard(request: DashboardApiRequest): Promise<DashboardApiResponse>;
8
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DashboardApiClient = void 0;
40
+ var DashboardApiClient = (function () {
41
+ function DashboardApiClient(_client) {
42
+ this._client = _client;
43
+ }
44
+ DashboardApiClient.prototype.getDashboard = function (request) {
45
+ return __awaiter(this, void 0, void 0, function () {
46
+ var params, response, error;
47
+ var _a;
48
+ return __generator(this, function (_b) {
49
+ switch (_b.label) {
50
+ case 0:
51
+ params = new URLSearchParams({
52
+ database: request.database,
53
+ });
54
+ if (request.startDate) {
55
+ params.set('startDate', request.startDate);
56
+ }
57
+ if (request.endDate) {
58
+ params.set('endDate', request.endDate);
59
+ }
60
+ if (request.appNames) {
61
+ params.set('appNames', request.appNames);
62
+ }
63
+ if (request.appVersions) {
64
+ params.set('appVersions', request.appVersions);
65
+ }
66
+ if (request.timezone) {
67
+ params.set('timezone', request.timezone);
68
+ }
69
+ if (request.interval) {
70
+ params.set('interval', request.interval);
71
+ }
72
+ return [4, this._client.fetch("/api/dashboard.php?".concat(params))];
73
+ case 1:
74
+ response = _b.sent();
75
+ if (!(response.status !== 200)) return [3, 3];
76
+ return [4, response.json()];
77
+ case 2:
78
+ error = _b.sent();
79
+ throw new Error((_a = error.message) !== null && _a !== void 0 ? _a : 'Failed to fetch dashboard data');
80
+ case 3: return [2, response.json()];
81
+ }
82
+ });
83
+ });
84
+ };
85
+ return DashboardApiClient;
86
+ }());
87
+ exports.DashboardApiClient = DashboardApiClient;
88
+ //# sourceMappingURL=dashboard-api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-client.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IAEI,4BAAoB,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAI,CAAC;IAErC,yCAAY,GAAlB,UAAmB,OAA4B;;;;;;;wBACrC,MAAM,GAAG,IAAI,eAAe,CAAC;4BAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;yBAC7B,CAAC,CAAC;wBAEH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;4BACpB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC/C,CAAC;wBAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4BAClB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC3C,CAAC;wBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;4BACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;4BACtB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;wBACnD,CAAC;wBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;4BACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;4BACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAEgB,WAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACrC,6BAAsB,MAAM,CAAE,CACjC,EAAA;;wBAFK,QAAQ,GAAG,SAEhB;6BAEG,CAAA,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAA,EAAvB,cAAuB;wBACT,WAAM,QAAQ,CAAC,IAAI,EAAE,EAAA;;wBAA7B,KAAK,GAAG,SAA6C;wBAC3D,MAAM,IAAI,KAAK,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,gCAAgC,CAAC,CAAC;4BAGvE,WAAO,QAAQ,CAAC,IAAI,EAAE,EAAC;;;;KAC1B;IACL,yBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,gDAAkB"}
@@ -0,0 +1,9 @@
1
+ export interface DashboardApiRequest {
2
+ database: string;
3
+ startDate?: string;
4
+ endDate?: string;
5
+ appNames?: string;
6
+ appVersions?: string;
7
+ timezone?: string;
8
+ interval?: 'hourly' | 'daily';
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dashboard-api-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-request.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ export interface DashboardApiResponse {
2
+ status: string;
3
+ database: string;
4
+ volume30Day: number;
5
+ crashDataDays: number;
6
+ crashHistory: CrashHistory;
7
+ recentCrashes: Array<RecentCrash>;
8
+ statusCounts: StatusCounts;
9
+ topStackKeys: Array<TopStackKey>;
10
+ }
11
+ export interface CrashHistory {
12
+ totalRows: number;
13
+ totalCrashes: number;
14
+ rows: Array<CrashHistoryRow>;
15
+ }
16
+ export interface CrashHistoryRow {
17
+ appName: string;
18
+ appVersion?: string;
19
+ series: Array<CrashHistoryDataPoint>;
20
+ }
21
+ export interface CrashHistoryDataPoint {
22
+ timestamp: number;
23
+ totalCrashCount: number;
24
+ throttleCrashCount: number;
25
+ retireCrashCount: number;
26
+ day?: number;
27
+ hour?: string;
28
+ }
29
+ export interface RecentCrash {
30
+ id: number;
31
+ status: number;
32
+ stackKey: string;
33
+ stackKeyId: number;
34
+ crashTime: string;
35
+ appName: string;
36
+ appVersion: string;
37
+ exceptionMessage: string;
38
+ }
39
+ export interface StatusCounts {
40
+ current: StatusCountGroup;
41
+ previous: StatusCountGroup;
42
+ }
43
+ export interface StatusCountGroup {
44
+ open: number;
45
+ closed: number;
46
+ regression: number;
47
+ ignored: number;
48
+ total: number;
49
+ }
50
+ export interface TopStackKey {
51
+ stackKey: string;
52
+ stackKeyId: number;
53
+ crashSum: number;
54
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dashboard-api-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-response.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { DashboardApiClient } from './dashboard-api-client/dashboard-api-client';
2
+ export { DashboardApiRequest } from './dashboard-api-client/dashboard-api-request';
3
+ export { DashboardApiResponse, CrashHistory, CrashHistoryRow, CrashHistoryDataPoint, RecentCrash, StatusCounts, StatusCountGroup, TopStackKey, } from './dashboard-api-client/dashboard-api-response';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DashboardApiClient = void 0;
4
+ var dashboard_api_client_1 = require("./dashboard-api-client/dashboard-api-client");
5
+ Object.defineProperty(exports, "DashboardApiClient", { enumerable: true, get: function () { return dashboard_api_client_1.DashboardApiClient; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":";;;AAAA,oFAAiF;AAAxE,0HAAA,kBAAkB,OAAA"}
@@ -1,6 +1,7 @@
1
1
  export * from './common';
2
2
  export * from './crash';
3
3
  export * from './crashes';
4
+ export * from './dashboard';
4
5
  export * from './events';
5
6
  export * from './issue';
6
7
  export * from './post';
package/dist/cjs/index.js CHANGED
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./common"), exports);
18
18
  __exportStar(require("./crash"), exports);
19
19
  __exportStar(require("./crashes"), exports);
20
+ __exportStar(require("./dashboard"), exports);
20
21
  __exportStar(require("./events"), exports);
21
22
  __exportStar(require("./issue"), exports);
22
23
  __exportStar(require("./post"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,2CAAyB;AACzB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,6CAA2B"}
@@ -3,7 +3,9 @@ export declare class QueryFilterGroup {
3
3
  filters: Array<QueryFilter>;
4
4
  filterOperator: FilterOperator;
5
5
  groupOperator: FilterOperator;
6
- constructor(filters: Array<QueryFilter>, filterOperator?: FilterOperator, groupOperator?: FilterOperator);
6
+ groupOpenCount: number;
7
+ groupCloseCount: number;
8
+ constructor(filters: Array<QueryFilter>, filterOperator?: FilterOperator, groupOperator?: FilterOperator, groupOpenCount?: number, groupCloseCount?: number);
7
9
  static fromApiTableFilter(filter: QueryFilter): QueryFilterGroup;
8
10
  static fromColumnValues(values: Array<string>, columnName: string, filterOperator?: FilterOperator): QueryFilterGroup;
9
11
  static fromTimeFrame(columnName: string, startDate?: Date, endDate?: Date): QueryFilterGroup;
@@ -3,10 +3,14 @@ export class QueryFilterGroup {
3
3
  filters;
4
4
  filterOperator;
5
5
  groupOperator;
6
- constructor(filters, filterOperator = FilterOperator.and, groupOperator = FilterOperator.and) {
6
+ groupOpenCount;
7
+ groupCloseCount;
8
+ constructor(filters, filterOperator = FilterOperator.and, groupOperator = FilterOperator.and, groupOpenCount = 1, groupCloseCount = 1) {
7
9
  this.filters = filters;
8
10
  this.filterOperator = filterOperator;
9
11
  this.groupOperator = groupOperator;
12
+ this.groupOpenCount = groupOpenCount;
13
+ this.groupCloseCount = groupCloseCount;
10
14
  Object.freeze(this);
11
15
  }
12
16
  static fromApiTableFilter(filter) {
@@ -1 +1 @@
1
- {"version":3,"file":"query-filter-group.js","sourceRoot":"","sources":["../../../../../../src/common/data/search/filter-group/query-filter-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IAElB;IACA;IACA;IAHT,YACS,OAA2B,EAC3B,iBAAiC,cAAc,CAAC,GAAG,EACnD,gBAAgC,cAAc,CAAC,GAAG;QAFlD,YAAO,GAAP,OAAO,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAAqC;QACnD,kBAAa,GAAb,aAAa,CAAqC;QAEzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAmB;QAC3C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,MAAqB,EACrB,UAAkB,EAClB,iBAAiC,cAAc,CAAC,EAAE;QAElD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAgB,EAAE,OAAc;QACvE,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"query-filter-group.js","sourceRoot":"","sources":["../../../../../../src/common/data/search/filter-group/query-filter-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IAElB;IACA;IACA;IACA;IACA;IALT,YACS,OAA2B,EAC3B,iBAAiC,cAAc,CAAC,GAAG,EACnD,gBAAgC,cAAc,CAAC,GAAG,EAClD,iBAAyB,CAAC,EAC1B,kBAA0B,CAAC;QAJ3B,YAAO,GAAP,OAAO,CAAoB;QAC3B,mBAAc,GAAd,cAAc,CAAqC;QACnD,kBAAa,GAAb,aAAa,CAAqC;QAClD,mBAAc,GAAd,cAAc,CAAY;QAC1B,oBAAe,GAAf,eAAe,CAAY;QAElC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAmB;QAC3C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,MAAqB,EACrB,UAAkB,EAClB,iBAAiC,cAAc,CAAC,EAAE;QAElD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAgB,EAAE,OAAc;QACvE,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
@@ -24,14 +24,14 @@ export class TableDataFormDataBuilder {
24
24
  group.filters.forEach((filter, i) => {
25
25
  const firstFilter = i === 0;
26
26
  const lastFilter = i === group.filters.length - 1;
27
- this._formParts[`filtergroupopen${filtersCount}`] = firstFilter ? '1' : '0';
27
+ this._formParts[`filtergroupopen${filtersCount}`] = firstFilter ? `${group.groupOpenCount}` : '0';
28
28
  this._formParts[`filteroperator${filtersCount}`] = firstFilter ? group.groupOperator?.value : group.filterOperator?.value;
29
29
  this._formParts[`filterdatafield${filtersCount}`] = filter.filterDataField;
30
30
  this._formParts[`filtercondition${filtersCount}`] = filter.filterCondition;
31
31
  this._formParts[`filtervalue${filtersCount}`] = Array.isArray(filter.filterValue)
32
32
  ? filter.filterValue.join(',')
33
33
  : filter.filterValue.toString();
34
- this._formParts[`filtergroupclose${filtersCount}`] = lastFilter ? '1' : '0';
34
+ this._formParts[`filtergroupclose${filtersCount}`] = lastFilter ? `${group.groupCloseCount}` : '0';
35
35
  filtersCount++;
36
36
  });
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-data-form-data-builder.js","sourceRoot":"","sources":["../../../../../../src/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-data-form-data-builder.js","sourceRoot":"","sources":["../../../../../../src/common/data/table-data/table-data-form-data-builder/table-data-form-data-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ApiClient } from '../../common/index';
2
+ import { DashboardApiRequest } from './dashboard-api-request';
3
+ import { DashboardApiResponse } from './dashboard-api-response';
4
+ export declare class DashboardApiClient {
5
+ private _client;
6
+ constructor(_client: ApiClient);
7
+ getDashboard(request: DashboardApiRequest): Promise<DashboardApiResponse>;
8
+ }
@@ -0,0 +1,36 @@
1
+ export class DashboardApiClient {
2
+ _client;
3
+ constructor(_client) {
4
+ this._client = _client;
5
+ }
6
+ async getDashboard(request) {
7
+ const params = new URLSearchParams({
8
+ database: request.database,
9
+ });
10
+ if (request.startDate) {
11
+ params.set('startDate', request.startDate);
12
+ }
13
+ if (request.endDate) {
14
+ params.set('endDate', request.endDate);
15
+ }
16
+ if (request.appNames) {
17
+ params.set('appNames', request.appNames);
18
+ }
19
+ if (request.appVersions) {
20
+ params.set('appVersions', request.appVersions);
21
+ }
22
+ if (request.timezone) {
23
+ params.set('timezone', request.timezone);
24
+ }
25
+ if (request.interval) {
26
+ params.set('interval', request.interval);
27
+ }
28
+ const response = await this._client.fetch(`/api/dashboard.php?${params}`);
29
+ if (response.status !== 200) {
30
+ const error = await response.json();
31
+ throw new Error(error.message ?? 'Failed to fetch dashboard data');
32
+ }
33
+ return response.json();
34
+ }
35
+ }
36
+ //# sourceMappingURL=dashboard-api-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-client.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-client.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,kBAAkB;IAEP;IAApB,YAAoB,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAI,CAAC;IAE3C,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACrC,sBAAsB,MAAM,EAAE,CACjC,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0B,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,gCAAgC,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;CACJ"}
@@ -0,0 +1,9 @@
1
+ export interface DashboardApiRequest {
2
+ database: string;
3
+ startDate?: string;
4
+ endDate?: string;
5
+ appNames?: string;
6
+ appVersions?: string;
7
+ timezone?: string;
8
+ interval?: 'hourly' | 'daily';
9
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dashboard-api-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-request.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ export interface DashboardApiResponse {
2
+ status: string;
3
+ database: string;
4
+ volume30Day: number;
5
+ crashDataDays: number;
6
+ crashHistory: CrashHistory;
7
+ recentCrashes: Array<RecentCrash>;
8
+ statusCounts: StatusCounts;
9
+ topStackKeys: Array<TopStackKey>;
10
+ }
11
+ export interface CrashHistory {
12
+ totalRows: number;
13
+ totalCrashes: number;
14
+ rows: Array<CrashHistoryRow>;
15
+ }
16
+ export interface CrashHistoryRow {
17
+ appName: string;
18
+ appVersion?: string;
19
+ series: Array<CrashHistoryDataPoint>;
20
+ }
21
+ export interface CrashHistoryDataPoint {
22
+ timestamp: number;
23
+ totalCrashCount: number;
24
+ throttleCrashCount: number;
25
+ retireCrashCount: number;
26
+ day?: number;
27
+ hour?: string;
28
+ }
29
+ export interface RecentCrash {
30
+ id: number;
31
+ status: number;
32
+ stackKey: string;
33
+ stackKeyId: number;
34
+ crashTime: string;
35
+ appName: string;
36
+ appVersion: string;
37
+ exceptionMessage: string;
38
+ }
39
+ export interface StatusCounts {
40
+ current: StatusCountGroup;
41
+ previous: StatusCountGroup;
42
+ }
43
+ export interface StatusCountGroup {
44
+ open: number;
45
+ closed: number;
46
+ regression: number;
47
+ ignored: number;
48
+ total: number;
49
+ }
50
+ export interface TopStackKey {
51
+ stackKey: string;
52
+ stackKeyId: number;
53
+ crashSum: number;
54
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dashboard-api-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-api-response.js","sourceRoot":"","sources":["../../../../src/dashboard/dashboard-api-client/dashboard-api-response.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { DashboardApiClient } from './dashboard-api-client/dashboard-api-client';
2
+ export { DashboardApiRequest } from './dashboard-api-client/dashboard-api-request';
3
+ export { DashboardApiResponse, CrashHistory, CrashHistoryRow, CrashHistoryDataPoint, RecentCrash, StatusCounts, StatusCountGroup, TopStackKey, } from './dashboard-api-client/dashboard-api-response';
@@ -0,0 +1,2 @@
1
+ export { DashboardApiClient } from './dashboard-api-client/dashboard-api-client';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export * from './common';
2
2
  export * from './crash';
3
3
  export * from './crashes';
4
+ export * from './dashboard';
4
5
  export * from './events';
5
6
  export * from './issue';
6
7
  export * from './post';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './common';
2
2
  export * from './crash';
3
3
  export * from './crashes';
4
+ export * from './dashboard';
4
5
  export * from './events';
5
6
  export * from './issue';
6
7
  export * from './post';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bugsplat/js-api-client",
3
3
  "description": "JS client for consuming the BugSplat API",
4
- "version": "14.1.1",
4
+ "version": "14.2.0",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
7
7
  "files": [