@slickteam/nestjs-warp10
Version:
Module for Warp10 with Nestjs
94 lines • 4.24 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var Warp10Service_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Warp10Service = void 0;
const common_1 = require("@nestjs/common");
const config_1 = require("@nestjs/config");
const warp10_1 = require("@senx/warp10");
const JsonLib_1 = require("./utils/JsonLib");
const Utils_1 = require("./utils/Utils");
let Warp10Service = Warp10Service_1 = class Warp10Service {
configService;
warp10Url;
warp10Timeout;
writeToken;
readToken;
logger = new common_1.Logger(Warp10Service_1.name);
BASE_APP_CLASS_NAME;
w10;
constructor(configService) {
this.configService = configService;
this.warp10Url = this.configService.get('WARP10_URL') ?? 'http://localhost:8080';
this.warp10Timeout = this.configService.get('WARP10_HTTP_TIMEOUT') ?? 5000;
this.writeToken = this.configService.get('WARP10_WRITE_TOKEN') ?? '';
this.readToken = this.configService.get('WARP10_READ_TOKEN') ?? '';
this.BASE_APP_CLASS_NAME = this.configService.get('WARP10_BASE_CLASS_NAME') ?? 'fr.slickteam.wattson';
this.w10 = new warp10_1.Warp10().endpoint(this.warp10Url).timeout(this.warp10Timeout);
}
async exec(request, withInnerToken = false) {
if (request) {
let _request;
if (withInnerToken) {
_request = `'${this.writeToken}' 'wt' STORE`;
_request += `\r\n'${this.readToken}' 'rt' STORE`;
_request += `\r\n${request}`;
}
else {
_request = request;
}
this.logger.verbose(_request);
const warp10EndpointExec = `${this.warp10Url}/api/v0/exec`;
try {
const response = await Utils_1.Utils.httpPost(warp10EndpointExec, _request);
if (response) {
return new JsonLib_1.JsonLib().parse(response.data);
}
}
catch (err) {
console.error(err);
}
}
return [];
}
async execWithGtsListResult(request, withInnerToken = false) {
let result = await this.exec(request, withInnerToken);
if (!Array.isArray(result)) {
result = [result];
}
if (result.length > 0) {
result = result[0];
result = Array.isArray(result) ? result : result ? [result] : [];
}
return result;
}
fetch(readToken, className, labels, start, stop, format, dedup) {
return this.w10.fetch(readToken ?? this.readToken, className, labels, start, stop, format, dedup);
}
meta(writeToken, meta) {
return this.w10.meta(writeToken ?? this.writeToken, meta);
}
update(writeToken, dataPoints) {
return this.w10.update(writeToken ?? this.writeToken, dataPoints);
}
delete(writeToken, className, labels, start, end, deleteAll) {
return this.w10.delete(writeToken ?? this.writeToken, className, labels, start, end, deleteAll);
}
deleteByTimestamp(writeToken, className, labels, timestamp) {
return this.w10.delete(writeToken ?? this.writeToken, className, labels, timestamp, timestamp, false);
}
};
exports.Warp10Service = Warp10Service;
exports.Warp10Service = Warp10Service = Warp10Service_1 = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [config_1.ConfigService])
], Warp10Service);
//# sourceMappingURL=warp10.service.js.map