@sectester/scan
Version:
The package defines a simple public API to manage scans and their expectations.
79 lines • 2.64 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.DefaultScans = void 0;
const tslib_1 = require("tslib");
const tsyringe_1 = require("tsyringe");
const core_1 = require("@sectester/core");
const ci_info_1 = tslib_1.__importDefault(require("ci-info"));
let DefaultScans = class DefaultScans {
constructor(configuration, client) {
this.configuration = configuration;
this.client = client;
}
async createScan(config) {
const response = await this.client.request('/api/v1/scans', {
method: 'POST',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
...config,
info: {
source: 'utlib',
provider: ci_info_1.default.name,
client: {
name: this.configuration.name,
version: this.configuration.version
}
}
})
});
const result = (await response.json());
return result;
}
async listIssues(id) {
const response = await this.client.request(`/api/v1/scans/${id}/issues`);
const issues = (await response.json());
return issues.map(x => ({
...x,
time: new Date(x.time),
link: `${this.configuration.baseURL}/scans/${id}/issues/${x.id}`
}));
}
async stopScan(id) {
try {
await this.client.request(`/api/v1/scans/${id}/stop`);
}
catch (error) {
if (error instanceof core_1.ApiError && error.response.status === 404) {
return;
}
throw error;
}
}
async deleteScan(id) {
try {
await this.client.request(`/api/v1/scans/${id}`, {
method: 'DELETE'
});
}
catch (error) {
if (error instanceof core_1.ApiError && error.response.status === 404) {
return;
}
throw error;
}
}
async getScan(id) {
const response = await this.client.request(`/api/v1/scans/${id}`);
const result = (await response.json());
return result;
}
};
exports.DefaultScans = DefaultScans;
exports.DefaultScans = DefaultScans = tslib_1.__decorate([
(0, tsyringe_1.injectable)(),
tslib_1.__param(1, (0, tsyringe_1.inject)(core_1.ApiClient)),
tslib_1.__metadata("design:paramtypes", [core_1.Configuration, Object])
], DefaultScans);
//# sourceMappingURL=DefaultScans.js.map
;