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