@betit/orion-node-sdk
Version:
SDK for orion
97 lines • 3.71 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const response_1 = require("../response/response");
const request_1 = require("../request/request");
exports.WHO_ARE_YOU = 'WHO_ARE_YOU';
var AggregationType;
(function (AggregationType) {
AggregationType["INTERNAL"] = "internal";
AggregationType["EXTERNAL"] = "external";
})(AggregationType = exports.AggregationType || (exports.AggregationType = {}));
var HealthCheckResult;
(function (HealthCheckResult) {
HealthCheckResult["HC_OK"] = "OK";
HealthCheckResult["HC_WARN"] = "WARN";
HealthCheckResult["HC_CRIT"] = "CRIT";
})(HealthCheckResult = exports.HealthCheckResult || (exports.HealthCheckResult = {}));
function AmIUpHandle(req) {
return __awaiter(this, void 0, void 0, function* () {
return new AmIUpResponse();
});
}
exports.AmIUpHandle = AmIUpHandle;
class AmIUpResponse extends response_1.Response {
constructor() {
super({ status: HealthCheckResult.HC_OK });
}
}
exports.AmIUpResponse = AmIUpResponse;
class AmIUpRequest extends request_1.Request {
}
exports.AmIUpRequest = AmIUpRequest;
class AggregateRequest extends request_1.Request {
constructor(path, params) {
super(path);
this.params = params;
}
}
exports.AggregateRequest = AggregateRequest;
class AggregateResponse extends response_1.Response {
constructor(payload) {
super(payload);
this.payload = payload;
}
}
exports.AggregateResponse = AggregateResponse;
function checkToObject(checkName, str, err) {
const res = {
result: HealthCheckResult.HC_OK
};
if (err) {
res.result = err.code;
res.details = str;
res.description = 'Health check for ' + checkName;
}
return res;
}
function AggregateHandleGenerator(checks) {
return (req) => __awaiter(this, void 0, void 0, function* () {
const res = new AggregateResponse([]);
for (const name in checks) {
const check = checks[name];
if (req.params.type === undefined || (req.params.type === AggregationType.INTERNAL) === check.isInternal) {
const [str, err] = yield check.checkIsWorking();
res.payload.push(checkToObject(check.name, str, err));
}
}
return res;
});
}
exports.AggregateHandleGenerator = AggregateHandleGenerator;
class DependencyRequest extends request_1.Request {
}
exports.DependencyRequest = DependencyRequest;
class DependencyResponse extends response_1.Response {
constructor(payload) {
super(payload);
this.payload = payload;
}
}
exports.DependencyResponse = DependencyResponse;
function DependencyHandleGenerator(check) {
return (req) => __awaiter(this, void 0, void 0, function* () {
const [str, err] = yield check.checkIsWorking();
return new DependencyResponse(checkToObject(check.name, str, err));
});
}
exports.DependencyHandleGenerator = DependencyHandleGenerator;
//# sourceMappingURL=messages.js.map