UNPKG

@capawesome/cli

Version:

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

76 lines (75 loc) 2.84 kB
import authorizationService from '../services/authorization-service.js'; import httpClient from '../utils/http-client.js'; class AppsServiceImpl { httpClient; constructor(httpClient) { this.httpClient = httpClient; } async create(dto) { const params = new URLSearchParams({ organizationId: dto.organizationId }); const { organizationId, ...bodyData } = dto; const response = await this.httpClient.post(`/v1/apps?${params.toString()}`, bodyData, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async delete(dto) { await this.httpClient.delete(`/v1/apps/${dto.id}`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); } async findAll(dto) { const params = new URLSearchParams({ organizationId: dto.organizationId }); if (dto.limit !== undefined) { params.append('limit', dto.limit.toString()); } if (dto.offset !== undefined) { params.append('offset', dto.offset.toString()); } const response = await this.httpClient.get(`/v1/apps?${params.toString()}`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async findOne(dto) { const response = await this.httpClient.get(`/v1/apps/${dto.appId}`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async linkRepository(dto) { const { appId, ...bodyData } = dto; const response = await this.httpClient.put(`/v1/apps/${appId}/repository`, bodyData, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async transfer(dto) { const { appId, ...bodyData } = dto; const response = await this.httpClient.post(`/v1/apps/${appId}/transfer`, bodyData, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); return response.data; } async unlinkRepository(dto) { await this.httpClient.delete(`/v1/apps/${dto.appId}/repository`, { headers: { Authorization: `Bearer ${authorizationService.getCurrentAuthorizationToken()}`, }, }); } } const appsService = new AppsServiceImpl(httpClient); export default appsService;