@eleva-io/erp-sdk
Version:
SDK oficial para el ERP de Eleva
102 lines • 3.25 kB
JavaScript
import { CRUD } from '../../../../utils/crud';
export class ClaimsAPI extends CRUD {
constructor(httpClient, baseUrl, claimId) {
super(httpClient, { basePath: baseUrl, id: claimId, methods: { isDeleteEnabled: false } });
}
async get(claimId) {
const id = this._getIdParam(claimId);
return this._httpClient.get(`${this._config.basePath}/${id}`);
}
find(query) {
return super.find(query);
}
contacts(claimId) {
const id = this._getIdParam(claimId);
return new ClaimContactsAPI(this._httpClient, `${this._config.basePath}/${id}/contacts`);
}
documents(claimId) {
const id = this._getIdParam(claimId);
return new ClaimDocumentsAPI(this._httpClient, `${this._config.basePath}/${id}/documents`);
}
tickets(claimId) {
const id = this._getIdParam(claimId);
return new ClaimTicketsAPI(this._httpClient, `${this._config.basePath}/${id}/tickets`);
}
activityLog(claimId) {
const id = this._getIdParam(claimId);
return new ClaimActivityLogAPI(this._httpClient, `${this._config.basePath}/${id}/activity-log`);
}
activityLogDefaults() {
return this._httpClient.get(`${this._config.basePath}/activity-log-items`);
}
}
export class ClaimContactsAPI {
_httpClient;
_baseUrl;
constructor(_httpClient, _baseUrl) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
}
async find() {
return this._httpClient.get(this._baseUrl);
}
async add(contactId) {
await this._httpClient.post(`${this._baseUrl}/${contactId}`);
}
async delete(contactId) {
await this._httpClient.delete(`${this._baseUrl}/${contactId}`);
}
}
export class ClaimDocumentsAPI {
_httpClient;
_baseUrl;
constructor(_httpClient, _baseUrl) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
}
async find() {
return this._httpClient.get(this._baseUrl);
}
async download(documentId) {
return this._httpClient.getBinary(`${this._baseUrl}/${documentId}`);
}
async upload(files) {
const data = { files };
return this._httpClient.form(this._baseUrl, data);
}
async delete(documentId) {
await this._httpClient.delete(`${this._baseUrl}/${documentId}`);
}
}
export class ClaimTicketsAPI {
_httpClient;
_baseUrl;
constructor(_httpClient, _baseUrl) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
}
async find(query) {
return this._httpClient.get(this._baseUrl, query);
}
}
export class ClaimActivityLogAPI {
_httpClient;
_baseUrl;
constructor(_httpClient, _baseUrl) {
this._httpClient = _httpClient;
this._baseUrl = _baseUrl;
}
async find(query) {
return this._httpClient.get(this._baseUrl, query);
}
async create(data) {
return this._httpClient.post(this._baseUrl, data);
}
async update(itemId, data) {
return this._httpClient.patch(`${this._baseUrl}/${itemId}`, data);
}
async delete(itemId) {
await this._httpClient.delete(`${this._baseUrl}/${itemId}`);
}
}
//# sourceMappingURL=claims.js.map