@bugsplat/js-api-client 10.0.0 → 11.1.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.
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/issue/index.d.ts +1 -0
- package/dist/cjs/issue/index.js +6 -0
- package/dist/cjs/issue/index.js.map +1 -0
- package/dist/cjs/issue/issue-api-client/issue-api-client.d.ts +17 -0
- package/dist/cjs/issue/issue-api-client/issue-api-client.js +40 -0
- package/dist/cjs/issue/issue-api-client/issue-api-client.js.map +1 -0
- package/dist/cjs/post/crash-post-client.d.ts +1 -1
- package/dist/cjs/post/crash-post-client.js +7 -6
- package/dist/cjs/post/crash-post-client.js.map +1 -1
- package/dist/cjs/post/crash-type.d.ts +1 -0
- package/dist/cjs/post/crash-type.js +1 -0
- package/dist/cjs/post/crash-type.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/issue/index.d.ts +1 -0
- package/dist/esm/issue/index.js +2 -0
- package/dist/esm/issue/index.js.map +1 -0
- package/dist/esm/issue/issue-api-client/issue-api-client.d.ts +17 -0
- package/dist/esm/issue/issue-api-client/issue-api-client.js +33 -0
- package/dist/esm/issue/issue-api-client/issue-api-client.js.map +1 -0
- package/dist/esm/post/crash-post-client.d.ts +1 -1
- package/dist/esm/post/crash-post-client.js +6 -4
- package/dist/esm/post/crash-post-client.js.map +1 -1
- package/dist/esm/post/crash-type.d.ts +1 -0
- package/dist/esm/post/crash-type.js +1 -0
- package/dist/esm/post/crash-type.js.map +1 -1
- package/package.json +4 -5
package/dist/cjs/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ export * from './common';
|
|
|
2
2
|
export * from './crash';
|
|
3
3
|
export * from './crashes';
|
|
4
4
|
export * from './events';
|
|
5
|
+
export * from './issue';
|
|
5
6
|
export * from './post';
|
|
6
7
|
export * from './summary';
|
|
7
|
-
export * from './versions';
|
|
8
8
|
export * from './symbols';
|
|
9
9
|
export * from './users';
|
|
10
|
+
export * from './versions';
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,9 +18,10 @@ __exportStar(require("./common"), exports);
|
|
|
18
18
|
__exportStar(require("./crash"), exports);
|
|
19
19
|
__exportStar(require("./crashes"), exports);
|
|
20
20
|
__exportStar(require("./events"), exports);
|
|
21
|
+
__exportStar(require("./issue"), exports);
|
|
21
22
|
__exportStar(require("./post"), exports);
|
|
22
23
|
__exportStar(require("./summary"), exports);
|
|
23
|
-
__exportStar(require("./versions"), exports);
|
|
24
24
|
__exportStar(require("./symbols"), exports);
|
|
25
25
|
__exportStar(require("./users"), exports);
|
|
26
|
+
__exportStar(require("./versions"), exports);
|
|
26
27
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,2CAAyB;AACzB,yCAAuB;AACvB,4CAA0B;AAC1B,
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { IssueApiClient } from './issue-api-client/issue-api-client';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IssueApiClient = void 0;
|
|
4
|
+
var issue_api_client_1 = require("./issue-api-client/issue-api-client");
|
|
5
|
+
Object.defineProperty(exports, "IssueApiClient", { enumerable: true, get: function () { return issue_api_client_1.IssueApiClient; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/issue/index.ts"],"names":[],"mappings":";;;AAAA,wEAAqE;AAA5D,kHAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ApiClient, BugSplatResponse } from '../../common/index';
|
|
2
|
+
export declare class IssueApiClient {
|
|
3
|
+
private _client;
|
|
4
|
+
constructor(_client: ApiClient);
|
|
5
|
+
postStackKeyIssue(database: string, stackKeyId: number, notes: string, linkDefectId?: string): Promise<BugSplatResponse<IssuePostSuccessResponse>>;
|
|
6
|
+
deleteStackKeyIssue(database: string, stackKeyId: number): Promise<BugSplatResponse<IssueDeleteSuccessResponse>>;
|
|
7
|
+
}
|
|
8
|
+
type IssuePostSuccessResponse = {
|
|
9
|
+
status: string;
|
|
10
|
+
stackKeyId: number;
|
|
11
|
+
defectId: string;
|
|
12
|
+
};
|
|
13
|
+
type IssueDeleteSuccessResponse = {
|
|
14
|
+
status: string;
|
|
15
|
+
stackKeyId: number;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.IssueApiClient = void 0;
|
|
7
|
+
var argument_contracts_1 = __importDefault(require("argument-contracts"));
|
|
8
|
+
var IssueApiClient = (function () {
|
|
9
|
+
function IssueApiClient(_client) {
|
|
10
|
+
this._client = _client;
|
|
11
|
+
}
|
|
12
|
+
IssueApiClient.prototype.postStackKeyIssue = function (database, stackKeyId, notes, linkDefectId) {
|
|
13
|
+
argument_contracts_1.default.assertNonWhiteSpaceString(database, 'database');
|
|
14
|
+
if (stackKeyId <= 0) {
|
|
15
|
+
throw new Error("Expected stackKeyId to be a positive non-zero number. Value received: \"".concat(stackKeyId, "\""));
|
|
16
|
+
}
|
|
17
|
+
var method = 'POST';
|
|
18
|
+
var body = this._client.createFormData();
|
|
19
|
+
var duplex = 'half';
|
|
20
|
+
body.append('database', database);
|
|
21
|
+
body.append('stackKeyId', "".concat(stackKeyId));
|
|
22
|
+
body.append('notes', notes);
|
|
23
|
+
if (linkDefectId) {
|
|
24
|
+
body.append('linkDefectId', linkDefectId);
|
|
25
|
+
}
|
|
26
|
+
return this._client.fetch('/api/logDefect', {
|
|
27
|
+
method: method,
|
|
28
|
+
body: body,
|
|
29
|
+
duplex: duplex,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
IssueApiClient.prototype.deleteStackKeyIssue = function (database, stackKeyId) {
|
|
33
|
+
return this._client.fetch("/api/logDefect?database=".concat(database, "&stackKeyId=").concat(stackKeyId), {
|
|
34
|
+
method: 'DELETE',
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
return IssueApiClient;
|
|
38
|
+
}());
|
|
39
|
+
exports.IssueApiClient = IssueApiClient;
|
|
40
|
+
//# sourceMappingURL=issue-api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-api-client.js","sourceRoot":"","sources":["../../../../src/issue/issue-api-client/issue-api-client.ts"],"names":[],"mappings":";;;;;;AACA,0EAAoC;AAEpC;IACE,wBAAoB,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAG,CAAC;IAE1C,0CAAiB,GAAjB,UACE,QAAgB,EAChB,UAAkB,EAClB,KAAa,EACb,YAAqB;QAErB,4BAAE,CAAC,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,kFAA0E,UAAU,OAAG,CACxF,CAAC;QACJ,CAAC;QAED,IAAM,MAAM,GAAG,MAAM,CAAC;QACtB,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAM,MAAM,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAG,UAAU,CAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC1C,MAAM,QAAA;YACN,IAAI,MAAA;YACJ,MAAM,QAAA;SACQ,CAAC,CAAC;IACpB,CAAC;IAED,4CAAmB,GAAnB,UACE,QAAgB,EAChB,UAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,kCAA2B,QAAQ,yBAAe,UAAU,CAAE,EAAE;YACxF,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACH,qBAAC;AAAD,CAAC,AA3CD,IA2CC;AA3CY,wCAAc"}
|
|
@@ -8,7 +8,7 @@ export declare class CrashPostClient {
|
|
|
8
8
|
private _processorApiClient;
|
|
9
9
|
private _s3ApiClient;
|
|
10
10
|
constructor(_database: string, _environment?: Environment, _processor?: string);
|
|
11
|
-
postCrash(application: string, version: string, type: CrashType, file: UploadableFile,
|
|
11
|
+
postCrash(application: string, version: string, type: CrashType, file: UploadableFile, attributes?: Record<string, string>): Promise<BugSplatResponse<PostCrashResponse>>;
|
|
12
12
|
private getCrashUploadUrl;
|
|
13
13
|
private commitS3CrashUpload;
|
|
14
14
|
}
|
|
@@ -48,10 +48,9 @@ var CrashPostClient = (function () {
|
|
|
48
48
|
this._s3ApiClient = new _common_1.S3ApiClient();
|
|
49
49
|
this._processorApiClient = new _common_1.BugSplatApiClient("https://".concat(this._database, ".bugsplat.com"), this._environment);
|
|
50
50
|
}
|
|
51
|
-
CrashPostClient.prototype.postCrash = function (
|
|
52
|
-
return __awaiter(this,
|
|
51
|
+
CrashPostClient.prototype.postCrash = function (application, version, type, file, attributes) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
53
|
var uploadUrl;
|
|
54
|
-
if (md5 === void 0) { md5 = ''; }
|
|
55
54
|
return __generator(this, function (_a) {
|
|
56
55
|
switch (_a.label) {
|
|
57
56
|
case 0: return [4, this.getCrashUploadUrl(this._database, application, version, file.size)];
|
|
@@ -60,7 +59,7 @@ var CrashPostClient = (function () {
|
|
|
60
59
|
return [4, this._s3ApiClient.uploadFileToPresignedUrl(uploadUrl, file)];
|
|
61
60
|
case 2:
|
|
62
61
|
_a.sent();
|
|
63
|
-
return [2, this.commitS3CrashUpload(uploadUrl, this._database, application, version, type,
|
|
62
|
+
return [2, this.commitS3CrashUpload(uploadUrl, this._database, application, version, type, attributes, this._processor)];
|
|
64
63
|
}
|
|
65
64
|
});
|
|
66
65
|
});
|
|
@@ -93,7 +92,7 @@ var CrashPostClient = (function () {
|
|
|
93
92
|
});
|
|
94
93
|
});
|
|
95
94
|
};
|
|
96
|
-
CrashPostClient.prototype.commitS3CrashUpload = function (s3Key, database, application, version, crashType,
|
|
95
|
+
CrashPostClient.prototype.commitS3CrashUpload = function (s3Key, database, application, version, crashType, attributes, processor) {
|
|
97
96
|
return __awaiter(this, void 0, void 0, function () {
|
|
98
97
|
var route, formData, request;
|
|
99
98
|
return __generator(this, function (_a) {
|
|
@@ -105,7 +104,9 @@ var CrashPostClient = (function () {
|
|
|
105
104
|
formData.append('crashType', crashType.name);
|
|
106
105
|
formData.append('crashTypeId', "".concat(crashType.id));
|
|
107
106
|
formData.append('s3key', s3Key);
|
|
108
|
-
|
|
107
|
+
if (attributes) {
|
|
108
|
+
formData.append('attributes', JSON.stringify(attributes));
|
|
109
|
+
}
|
|
109
110
|
if (processor) {
|
|
110
111
|
formData.append('processor', processor);
|
|
111
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-post-client.js","sourceRoot":"","sources":["../../../src/post/crash-post-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAwG;AAIxG;IAKI,yBACY,SAAiB,EACjB,YAA4C,EAC5C,UAAuB;QADvB,6BAAA,EAAA,eAA4B,qBAAW,CAAC,IAAI;QAC5C,2BAAA,EAAA,eAAuB;QAFvB,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAgC;QAC5C,eAAU,GAAV,UAAU,CAAa;QAL3B,iBAAY,GAAG,IAAI,qBAAW,EAAE,CAAC;QAOrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,2BAAiB,CAC5C,kBAAW,IAAI,CAAC,SAAS,kBAAe,EACxC,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAEK,mCAAS,GAAf
|
|
1
|
+
{"version":3,"file":"crash-post-client.js","sourceRoot":"","sources":["../../../src/post/crash-post-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ var CrashType = (function () {
|
|
|
13
13
|
CrashType.mac = new CrashType('macOS', 13);
|
|
14
14
|
CrashType.ps4 = new CrashType('PlayStation 4', 28);
|
|
15
15
|
CrashType.ps5 = new CrashType('PlayStation 5', 29);
|
|
16
|
+
CrashType.xml = new CrashType('Xml.Report', 21);
|
|
16
17
|
return CrashType;
|
|
17
18
|
}());
|
|
18
19
|
exports.CrashType = CrashType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-type.js","sourceRoot":"","sources":["../../../src/post/crash-type.ts"],"names":[],"mappings":";;;AAAA;
|
|
1
|
+
{"version":3,"file":"crash-type.js","sourceRoot":"","sources":["../../../src/post/crash-type.ts"],"names":[],"mappings":";;;AAAA;IASI,mBAAoC,IAAY,EAAkB,EAAU;QAAxC,SAAI,GAAJ,IAAI,CAAQ;QAAkB,OAAE,GAAF,EAAE,CAAQ;IAAI,CAAC;IARjE,kBAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxC,gBAAM,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzC,kBAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzC,gBAAM,GAAG,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5C,aAAG,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,aAAG,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACzC,aAAG,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACzC,aAAG,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAE1D,gBAAC;CAAA,AAVD,IAUC;AAVY,8BAAS"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -2,8 +2,9 @@ export * from './common';
|
|
|
2
2
|
export * from './crash';
|
|
3
3
|
export * from './crashes';
|
|
4
4
|
export * from './events';
|
|
5
|
+
export * from './issue';
|
|
5
6
|
export * from './post';
|
|
6
7
|
export * from './summary';
|
|
7
|
-
export * from './versions';
|
|
8
8
|
export * from './symbols';
|
|
9
9
|
export * from './users';
|
|
10
|
+
export * from './versions';
|
package/dist/esm/index.js
CHANGED
|
@@ -2,9 +2,10 @@ export * from './common';
|
|
|
2
2
|
export * from './crash';
|
|
3
3
|
export * from './crashes';
|
|
4
4
|
export * from './events';
|
|
5
|
+
export * from './issue';
|
|
5
6
|
export * from './post';
|
|
6
7
|
export * from './summary';
|
|
7
|
-
export * from './versions';
|
|
8
8
|
export * from './symbols';
|
|
9
9
|
export * from './users';
|
|
10
|
+
export * from './versions';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { IssueApiClient } from './issue-api-client/issue-api-client';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/issue/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ApiClient, BugSplatResponse } from '../../common/index';
|
|
2
|
+
export declare class IssueApiClient {
|
|
3
|
+
private _client;
|
|
4
|
+
constructor(_client: ApiClient);
|
|
5
|
+
postStackKeyIssue(database: string, stackKeyId: number, notes: string, linkDefectId?: string): Promise<BugSplatResponse<IssuePostSuccessResponse>>;
|
|
6
|
+
deleteStackKeyIssue(database: string, stackKeyId: number): Promise<BugSplatResponse<IssueDeleteSuccessResponse>>;
|
|
7
|
+
}
|
|
8
|
+
type IssuePostSuccessResponse = {
|
|
9
|
+
status: string;
|
|
10
|
+
stackKeyId: number;
|
|
11
|
+
defectId: string;
|
|
12
|
+
};
|
|
13
|
+
type IssueDeleteSuccessResponse = {
|
|
14
|
+
status: string;
|
|
15
|
+
stackKeyId: number;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import ac from 'argument-contracts';
|
|
2
|
+
export class IssueApiClient {
|
|
3
|
+
_client;
|
|
4
|
+
constructor(_client) {
|
|
5
|
+
this._client = _client;
|
|
6
|
+
}
|
|
7
|
+
postStackKeyIssue(database, stackKeyId, notes, linkDefectId) {
|
|
8
|
+
ac.assertNonWhiteSpaceString(database, 'database');
|
|
9
|
+
if (stackKeyId <= 0) {
|
|
10
|
+
throw new Error(`Expected stackKeyId to be a positive non-zero number. Value received: "${stackKeyId}"`);
|
|
11
|
+
}
|
|
12
|
+
const method = 'POST';
|
|
13
|
+
const body = this._client.createFormData();
|
|
14
|
+
const duplex = 'half';
|
|
15
|
+
body.append('database', database);
|
|
16
|
+
body.append('stackKeyId', `${stackKeyId}`);
|
|
17
|
+
body.append('notes', notes);
|
|
18
|
+
if (linkDefectId) {
|
|
19
|
+
body.append('linkDefectId', linkDefectId);
|
|
20
|
+
}
|
|
21
|
+
return this._client.fetch('/api/logDefect', {
|
|
22
|
+
method,
|
|
23
|
+
body,
|
|
24
|
+
duplex,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
deleteStackKeyIssue(database, stackKeyId) {
|
|
28
|
+
return this._client.fetch(`/api/logDefect?database=${database}&stackKeyId=${stackKeyId}`, {
|
|
29
|
+
method: 'DELETE',
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=issue-api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-api-client.js","sourceRoot":"","sources":["../../../../src/issue/issue-api-client/issue-api-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEpC,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,OAAkB;QAAlB,YAAO,GAAP,OAAO,CAAW;IAAG,CAAC;IAE1C,iBAAiB,CACf,QAAgB,EAChB,UAAkB,EAClB,KAAa,EACb,YAAqB;QAErB,EAAE,CAAC,yBAAyB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,0EAA0E,UAAU,GAAG,CACxF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC1C,MAAM;YACN,IAAI;YACJ,MAAM;SACQ,CAAC,CAAC;IACpB,CAAC;IAED,mBAAmB,CACjB,QAAgB,EAChB,UAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,QAAQ,eAAe,UAAU,EAAE,EAAE;YACxF,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -8,7 +8,7 @@ export declare class CrashPostClient {
|
|
|
8
8
|
private _processorApiClient;
|
|
9
9
|
private _s3ApiClient;
|
|
10
10
|
constructor(_database: string, _environment?: Environment, _processor?: string);
|
|
11
|
-
postCrash(application: string, version: string, type: CrashType, file: UploadableFile,
|
|
11
|
+
postCrash(application: string, version: string, type: CrashType, file: UploadableFile, attributes?: Record<string, string>): Promise<BugSplatResponse<PostCrashResponse>>;
|
|
12
12
|
private getCrashUploadUrl;
|
|
13
13
|
private commitS3CrashUpload;
|
|
14
14
|
}
|
|
@@ -11,10 +11,10 @@ export class CrashPostClient {
|
|
|
11
11
|
this._processor = _processor;
|
|
12
12
|
this._processorApiClient = new BugSplatApiClient(`https://${this._database}.bugsplat.com`, this._environment);
|
|
13
13
|
}
|
|
14
|
-
async postCrash(application, version, type, file,
|
|
14
|
+
async postCrash(application, version, type, file, attributes) {
|
|
15
15
|
const uploadUrl = await this.getCrashUploadUrl(this._database, application, version, file.size);
|
|
16
16
|
await this._s3ApiClient.uploadFileToPresignedUrl(uploadUrl, file);
|
|
17
|
-
return this.commitS3CrashUpload(uploadUrl, this._database, application, version, type,
|
|
17
|
+
return this.commitS3CrashUpload(uploadUrl, this._database, application, version, type, attributes, this._processor);
|
|
18
18
|
}
|
|
19
19
|
async getCrashUploadUrl(database, application, version, size) {
|
|
20
20
|
const route = 'api/getCrashUploadUrl'
|
|
@@ -32,7 +32,7 @@ export class CrashPostClient {
|
|
|
32
32
|
const json = await response.json();
|
|
33
33
|
return json.url;
|
|
34
34
|
}
|
|
35
|
-
async commitS3CrashUpload(s3Key, database, application, version, crashType,
|
|
35
|
+
async commitS3CrashUpload(s3Key, database, application, version, crashType, attributes, processor) {
|
|
36
36
|
const route = '/api/commitS3CrashUpload';
|
|
37
37
|
const formData = this._processorApiClient.createFormData();
|
|
38
38
|
formData.append('database', database);
|
|
@@ -41,7 +41,9 @@ export class CrashPostClient {
|
|
|
41
41
|
formData.append('crashType', crashType.name);
|
|
42
42
|
formData.append('crashTypeId', `${crashType.id}`);
|
|
43
43
|
formData.append('s3key', s3Key);
|
|
44
|
-
|
|
44
|
+
if (attributes) {
|
|
45
|
+
formData.append('attributes', JSON.stringify(attributes));
|
|
46
|
+
}
|
|
45
47
|
if (processor) {
|
|
46
48
|
formData.append('processor', processor);
|
|
47
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-post-client.js","sourceRoot":"","sources":["../../../src/post/crash-post-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,WAAW,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAIxG,MAAM,OAAO,eAAe;IAMZ;IACA;IACA;IANJ,mBAAmB,CAAoB;IACvC,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;IAEzC,YACY,SAAiB,EACjB,eAA4B,WAAW,CAAC,IAAI,EAC5C,aAAqB,EAAE;QAFvB,cAAS,GAAT,SAAS,CAAQ;QACjB,iBAAY,GAAZ,YAAY,CAAgC;QAC5C,eAAU,GAAV,UAAU,CAAa;QAE/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,iBAAiB,CAC5C,WAAW,IAAI,CAAC,SAAS,eAAe,EACxC,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CACX,WAAmB,EACnB,OAAe,EACf,IAAe,EACf,IAAoB,EACpB,
|
|
1
|
+
{"version":3,"file":"crash-post-client.js","sourceRoot":"","sources":["../../../src/post/crash-post-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ export class CrashType {
|
|
|
8
8
|
static mac = new CrashType('macOS', 13);
|
|
9
9
|
static ps4 = new CrashType('PlayStation 4', 28);
|
|
10
10
|
static ps5 = new CrashType('PlayStation 5', 29);
|
|
11
|
+
static xml = new CrashType('Xml.Report', 21);
|
|
11
12
|
constructor(name, id) {
|
|
12
13
|
this.name = name;
|
|
13
14
|
this.id = id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-type.js","sourceRoot":"","sources":["../../../src/post/crash-type.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"crash-type.js","sourceRoot":"","sources":["../../../src/post/crash-type.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IASkB;IAA8B;IARlE,MAAM,CAAU,QAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,CAAU,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,CAAU,QAAQ,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAU,MAAM,GAAG,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAU,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,CAAU,GAAG,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAU,GAAG,GAAG,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,CAAU,GAAG,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACtD,YAAoC,IAAY,EAAkB,EAAU;QAAxC,SAAI,GAAJ,IAAI,CAAQ;QAAkB,OAAE,GAAF,EAAE,CAAQ;IAAI,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": "
|
|
4
|
+
"version": "11.1.0",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
7
7
|
"files": [
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
"prepare": "husky install",
|
|
15
15
|
"pretest": "npm run lint:fix",
|
|
16
16
|
"test": "ts-node -r tsconfig-paths/register node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.spec.json",
|
|
17
|
-
"test:teamcity": "ts-node -r tsconfig-paths/register node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.teamcity.spec.json",
|
|
18
17
|
"lint": "eslint .",
|
|
19
18
|
"lint:fix": "npm run lint -- --fix",
|
|
20
19
|
"e2e": "ts-node -r tsconfig-paths/register node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.e2e.json",
|
|
@@ -57,14 +56,14 @@
|
|
|
57
56
|
"@commitlint/config-conventional": "^19.6.0",
|
|
58
57
|
"@semantic-release/changelog": "^6.0.3",
|
|
59
58
|
"@semantic-release/git": "^10.0.1",
|
|
60
|
-
"@types/jasmine": "^5.1.
|
|
59
|
+
"@types/jasmine": "^5.1.7",
|
|
61
60
|
"@types/node": "^22.10.1",
|
|
62
61
|
"@typescript-eslint/eslint-plugin": "^8.17.0",
|
|
63
62
|
"@typescript-eslint/parser": "^8.17.0",
|
|
64
|
-
"dotenv": "^16.
|
|
63
|
+
"dotenv": "^16.5.0",
|
|
65
64
|
"eslint": "^9.16.0",
|
|
66
65
|
"husky": "^9.1.7",
|
|
67
|
-
"jasmine": "^5.
|
|
66
|
+
"jasmine": "^5.7.0",
|
|
68
67
|
"jasmine-reporters": "^2.5.2",
|
|
69
68
|
"semantic-release": "^24.2.0",
|
|
70
69
|
"ts-node": "^10.9.2",
|