UNPKG

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

Version:

Backend functionalities for the dai-release backstage plugin

54 lines (50 loc) 1.49 kB
'use strict'; var apiConfig = require('./apiConfig.cjs.js'); var responseUtil = require('./responseUtil.cjs.js'); class FoldersApi { logger; config; constructor(logger, config) { this.logger = logger; this.config = config; } static fromConfig(config, logger) { return new FoldersApi(logger, config); } async getReleaseInstances() { return this.config.getInstanceList(); } async getFoldersListApi(instanceName) { this.logger?.debug( `Calling Workflows List Folders api, instance: ${instanceName}` ); const instanceConfig = this.config.getInstanceConfig(instanceName); const accessToken = apiConfig.getCredentials(instanceConfig); const apiUrl = apiConfig.getReleaseApiHost(instanceConfig); const foldersList = await this.getFoldersList( apiUrl, accessToken ); return { folders: foldersList, totalPages: 0, totalElements: foldersList.length }; } async getFoldersList(apiUrl, accessToken) { const response = await fetch(`${apiUrl}${apiConfig.RELEASE_FOLDERS_LIST_API_PATH}`, { 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.FoldersApi = FoldersApi; //# sourceMappingURL=FoldersApi.cjs.js.map