omnipartners
Version:
Node.js wrapper for Omniparners API.
85 lines (84 loc) • 3.33 kB
JavaScript
;
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 __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Api_1 = __importDefault(require("../../lib/Api"));
const apiDecorators_1 = require("../../lib/apiDecorators");
class EventLogger extends Api_1.default {
constructor() {
super(...arguments);
this.defaultHost = "https://events.clixray.io/";
this.responseAsJson = false;
this.errorMap = {
1000: { message: "Unknown Error" },
1001: { message: "Empty Request – if the request body contains no data." },
1002: {
message: "Error when parsing the json object. Can occur for malformed JSON string.",
},
1003: { message: "Does not contain eve_source parameter or empty object." },
1004: { message: "Does not contain required data." },
1005: { message: "Incorrect hash value." },
1006: {
message: "Not authorized – requested key not allow to use event logger.",
},
1007: {
message: "Data insert fails due to sql or some other error in DB connection.",
},
1008: { message: "Internal error." },
1009: { message: "Invalid data format." },
};
}
_call(action, data) {
return this.post("/", {
action,
...data,
});
}
logEvents({ custom_fields = {}, ...data }) {
return this.post("/tracker", {
...data,
event_ts: Math.round(data.event_ts),
...custom_fields,
}, {
errorMap: {
1003: {
message: "Does not contain eve_source parameter or empty object.",
},
1004: { message: "Does not contain required data.(Mainly cust_id)." },
1005: { message: "Incorrect hash value." },
},
hashKeys: [
"clixray_instance_id",
"event_source",
"event_name",
"event_ts",
],
responseAsJson: false,
});
}
}
__decorate([
(0, apiDecorators_1.doc)("http://doc.omnipartners.be/index.php/Log_Events"),
(0, apiDecorators_1.filterInput)([
"user_guid",
"event_source",
"event_name",
"event_ts",
"clixray_instance_id",
"partner_ext_id",
"partner_type",
"event_category",
"event_lon",
"event_lat",
"ip",
"custom_fields",
])
], EventLogger.prototype, "logEvents", null);
exports.default = EventLogger;