UNPKG

@sethub/sdk

Version:

<div align="center"> <h1> SetHub SDK </h1>

106 lines (105 loc) 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Projects = void 0; class Projects { constructor(httpClient) { this.httpClient = httpClient; } async create(input, options) { const { name, description } = input; const response = await this.httpClient.post('/v1/projects', { name, description }, options); if (!response.ok) { return { data: null, error: response.body }; } return { data: response.body, error: null }; } async listMine(options) { const response = await this.httpClient.get('/v1/projects/mine', options); if (!response.ok) { return { data: null, error: response.body }; } const apiResponseBody = response.body; const parsedResponse = apiResponseBody.map(project => ({ slug: project.slug, name: project.name, description: project.description, role: project.role, updateSetsCount: project.update_sets_count, })); return { data: parsedResponse, error: null }; } async getDetails(input, options) { var _a; const { slug } = input; const response = await this.httpClient.get(`/v1/projects/${slug}`, options); if (!response.ok) { return { data: null, error: response.body }; } const apiResponseBody = response.body; const parsedResponse = { slug: apiResponseBody.slug, name: apiResponseBody.name, description: (_a = apiResponseBody.description) !== null && _a !== void 0 ? _a : null, createdAt: new Date(apiResponseBody.created_at), owner: { id: apiResponseBody.owner.id, name: apiResponseBody.owner.name, email: apiResponseBody.owner.email, } }; return { data: parsedResponse, error: null }; } async update(input, options) { const { slug, name, description } = input; const response = await this.httpClient.put(`/v1/projects/${slug}`, { name, description }, options); if (!response.ok) { return { data: null, error: response.body }; } return { data: response.body, error: null }; } async delete(input, options) { const { slug } = input; const response = await this.httpClient.delete(`/v1/projects/${slug}`, options); if (!response.ok) { return { data: null, error: response.body }; } return { data: response.body, error: null }; } } exports.Projects = Projects;