UNPKG

@eleva-io/erp-sdk

Version:

SDK oficial para el ERP de Eleva

48 lines 1.78 kB
import { CRUD } from '../../../../utils/crud'; import { requireField } from '../../../../utils/guards'; import { CommonAreaReservesAPI } from './reserve'; export class CommonAreasAPI { _httpClient; _baseUrl; _commonAreaId; _crud; constructor(_httpClient, _baseUrl, _commonAreaId) { this._httpClient = _httpClient; this._baseUrl = _baseUrl; this._commonAreaId = _commonAreaId; this._crud = new CRUD(_httpClient, { basePath: _baseUrl, id: _commonAreaId, }); } async find(query) { return this._crud.find(query); } async create(data) { const { translations, ...rest } = data; const request = { ...rest, ...(translations ? { translations: JSON.stringify(translations) } : {}), }; return this._httpClient.form(this._baseUrl, request); } async update(id, data) { const { reserve, routeTracking, translations, communities, ...rest } = data; const request = { ...rest, ...(reserve ? { reserve: JSON.stringify(reserve) } : {}), ...(routeTracking ? { routeTracking: JSON.stringify(routeTracking) } : {}), ...(translations ? { translations: JSON.stringify(translations) } : {}), ...(communities ? { communities: JSON.stringify(communities) } : {}), }; return this._httpClient.form(`${this._baseUrl}/${id}`, request, 'PUT'); } async delete(id) { return this._crud.delete(id); } reserves() { requireField('commonAreaId', this._commonAreaId); return new CommonAreaReservesAPI(this._httpClient, `${this._baseUrl}/${this._commonAreaId}/reserves`); } } //# sourceMappingURL=common_area.js.map