UNPKG

steadybit

Version:

Command-line interface to interact with the Steadybit API

63 lines 2.49 kB
"use strict"; // SPDX-License-Identifier: MIT // SPDX-FileCopyrightText: 2024 Steadybit GmbH var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchAllAdvice = fetchAllAdvice; const errors_1 = require("../errors"); const http_1 = require("../api/http"); const util_1 = require("util"); function fetchAdvice(offset, environment, query) { return __awaiter(this, void 0, void 0, function* () { const body = { offset: offset, environmentName: environment, }; if (query) { body.query = query; } try { const response = yield (0, http_1.executeApiCall)({ method: 'POST', path: '/api/advice', body, }); return (yield response.json()); } catch (e) { throw yield (0, errors_1.abortExecutionWithError)(e, 'Failed to fetch advice status. HTTP request failed.'); } }); } function fetchAllAdvice(environment, query) { return __awaiter(this, void 0, void 0, function* () { let offset = 0; const allAdvice = []; do { const response = yield fetchAdvice(offset, environment, query); if (response.nextOffset) { offset = response.nextOffset; } else { offset = -1; } if (response.items.length > 0) { allAdvice.push(...response.items); console.log((0, util_1.format)('Fetched %d of %d matching advice.', allAdvice.length, response.totalItems)); } else { console.log('No matching advice.'); } } while (offset > 0); return allAdvice; }); } //# sourceMappingURL=api.js.map