UNPKG

unomi-sdk-node

Version:

Node module to interact with unomi.

82 lines (81 loc) 3.54 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.connect = void 0; const profile = __importStar(require("./actions/profiles")); const rule = __importStar(require("./actions/rules")); const segment = __importStar(require("./actions/segments")); const comparisonOperator = __importStar(require("./actions/comparisonOperators")); const matchType = __importStar(require("./actions/matchTypes")); const dateExpression = __importStar(require("./actions/dateExpression")); function connect(connectionData) { // connection details for unomi/elasticsearch const baseUrlUnomi = connectionData.urlUnomi; const baseUrlElasticsearch = connectionData.urlElasticsearch; const auth = { username: connectionData.auth.username, password: connectionData.auth.password, bearerToken: connectionData.auth.bearerToken }; // headers for API calls let headers = { "Authorization": "", "Content-Type": "application/json" }; // no bearer token if (auth.bearerToken === "" || typeof auth.bearerToken === "undefined") { headers.Authorization = "Basic " + btoa(auth.username + ":" + auth.password); } // bearer token else { headers.Authorization = "Bearer " + auth.bearerToken; } return { profile: { get: (profileId) => profile.get(baseUrlUnomi, headers, profileId), allUsedProperties: () => profile.allUsedProperties(baseUrlElasticsearch, headers), count: () => profile.count(baseUrlUnomi, headers) }, rule: { getAll: () => rule.getAll(baseUrlUnomi, headers), get: (ruleId) => rule.get(baseUrlUnomi, headers, ruleId), create: (params) => rule.create(baseUrlUnomi, headers, params) }, segment: { getAll: (sortOrder, limit, offset) => segment.getAll(baseUrlUnomi, headers, sortOrder, limit, offset), get: (segmentId) => segment.get(baseUrlUnomi, headers, segmentId), create: (params) => segment.create(baseUrlUnomi, headers, params), update: (params) => segment.update(baseUrlUnomi, headers, params), delete: (segmentId) => segment.deleteSegment(baseUrlUnomi, headers, segmentId), profileCount: (params) => segment.profileCount(baseUrlElasticsearch, headers, params) }, comparisonOperator: { getAll: () => comparisonOperator.getAll() }, matchType: { getAll: () => matchType.getAll() }, dateExpression: { isValid: (dateExpr) => dateExpression.isValid(dateExpr) } }; } exports.connect = connect;