@capawesome/cli
Version:
The Capawesome Cloud Command Line Interface (CLI) to manage Live Updates and more.
53 lines (52 loc) • 1.92 kB
JavaScript
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;