UNPKG

@eleva-io/erp-sdk

Version:

SDK oficial para el ERP de Eleva

62 lines 2.52 kB
import { CRUD } from '../../../../utils/crud'; import { requireField } from '../../../../utils/guards'; import { TicketingTaskFollowersAPI } from './followers'; import { TicketingTaskConversationsAPI } from './conversations'; import { TicketingTaskActivityLogsAPI } from './activity_logs'; import { TicketingTaskAttachmentsAPI } from './attachments'; import { TicketingTaskResourcesAPI } from './resources'; import { TicketingTaskConfigAPI } from './config'; export class TicketingTasksAPI extends CRUD { _taskId; constructor(httpClient, baseUrl, _taskId) { super(httpClient, { basePath: baseUrl, id: _taskId, }); this._taskId = _taskId; } async find(query) { return super.find({ ...query, includeTeamResponsibles: true }); } async findPaginated(query) { const params = { ...query, includeTeamResponsibles: true, pagination: query?.pagination ?? { page: 0, size: 20 }, }; return this._httpClient.get(this._config.basePath, params); } async merge(data) { requireField('taskId', this._taskId); return this._httpClient.patch(`${this._config.basePath}/${this._taskId}/merge`, data); } async metrics(query) { return this._httpClient.get(`${this._config.basePath}/metrics`, query); } async inboxes() { return this._httpClient.get(`${this._config.basePath}/inboxes`); } config() { return new TicketingTaskConfigAPI(this._httpClient, `${this._config.basePath}/config`); } followers() { requireField('taskId', this._taskId); return new TicketingTaskFollowersAPI(this._httpClient, `${this._config.basePath}/${this._taskId}/followers`); } conversations() { requireField('taskId', this._taskId); return new TicketingTaskConversationsAPI(this._httpClient, `${this._config.basePath}/${this._taskId}/conversations`); } activityLogs() { requireField('taskId', this._taskId); return new TicketingTaskActivityLogsAPI(this._httpClient, `${this._config.basePath}/${this._taskId}/activity-logs`); } attachments() { requireField('taskId', this._taskId); return new TicketingTaskAttachmentsAPI(this._httpClient, `${this._config.basePath}/${this._taskId}/attachments`); } resources() { return new TicketingTaskResourcesAPI(this._httpClient, `${this._config.basePath}`, this._taskId); } } //# sourceMappingURL=tasks.js.map