@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
57 lines • 1.72 kB
JavaScript
import { CRUD } from '../../../../utils/crud';
import { requireField } from '../../../../utils/guards';
export class ReceiptsAPI {
_httpClient;
_baseUrl;
_receiptId;
_crud;
constructor(_httpClient, _baseUrl, _receiptId) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
this._receiptId = _receiptId;
this._crud = new CRUD(_httpClient, {
basePath: _baseUrl,
id: _receiptId,
});
}
get(id) {
return this._crud.get(id);
}
create(propertyId, data) {
return this._httpClient.post(`${this._baseUrl}/properties/${propertyId}`, data);
}
update(id, data) {
return this._crud.update(id, data);
}
delete(id) {
return this._crud.delete(id);
}
find(query) {
return this._crud.find(query);
}
totalDebt(query) {
return this._httpClient.get(`${this._baseUrl}/total-debt`, query);
}
summary(query) {
return this._httpClient.get(`${this._baseUrl}/summary`, query);
}
details(id) {
const receiptId = this._getIdParam(id);
return new ReceiptsDetailsAPI(this._httpClient, `${this._baseUrl}/${receiptId}/details`);
}
async download(id) {
const receiptId = this._getIdParam(id);
return this._httpClient.getBinary(`${this._baseUrl}/${receiptId}/download`);
}
_getIdParam(id) {
const receiptId = id || this._receiptId;
requireField('receiptId', receiptId);
return receiptId;
}
}
export class ReceiptsDetailsAPI extends CRUD {
constructor(httpClient, baseUrl) {
super(httpClient, { basePath: baseUrl });
}
}
//# sourceMappingURL=receipts.js.map