@distr-sh/distr-sdk 3.4.1 → 3.5.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/client/client.d.ts +12 -1
- package/dist/client/client.js +45 -12
- package/dist/client/client.js.map +1 -1
- package/dist/client/service.d.ts +20 -1
- package/dist/client/service.js +35 -0
- package/dist/client/service.js.map +1 -1
- package/dist/types/advisory.d.ts +152 -0
- package/dist/types/advisory.js +2 -0
- package/dist/types/advisory.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
package/dist/client/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Application, ApplicationVersion, ApplicationVersionResource, DeploymentRequest, DeploymentTarget, DeploymentTargetAccessResponse } from '../types';
|
|
1
|
+
import { Advisory, AdvisoryDetail, AdvisoryEvent, AdvisoryFilter, AdvisoryImpact, Application, ApplicationVersion, ApplicationVersionResource, CreateAdvisoryCommentRequest, CreateUpdateAdvisoryRequest, DeploymentRequest, DeploymentTarget, DeploymentTargetAccessResponse, PatchAdvisoryRequest } from '../types';
|
|
2
2
|
import { ConditionalPartial, defaultClientConfig } from './config';
|
|
3
3
|
export type ClientConfig = {
|
|
4
4
|
/** The base URL of the Distr API ending with /api/v1, e.g. https://app.distr.sh/api/v1. */
|
|
@@ -28,8 +28,19 @@ export declare class Client {
|
|
|
28
28
|
createDeploymentTarget(deploymentTarget: DeploymentTarget): Promise<DeploymentTarget>;
|
|
29
29
|
createOrUpdateDeployment(deploymentRequest: DeploymentRequest): Promise<DeploymentRequest>;
|
|
30
30
|
createAccessForDeploymentTarget(deploymentTargetId: string): Promise<DeploymentTargetAccessResponse>;
|
|
31
|
+
getAdvisories(filter?: AdvisoryFilter): Promise<Advisory[]>;
|
|
32
|
+
getAdvisory(advisoryId: string): Promise<AdvisoryDetail>;
|
|
33
|
+
/** Spans undisclosed advisories and is therefore available to the vendor organization only. */
|
|
34
|
+
getAdvisoryTags(): Promise<string[]>;
|
|
35
|
+
getAdvisoryImpact(advisoryId: string): Promise<AdvisoryImpact>;
|
|
36
|
+
createAdvisory(request: CreateUpdateAdvisoryRequest): Promise<AdvisoryDetail>;
|
|
37
|
+
updateAdvisory(advisoryId: string, request: CreateUpdateAdvisoryRequest): Promise<AdvisoryDetail>;
|
|
38
|
+
patchAdvisory(advisoryId: string, request: PatchAdvisoryRequest): Promise<AdvisoryDetail>;
|
|
39
|
+
createAdvisoryComment(advisoryId: string, request: CreateAdvisoryCommentRequest): Promise<AdvisoryEvent>;
|
|
31
40
|
private get;
|
|
32
41
|
private post;
|
|
33
42
|
private put;
|
|
43
|
+
private patch;
|
|
44
|
+
private send;
|
|
34
45
|
private handleResponse;
|
|
35
46
|
}
|
package/dist/client/client.js
CHANGED
|
@@ -66,6 +66,42 @@ export class Client {
|
|
|
66
66
|
async createAccessForDeploymentTarget(deploymentTargetId) {
|
|
67
67
|
return this.post(`deployment-targets/${deploymentTargetId}/access-request`);
|
|
68
68
|
}
|
|
69
|
+
async getAdvisories(filter = {}) {
|
|
70
|
+
const params = new URLSearchParams();
|
|
71
|
+
for (const status of filter.status ?? []) {
|
|
72
|
+
params.append('status', status);
|
|
73
|
+
}
|
|
74
|
+
for (const severity of filter.severity ?? []) {
|
|
75
|
+
params.append('severity', severity);
|
|
76
|
+
}
|
|
77
|
+
for (const tag of filter.tag ?? []) {
|
|
78
|
+
params.append('tag', tag);
|
|
79
|
+
}
|
|
80
|
+
const query = params.toString();
|
|
81
|
+
return this.get(`advisories${query ? `?${query}` : ''}`);
|
|
82
|
+
}
|
|
83
|
+
async getAdvisory(advisoryId) {
|
|
84
|
+
return this.get(`advisories/${advisoryId}`);
|
|
85
|
+
}
|
|
86
|
+
/** Spans undisclosed advisories and is therefore available to the vendor organization only. */
|
|
87
|
+
async getAdvisoryTags() {
|
|
88
|
+
return this.get('advisories/tags');
|
|
89
|
+
}
|
|
90
|
+
async getAdvisoryImpact(advisoryId) {
|
|
91
|
+
return this.get(`advisories/${advisoryId}/impact`);
|
|
92
|
+
}
|
|
93
|
+
async createAdvisory(request) {
|
|
94
|
+
return this.post('advisories', request);
|
|
95
|
+
}
|
|
96
|
+
async updateAdvisory(advisoryId, request) {
|
|
97
|
+
return this.put(`advisories/${advisoryId}`, request);
|
|
98
|
+
}
|
|
99
|
+
async patchAdvisory(advisoryId, request) {
|
|
100
|
+
return this.patch(`advisories/${advisoryId}`, request);
|
|
101
|
+
}
|
|
102
|
+
async createAdvisoryComment(advisoryId, request) {
|
|
103
|
+
return this.post(`advisories/${advisoryId}/comments`, request);
|
|
104
|
+
}
|
|
69
105
|
async get(path) {
|
|
70
106
|
const response = await fetch(`${this.config.apiBase}${path}`, {
|
|
71
107
|
method: 'GET',
|
|
@@ -77,20 +113,17 @@ export class Client {
|
|
|
77
113
|
return await this.handleResponse(response, 'GET', path);
|
|
78
114
|
}
|
|
79
115
|
async post(path, body) {
|
|
80
|
-
|
|
81
|
-
method: 'POST',
|
|
82
|
-
headers: {
|
|
83
|
-
Accept: 'application/json',
|
|
84
|
-
Authorization: `AccessToken ${this.config.apiKey}`,
|
|
85
|
-
'Content-Type': 'application/json',
|
|
86
|
-
},
|
|
87
|
-
body: JSON.stringify(body),
|
|
88
|
-
});
|
|
89
|
-
return await this.handleResponse(response, 'POST', path);
|
|
116
|
+
return this.send('POST', path, body);
|
|
90
117
|
}
|
|
91
118
|
async put(path, body) {
|
|
119
|
+
return this.send('PUT', path, body);
|
|
120
|
+
}
|
|
121
|
+
async patch(path, body) {
|
|
122
|
+
return this.send('PATCH', path, body);
|
|
123
|
+
}
|
|
124
|
+
async send(method, path, body) {
|
|
92
125
|
const response = await fetch(`${this.config.apiBase}${path}`, {
|
|
93
|
-
method
|
|
126
|
+
method,
|
|
94
127
|
headers: {
|
|
95
128
|
Accept: 'application/json',
|
|
96
129
|
Authorization: `AccessToken ${this.config.apiKey}`,
|
|
@@ -98,7 +131,7 @@ export class Client {
|
|
|
98
131
|
},
|
|
99
132
|
body: JSON.stringify(body),
|
|
100
133
|
});
|
|
101
|
-
return await this.handleResponse(response,
|
|
134
|
+
return await this.handleResponse(response, method, path);
|
|
102
135
|
}
|
|
103
136
|
async handleResponse(response, method, path) {
|
|
104
137
|
if (response.status < 200 || response.status >= 300) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Application, ApplicationVersion, ApplicationVersionResource, DeploymentTarget, DeploymentTargetAccessResponse, DeploymentTargetScope, DeploymentType, HelmChartType } from '../types';
|
|
1
|
+
import { Advisory, AdvisoryDetail, AdvisoryEvent, AdvisoryFilter, AdvisoryImpact, AdvisorySeverity, AdvisoryStatus, Application, ApplicationVersion, ApplicationVersionResource, CreateUpdateAdvisoryRequest, DeploymentTarget, DeploymentTargetAccessResponse, DeploymentTargetScope, DeploymentType, HelmChartType } from '../types';
|
|
2
2
|
import { ClientConfig } from './client';
|
|
3
3
|
import { ConditionalPartial, defaultClientConfig } from './config';
|
|
4
4
|
/**
|
|
@@ -160,4 +160,23 @@ export declare class DistrService {
|
|
|
160
160
|
app: Application;
|
|
161
161
|
newerVersions: ApplicationVersion[];
|
|
162
162
|
}>;
|
|
163
|
+
/**
|
|
164
|
+
* Customers and partners only ever receive published and resolved advisories that mark an
|
|
165
|
+
* affected version, and a customer only those affecting a version they deployed or are
|
|
166
|
+
* entitled to.
|
|
167
|
+
*/
|
|
168
|
+
getAdvisories(filter?: AdvisoryFilter): Promise<Advisory[]>;
|
|
169
|
+
getAdvisory(advisoryId: string): Promise<AdvisoryDetail>;
|
|
170
|
+
/**
|
|
171
|
+
* Returns who deployed or pulled an affected version: every customer for a vendor, their own
|
|
172
|
+
* customers for a partner and only their own deployments and pulls for a customer.
|
|
173
|
+
*/
|
|
174
|
+
getAdvisoryImpact(advisoryId: string): Promise<AdvisoryImpact>;
|
|
175
|
+
/** Without an explicit status the advisory starts in `triage`. */
|
|
176
|
+
createAdvisory(request: CreateUpdateAdvisoryRequest): Promise<AdvisoryDetail>;
|
|
177
|
+
updateAdvisory(advisoryId: string, request: CreateUpdateAdvisoryRequest): Promise<AdvisoryDetail>;
|
|
178
|
+
/** `published` and `resolved` make the advisory visible to the customers it affects. */
|
|
179
|
+
setAdvisoryStatus(advisoryId: string, status: AdvisoryStatus): Promise<AdvisoryDetail>;
|
|
180
|
+
setAdvisorySeverity(advisoryId: string, severity: AdvisorySeverity): Promise<AdvisoryDetail>;
|
|
181
|
+
commentOnAdvisory(advisoryId: string, content: string): Promise<AdvisoryEvent>;
|
|
163
182
|
}
|
package/dist/client/service.js
CHANGED
|
@@ -258,5 +258,40 @@ export class DistrService {
|
|
|
258
258
|
});
|
|
259
259
|
return { app, newerVersions };
|
|
260
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Customers and partners only ever receive published and resolved advisories that mark an
|
|
263
|
+
* affected version, and a customer only those affecting a version they deployed or are
|
|
264
|
+
* entitled to.
|
|
265
|
+
*/
|
|
266
|
+
async getAdvisories(filter = {}) {
|
|
267
|
+
return this.client.getAdvisories(filter);
|
|
268
|
+
}
|
|
269
|
+
async getAdvisory(advisoryId) {
|
|
270
|
+
return this.client.getAdvisory(advisoryId);
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Returns who deployed or pulled an affected version: every customer for a vendor, their own
|
|
274
|
+
* customers for a partner and only their own deployments and pulls for a customer.
|
|
275
|
+
*/
|
|
276
|
+
async getAdvisoryImpact(advisoryId) {
|
|
277
|
+
return this.client.getAdvisoryImpact(advisoryId);
|
|
278
|
+
}
|
|
279
|
+
/** Without an explicit status the advisory starts in `triage`. */
|
|
280
|
+
async createAdvisory(request) {
|
|
281
|
+
return this.client.createAdvisory(request);
|
|
282
|
+
}
|
|
283
|
+
async updateAdvisory(advisoryId, request) {
|
|
284
|
+
return this.client.updateAdvisory(advisoryId, request);
|
|
285
|
+
}
|
|
286
|
+
/** `published` and `resolved` make the advisory visible to the customers it affects. */
|
|
287
|
+
async setAdvisoryStatus(advisoryId, status) {
|
|
288
|
+
return this.client.patchAdvisory(advisoryId, { status });
|
|
289
|
+
}
|
|
290
|
+
async setAdvisorySeverity(advisoryId, severity) {
|
|
291
|
+
return this.client.patchAdvisory(advisoryId, { severity });
|
|
292
|
+
}
|
|
293
|
+
async commentOnAdvisory(advisoryId, content) {
|
|
294
|
+
return this.client.createAdvisoryComment(advisoryId, { content });
|
|
295
|
+
}
|
|
261
296
|
}
|
|
262
297
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/client/service.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/client/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { DeploymentType } from './deployment';
|
|
2
|
+
export type AdvisoryStatus = 'triage' | 'draft' | 'published' | 'resolved' | 'canceled';
|
|
3
|
+
export type AdvisorySeverity = 'none' | 'low' | 'medium' | 'high' | 'critical';
|
|
4
|
+
export type AdvisoryVersionRelation = 'affected' | 'patched';
|
|
5
|
+
/**
|
|
6
|
+
* The timeline records what happened to an advisory after it was disclosed, so `published`
|
|
7
|
+
* is always its first entry. Everything a vendor did while still drafting it is not recorded.
|
|
8
|
+
*/
|
|
9
|
+
export type AdvisoryEventType = 'published' | 'status_changed' | 'edited' | 'comment';
|
|
10
|
+
export interface Advisory {
|
|
11
|
+
id: string;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
/** Only ever sent to the vendor organization that owns the advisory. */
|
|
15
|
+
createdByUserName?: string;
|
|
16
|
+
createdByImageUrl?: string;
|
|
17
|
+
title: string;
|
|
18
|
+
status: AdvisoryStatus;
|
|
19
|
+
severity: AdvisorySeverity;
|
|
20
|
+
cveId?: string;
|
|
21
|
+
tags: string[];
|
|
22
|
+
affectedVersionCount: number;
|
|
23
|
+
patchedVersionCount: number;
|
|
24
|
+
referenceCount: number;
|
|
25
|
+
publishedAt?: string;
|
|
26
|
+
/** Only ever sent to the vendor organization that owns the advisory. */
|
|
27
|
+
resolvedAt?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the advisory is still a live problem for the requesting customer or partner: a
|
|
30
|
+
* deployment of theirs runs an affected version, or they pulled an affected artifact version
|
|
31
|
+
* without since pulling a patched one. Absent for vendors, who see the status instead.
|
|
32
|
+
*/
|
|
33
|
+
affected?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface AdvisoryReference {
|
|
36
|
+
url: string;
|
|
37
|
+
label?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface AdvisoryApplicationVersion {
|
|
40
|
+
applicationId: string;
|
|
41
|
+
applicationName: string;
|
|
42
|
+
applicationType: DeploymentType;
|
|
43
|
+
applicationImageUrl?: string;
|
|
44
|
+
applicationVersionId: string;
|
|
45
|
+
applicationVersionName: string;
|
|
46
|
+
relation: AdvisoryVersionRelation;
|
|
47
|
+
}
|
|
48
|
+
export interface AdvisoryArtifactVersion {
|
|
49
|
+
artifactId: string;
|
|
50
|
+
artifactName: string;
|
|
51
|
+
artifactImageUrl?: string;
|
|
52
|
+
artifactVersionId: string;
|
|
53
|
+
/** Name of the marked row, which is a digest when the version was marked by digest. */
|
|
54
|
+
artifactVersionName: string;
|
|
55
|
+
artifactVersionDigest: string;
|
|
56
|
+
/** Tags pointing at the same content, so a version marked by digest is still recognisable. */
|
|
57
|
+
artifactVersionTags: string[];
|
|
58
|
+
relation: AdvisoryVersionRelation;
|
|
59
|
+
}
|
|
60
|
+
export interface AdvisoryEvent {
|
|
61
|
+
id: string;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
type: AdvisoryEventType;
|
|
64
|
+
message?: string;
|
|
65
|
+
userName?: string;
|
|
66
|
+
userImageUrl?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface AdvisoryDetail extends Advisory {
|
|
69
|
+
description: string;
|
|
70
|
+
references: AdvisoryReference[];
|
|
71
|
+
applicationVersions: AdvisoryApplicationVersion[];
|
|
72
|
+
artifactVersions: AdvisoryArtifactVersion[];
|
|
73
|
+
/** The vendor-internal timeline. Empty for customer and partner users. */
|
|
74
|
+
events: AdvisoryEvent[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Where a deployment stands relative to an advisory, derived from the version its current
|
|
78
|
+
* revision runs: still on an affected version, on a version marked as patched or on a version
|
|
79
|
+
* marked as neither.
|
|
80
|
+
*/
|
|
81
|
+
export type AdvisoryImpactState = 'affected' | 'patched' | 'not_affected';
|
|
82
|
+
/**
|
|
83
|
+
* One deployment that has run an affected application version at some point. `applicationVersion*`
|
|
84
|
+
* is the most recent affected version it ran and `lastDeployedAt` is when, while
|
|
85
|
+
* `currentApplicationVersion*` is what it runs today and is what `state` is derived from.
|
|
86
|
+
*/
|
|
87
|
+
export interface AdvisoryImpactedDeployment {
|
|
88
|
+
customerOrganizationId?: string;
|
|
89
|
+
customerOrganizationName?: string;
|
|
90
|
+
deploymentId: string;
|
|
91
|
+
deploymentTargetId: string;
|
|
92
|
+
deploymentTargetName: string;
|
|
93
|
+
applicationId: string;
|
|
94
|
+
applicationName: string;
|
|
95
|
+
applicationVersionId: string;
|
|
96
|
+
applicationVersionName: string;
|
|
97
|
+
currentApplicationVersionId: string;
|
|
98
|
+
currentApplicationVersionName: string;
|
|
99
|
+
state: AdvisoryImpactState;
|
|
100
|
+
lastDeployedAt: string;
|
|
101
|
+
}
|
|
102
|
+
export interface AdvisoryImpactedPull {
|
|
103
|
+
customerOrganizationId?: string;
|
|
104
|
+
customerOrganizationName?: string;
|
|
105
|
+
artifactId: string;
|
|
106
|
+
artifactName: string;
|
|
107
|
+
artifactVersionId: string;
|
|
108
|
+
artifactVersionName: string;
|
|
109
|
+
pullCount: number;
|
|
110
|
+
lastPulledAt: string;
|
|
111
|
+
}
|
|
112
|
+
export interface AdvisoryImpact {
|
|
113
|
+
deployments: AdvisoryImpactedDeployment[];
|
|
114
|
+
pulls: AdvisoryImpactedPull[];
|
|
115
|
+
}
|
|
116
|
+
export interface CreateUpdateAdvisoryRequest {
|
|
117
|
+
title: string;
|
|
118
|
+
description: string;
|
|
119
|
+
severity: AdvisorySeverity;
|
|
120
|
+
/** Defaults to `triage` on create and leaves the status untouched when omitted on update. */
|
|
121
|
+
status?: AdvisoryStatus;
|
|
122
|
+
/**
|
|
123
|
+
* Unique per organization, ignoring case. Reusing one that another advisory already
|
|
124
|
+
* carries is rejected with 409 Conflict.
|
|
125
|
+
*/
|
|
126
|
+
cveId?: string;
|
|
127
|
+
tags: string[];
|
|
128
|
+
references: AdvisoryReference[];
|
|
129
|
+
affectedApplicationVersionIds: string[];
|
|
130
|
+
patchedApplicationVersionIds: string[];
|
|
131
|
+
affectedArtifactVersionIds: string[];
|
|
132
|
+
patchedArtifactVersionIds: string[];
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Leaves the rest of the advisory as it is. At least one of the two fields must be given.
|
|
136
|
+
*/
|
|
137
|
+
export interface PatchAdvisoryRequest {
|
|
138
|
+
status?: AdvisoryStatus;
|
|
139
|
+
severity?: AdvisorySeverity;
|
|
140
|
+
}
|
|
141
|
+
export interface CreateAdvisoryCommentRequest {
|
|
142
|
+
content: string;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Each field matches an advisory having any of the given values. Omitting a field, or passing
|
|
146
|
+
* an empty array, disables that filter.
|
|
147
|
+
*/
|
|
148
|
+
export interface AdvisoryFilter {
|
|
149
|
+
status?: AdvisoryStatus[];
|
|
150
|
+
severity?: AdvisorySeverity[];
|
|
151
|
+
tag?: string[];
|
|
152
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisory.js","sourceRoot":"","sources":["../../src/types/advisory.ts"],"names":[],"mappings":""}
|
package/dist/types/index.d.ts
CHANGED
package/dist/types/index.js
CHANGED
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|