UNPKG

lemon-engine

Version:

Lemon Engine Module to Synchronize Node over DynamoDB + ElastiCache + Elasticsearch by [lemoncloud](https://lemoncloud.io)

73 lines 3.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var http_proxy_1 = __importDefault(require("./http-proxy")); var maker = function (_$, name, options) { name = name || 'CR'; var $U = _$.U; // re-use global instance (utils). var $_ = _$._; // re-use global instance (_ lodash). if (!$U) throw new Error('$U is required!'); if (!$_) throw new Error('$_ is required!'); var NS = $U.NS(name, 'yellow'); // NAMESPACE TO BE PRINTED. //! load common functions var _log = _$.log; var _inf = _$.inf; var _err = _$.err; /** **************************************************************************************************************** * Internal Proxy Function ** ****************************************************************************************************************/ var ENDPOINT = $U.env('CR_ENDPOINT', typeof options == 'string' ? options : ''); var $proxy = function () { if (!ENDPOINT) throw new Error('env:CR_ENDPOINT is required!'); var SVC = 'X' + name; var $SVC = _$(SVC, null); return $SVC ? $SVC : http_proxy_1.default(_$, SVC, ENDPOINT); // re-use proxy by name }; /** **************************************************************************************************************** * Main Implementation. ** ****************************************************************************************************************/ var thiz = new (/** @class */ (function () { function class_1() { this.name = function () { return "cron-proxy:" + name; }; this.endpoint = function () { return ENDPOINT; }; } /** * List Rules */ class_1.prototype.do_list_rules = function (limit, prefix, token) { return $proxy().do_get('rules', '', '', { limit: limit, prefix: prefix, token: token }, undefined); // .then((_: any) => _.result); //WARN! - cron-api 에서 전달을 .resuld에 안함. }; /** * Details of rule */ class_1.prototype.do_describe_rule = function (name) { return $proxy().do_get('rules', name, undefined, undefined, undefined); // .then((_: any) => _.result); //WARN! - cron-api 에서 전달을 .resuld에 안함. }; /** * enable/disable rule. */ class_1.prototype.do_enable_rule = function (name, enabled) { return $proxy().do_get('rules', name, enabled ? 'enable' : 'disable', undefined, undefined); // .then((_: any) => _.result); //WARN! - cron-api 에서 전달을 .resuld에 안함. }; /** * save(or update) rule. */ class_1.prototype.do_save_rule = function (name, node) { return $proxy().do_post('rules', name, '', undefined, node); // .then((_: any) => _.result); //WARN! - cron-api 에서 전달을 .resuld에 안함. }; return class_1; }()))(); //! create & register service. return _$(name, thiz); }; exports.default = maker; //# sourceMappingURL=cron-proxy.js.map