@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
52 lines • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommonAreasAPI = void 0;
const crud_1 = require("../../../../utils/crud");
const guards_1 = require("../../../../utils/guards");
const reserve_1 = require("./reserve");
class CommonAreasAPI {
_httpClient;
_baseUrl;
_commonAreaId;
_crud;
constructor(_httpClient, _baseUrl, _commonAreaId) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
this._commonAreaId = _commonAreaId;
this._crud = new crud_1.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() {
(0, guards_1.requireField)('commonAreaId', this._commonAreaId);
return new reserve_1.CommonAreaReservesAPI(this._httpClient, `${this._baseUrl}/${this._commonAreaId}/reserves`);
}
}
exports.CommonAreasAPI = CommonAreasAPI;
//# sourceMappingURL=common_area.js.map