UNPKG

@capawesome/cli

Version:

The Capawesome Cloud Command Line Interface (CLI) to manage Live Updates and more.

53 lines (52 loc) 1.92 kB
import authorizationService from '../services/authorization-service.js'; import httpClient from '../utils/http-client.js'; class AppBuildsServiceImpl { httpClient; constructor(httpClient) { this.httpClient = httpClient; } async create(dto) { const { appId, ...bodyData } = dto; const response = await this.httpClient.post(`/v1/apps/${appId}/builds`, bodyData, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async findAll(dto) { const { appId } = dto; const response = await this.httpClient.get(`/v1/apps/${appId}/builds`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async findOne(dto) { const { appId, appBuildId, relations } = dto; const params = {}; if (relations) { params.relations = relations; } const response = await this.httpClient.get(`/v1/apps/${appId}/builds/${appBuildId}`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, params, }); return response.data; } async downloadArtifact(dto) { const { appId, appBuildId, artifactId } = dto; const response = await this.httpClient.get(`/v1/apps/${appId}/builds/${appBuildId}/artifacts/${artifactId}/download`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, responseType: 'arraybuffer', }); return response.data; } } const appBuildsService = new AppBuildsServiceImpl(httpClient); export default appBuildsService;