UNPKG

@eleva-io/erp-sdk

Version:

SDK oficial para el ERP de Eleva

141 lines 5.87 kB
import { requireField } from '../../../../utils/guards'; import { MeetingParticipantsAPI } from './participants'; import { MeetingDebtorsAPI } from './debtors'; import { MeetingAgendaAPI } from './agenda'; import { MeetingActionPointsAPI } from './action_points'; import { MeetingNotesAPI } from './notes'; import { MeetingDocumentsAPI } from './documents'; export class MeetingsAPI { _httpClient; _baseUrl; _entityType; _entityId; _meetingId; constructor(_httpClient, _baseUrl, _entityType, _entityId, _meetingId) { this._httpClient = _httpClient; this._baseUrl = _baseUrl; this._entityType = _entityType; this._entityId = _entityId; this._meetingId = _meetingId; } async find(query) { requireField('entityId', this._entityId); return this._httpClient.get(this._getBasePath(), { query, }); } async get() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.get(`${this._getBasePath()}/${this._meetingId}`); } async create(data) { requireField('entityId', this._entityId); return this._httpClient.post(this._getBasePath(), { body: data, }); } async update(data) { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.patch(`${this._getBasePath()}/${this._meetingId}`, { body: data, }); } async startPreparing() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/start-preparing`); } async start() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/start`); } async finish() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/finish`); } async cancel() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/cancel`); } async approveMeetingCall(data) { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/call/approve`, { body: data, }); } async rejectMeetingCall() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/call/reject`); } async approveMinutes() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/minutes/approve`); } async rejectMinutes() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/minutes/reject`); } async complete(data) { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/complete`, { body: data, }); } async exportParticipants(data) { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/participants/export`, { body: data, }); } async generatePdf() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return this._httpClient.post(`${this._getBasePath()}/${this._meetingId}/generate-pdf`); } participants() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingParticipantsAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/participants`); } debtors() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingDebtorsAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/debtors`); } agenda() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingAgendaAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/agenda`); } actionPoints() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingActionPointsAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/action-points`); } notes() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingNotesAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/notes`); } documents() { requireField('entityId', this._entityId); requireField('meetingId', this._meetingId); return new MeetingDocumentsAPI(this._httpClient, `${this._getBasePath()}/${this._meetingId}/documents`); } _getBasePath() { const entityTypeStr = this._entityType === 'macrocommunity' ? 'macrocommunities' : 'communities'; return `${this._baseUrl}/${entityTypeStr}/${this._entityId}/meetings`; } } //# sourceMappingURL=meetings.js.map