@zenvia/sdk
Version:
This SDK for [Node.js](https://nodejs.org/) was created based on the [Zenvia](https://www.zenvia.com/) [API](https://zenvia.github.io/zenvia-openapi-spec/).
36 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AbstractReport = void 0;
const request = require("../../utils/request");
const logger_1 = require("../../utils/logger");
/**
* Implementation of base report.
*/
class AbstractReport {
constructor(reportName, token, loggerInstance, options) {
this.reportName = reportName;
this.token = token;
this.options = options;
this.logger = new logger_1.Logger(loggerInstance);
}
/**
* This method returns entries from an report.
*
* @param filters - An [[IReportFilters]] object to filter the request.
* @returns A promise that resolves to an array of [[IReportEntry]] objects.
*/
getEntries(filters) {
const properties = [];
for (const [key, value] of Object.entries(filters)) {
properties.push(`${key}=${value}`);
}
const path = `/v2/reports/${this.reportName}/entries`;
let queryParameters = '';
if (properties.length > 0) {
queryParameters = `?${properties.join('&')}`;
}
return request.get(this.token, path + queryParameters, this.logger, this.options);
}
}
exports.AbstractReport = AbstractReport;
//# sourceMappingURL=abstract.js.map