lemon-engine
Version:
Lemon Engine Module to Synchronize Node over DynamoDB + ElastiCache + Elasticsearch by [lemoncloud](https://lemoncloud.io)
73 lines • 3.39 kB
JavaScript
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
;