@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
62 lines • 2.52 kB
JavaScript
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