UNPKG

@digital-ai/plugin-dai-release-backend

Version:

Backend functionalities for the dai-release backstage plugin

48 lines (44 loc) 1.45 kB
'use strict'; var apiConfig = require('./apiConfig.cjs.js'); var responseUtil = require('./responseUtil.cjs.js'); class CategoriesApi { logger; config; constructor(logger, config) { this.logger = logger; this.config = config; } static fromConfig(config, logger) { return new CategoriesApi(logger, config); } async getCategoriesApi(instanceName) { this.logger?.debug(`Calling Categories api, instance: ${instanceName}`); const instanceConfig = this.config.getInstanceConfig(instanceName); const accessToken = apiConfig.getCredentials(instanceConfig); const apiUrl = apiConfig.getReleaseApiHost(instanceConfig); const categories = await this.getCategories( accessToken, apiUrl ); const categoriesActiveList = categories.content.map(({ id, title }) => ({ id, title })); return { activeCategory: categoriesActiveList }; } async getCategories(accessToken, apiUrl) { const response = await fetch(`${apiUrl}${apiConfig.RELEASE_CATEGORIES}?active=true`, { method: "GET", headers: { "x-release-personal-token": `${accessToken}`, "Content-Type": "application/json", Accept: "application/json" } }); if (!response.ok) { await responseUtil.parseErrorResponse(this.logger, response); } return await response.json(); } } exports.CategoriesApi = CategoriesApi; //# sourceMappingURL=CategoriesApi.cjs.js.map