@capawesome/cli
Version:
The Capawesome Cloud Command Line Interface (CLI) to manage Live Updates and more.
85 lines (84 loc) • 3 kB
JavaScript
import authorizationService from '../services/authorization-service.js';
import httpClient from '../utils/http-client.js';
import FormData from 'form-data';
class AppCertificatesServiceImpl {
httpClient;
constructor(httpClient) {
this.httpClient = httpClient;
}
async create(dto) {
const formData = new FormData();
formData.append('file', dto.buffer, { filename: dto.fileName });
formData.append('name', dto.name);
formData.append('platform', dto.platform);
if (dto.password) {
formData.append('password', dto.password);
}
if (dto.keyAlias) {
formData.append('keyAlias', dto.keyAlias);
}
if (dto.keyPassword) {
formData.append('keyPassword', dto.keyPassword);
}
const response = await this.httpClient.post(`/v1/apps/${dto.appId}/certificates`, formData, {
headers: {
Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`,
...formData.getHeaders(),
},
});
return response.data;
}
async delete(dto) {
await this.httpClient.delete(`/v1/apps/${dto.appId}/certificates/${dto.certificateId}`, {
headers: {
Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`,
},
});
}
async findAll(dto) {
const params = {};
if (dto.limit !== undefined) {
params.limit = dto.limit.toString();
}
if (dto.offset !== undefined) {
params.offset = dto.offset.toString();
}
if (dto.name) {
params.name = dto.name;
}
if (dto.platform) {
params.platform = dto.platform;
}
if (dto.type) {
params.type = dto.type;
}
if (dto.query) {
params.query = dto.query;
}
const response = await this.httpClient.get(`/v1/apps/${dto.appId}/certificates`, {
headers: {
Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`,
},
params,
});
return response.data;
}
async findOneById(dto) {
const response = await this.httpClient.get(`/v1/apps/${dto.appId}/certificates/${dto.certificateId}`, {
headers: {
Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`,
},
});
return response.data;
}
async update(dto) {
const response = await this.httpClient.patch(`/v1/apps/${dto.appId}/certificates/${dto.certificateId}`, dto, {
headers: {
Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`,
},
});
return response.data;
}
}
const appCertificatesService = new AppCertificatesServiceImpl(httpClient);
export default appCertificatesService;