UNPKG

@capawesome/cli

Version:

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

78 lines (77 loc) 2.78 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 params = {}; if (dto.limit !== undefined) { params.limit = dto.limit.toString(); } if (dto.numberAsString) { params.numberAsString = dto.numberAsString; } if (dto.offset !== undefined) { params.offset = dto.offset.toString(); } if (dto.platform) { params.platform = dto.platform; } if (dto.relations) { params.relations = dto.relations; } const response = await this.httpClient.get(`/v1/apps/${dto.appId}/builds`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, params, }); 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 update(dto) { const { appId, appBuildId, ...bodyData } = dto; const response = await this.httpClient.patch(`/v1/apps/${appId}/builds/${appBuildId}`, bodyData, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); 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;