kwikid-components-react
Version:
KwikID's Component Library in React
286 lines (285 loc) • 19.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Apis = void 0;
var _kwikidToolkit = require("kwikid-toolkit");
var _formViewApis = require("../definitions/form-view.apis.definition");
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
class Apis {
get object() {
return this._object;
}
set object(value) {
this._object = value;
}
constructor(object, takeAction) {
_defineProperty(this, "_object", void 0);
_defineProperty(this, "_takeAction", void 0);
_defineProperty(this, "_request", void 0);
_defineProperty(this, "_response", void 0);
this._object = object;
this._takeAction = takeAction;
this._request = this._object.API_CONFIG.request;
this._response = this._object.API_CONFIG.response;
}
async setUrl() {
if (this._request.url.hasOwnProperty("type") && this._request.url.type === _formViewApis.EApiRequestUrlType.CALCULATED) {
const source = new _kwikidToolkit.Source(this._object);
const url = await source.getValueFromSource(this._request.url.props.value.source);
this._request.url = (0, _kwikidToolkit.setValueToObjectPath)(this._request.url, "value", url);
} else if (typeof this._request.url === "string") {
this._request.url = (0, _kwikidToolkit.setValueToObjectPath)({}, "value", this._request.url);
}
return this._object.API_CONFIG;
}
async setRequestBody() {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request, "body")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.body, "params")) {
const {
params
} = this._request.body;
let paramIndex = 0;
for (const param of params) {
const {
sources
} = param;
let sourceIndex = 0;
for (const source of sources) {
var _validation$triggers, _validation$rules, _actions;
const sources = new _kwikidToolkit.Source(this._object);
const value = sources.getValueFromSource(source);
// Set the Value of current source.
this._object.API_CONFIG = (0, _kwikidToolkit.setValueToObjectPath)(this._object.API_CONFIG, "request.body.params[".concat(paramIndex, "].sources[").concat(sourceIndex, "].value"), value);
const {
validation
} = source;
const triggers = (_validation$triggers = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers !== void 0 ? _validation$triggers : [];
const rules = (_validation$rules = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules !== void 0 ? _validation$rules : [];
const actions = (_actions = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions !== void 0 ? _actions : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionEvaluation = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionEvaluation) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
sourceIndex++;
}
paramIndex++;
}
return this._object.API_CONFIG;
}
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.body, "rules") && (0, _kwikidToolkit.checkObjectKeyExists)(this._request.body, "actions")) {
var _this$_request$body$t, _this$_request$body, _this$_request$body$r, _this$_request$body2, _actions2, _this$_request$body3;
const triggers = (_this$_request$body$t = (_this$_request$body = this._request.body) === null || _this$_request$body === void 0 ? void 0 : _this$_request$body.triggers) !== null && _this$_request$body$t !== void 0 ? _this$_request$body$t : [];
const rules = (_this$_request$body$r = (_this$_request$body2 = this._request.body) === null || _this$_request$body2 === void 0 ? void 0 : _this$_request$body2.rules) !== null && _this$_request$body$r !== void 0 ? _this$_request$body$r : [];
const actions = (_actions2 = (_this$_request$body3 = this._request.body) === null || _this$_request$body3 === void 0 ? void 0 : _this$_request$body3.actions) !== null && _actions2 !== void 0 ? _actions2 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionEvaluation = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionEvaluation) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
return this._object.API_CONFIG;
}
return this._object.API_CONFIG;
}
async validateRequestBody() {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request, "body")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.body, "validation")) {
var _validation$triggers2, _validation$rules2, _actions3;
const {
body
} = this._request;
const {
validation
} = body;
const triggers = (_validation$triggers2 = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers2 !== void 0 ? _validation$triggers2 : [];
const rules = (_validation$rules2 = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules2 !== void 0 ? _validation$rules2 : [];
const actions = (_actions3 = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions3 !== void 0 ? _actions3 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
if ((0, _kwikidToolkit.checkObjectPathExists)(this._request.body, "rules") && (0, _kwikidToolkit.checkObjectPathExists)(this._request.body, "actions")) {
var _this$_request$body$t2, _this$_request$body4, _this$_request$body$r2, _this$_request$body5, _actions4, _this$_request$body6;
const triggers = (_this$_request$body$t2 = (_this$_request$body4 = this._request.body) === null || _this$_request$body4 === void 0 ? void 0 : _this$_request$body4.triggers) !== null && _this$_request$body$t2 !== void 0 ? _this$_request$body$t2 : [];
const rules = (_this$_request$body$r2 = (_this$_request$body5 = this._request.body) === null || _this$_request$body5 === void 0 ? void 0 : _this$_request$body5.rules) !== null && _this$_request$body$r2 !== void 0 ? _this$_request$body$r2 : [];
const actions = (_actions4 = (_this$_request$body6 = this._request.body) === null || _this$_request$body6 === void 0 ? void 0 : _this$_request$body6.actions) !== null && _actions4 !== void 0 ? _actions4 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
this._object = (0, _kwikidToolkit.setValueToObjectPath)(this._object, "API_CONFIG.request.body.is_valid", true);
return this._object.API_CONFIG;
}
this._object = (0, _kwikidToolkit.setValueToObjectPath)(this._object, "API_CONFIG.request.validation.body.is_valid", true);
return this._object.API_CONFIG;
}
async setRequestHeaders() {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request, "headers")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.headers, "params")) {
var _this$_request, _this$_request$header;
const params = (_this$_request = this._request) === null || _this$_request === void 0 ? void 0 : (_this$_request$header = _this$_request.headers) === null || _this$_request$header === void 0 ? void 0 : _this$_request$header.params;
let paramIndex = 0;
for (const param of params) {
const {
sources
} = param;
let sourceIndex = 0;
for (const source of sources) {
var _validation$triggers3, _validation$rules3, _actions5;
const sources = new _kwikidToolkit.Source(this._object);
const value = sources.getValueFromSource(source);
// Set the Value of current source.
this._object.API_CONFIG = (0, _kwikidToolkit.setValueToObjectPath)(this._object.API_CONFIG, "request.headers.params[".concat(paramIndex, "].sources[").concat(sourceIndex, "].value"), value);
const {
validation
} = source;
const triggers = (_validation$triggers3 = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers3 !== void 0 ? _validation$triggers3 : [];
const rules = (_validation$rules3 = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules3 !== void 0 ? _validation$rules3 : [];
const actions = (_actions5 = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions5 !== void 0 ? _actions5 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionEvaluation = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionEvaluation) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
sourceIndex++;
}
paramIndex++;
}
return this._object.API_CONFIG;
}
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.headers, "rules") && (0, _kwikidToolkit.checkObjectKeyExists)(this._request.headers, "actions")) {
var _this$_request$header2, _this$_request$header3, _this$_request$header4, _this$_request$header5, _actions6, _this$_request$header6;
const triggers = (_this$_request$header2 = (_this$_request$header3 = this._request.headers) === null || _this$_request$header3 === void 0 ? void 0 : _this$_request$header3.triggers) !== null && _this$_request$header2 !== void 0 ? _this$_request$header2 : [];
const rules = (_this$_request$header4 = (_this$_request$header5 = this._request.headers) === null || _this$_request$header5 === void 0 ? void 0 : _this$_request$header5.rules) !== null && _this$_request$header4 !== void 0 ? _this$_request$header4 : [];
const actions = (_actions6 = (_this$_request$header6 = this._request.headers) === null || _this$_request$header6 === void 0 ? void 0 : _this$_request$header6.actions) !== null && _actions6 !== void 0 ? _actions6 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionEvaluation = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionEvaluation) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
return this._object.API_CONFIG;
}
return this._object.API_CONFIG;
}
async validateRequestHeaders() {
const headers = this._request.headers;
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request, "headers")) {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._request.headers, "validation")) {
var _validation$triggers4, _validation$rules4, _actions7;
const {
validation
} = headers;
const triggers = (_validation$triggers4 = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers4 !== void 0 ? _validation$triggers4 : [];
const rules = (_validation$rules4 = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules4 !== void 0 ? _validation$rules4 : [];
const actions = (_actions7 = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions7 !== void 0 ? _actions7 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
if ((0, _kwikidToolkit.checkObjectPathExists)(this._request.headers, "rules") && (0, _kwikidToolkit.checkObjectPathExists)(this._request.headers, "actions")) {
var _headers$triggers, _headers$rules, _actions8;
const triggers = (_headers$triggers = headers === null || headers === void 0 ? void 0 : headers.triggers) !== null && _headers$triggers !== void 0 ? _headers$triggers : [];
const rules = (_headers$rules = headers === null || headers === void 0 ? void 0 : headers.rules) !== null && _headers$rules !== void 0 ? _headers$rules : [];
const actions = (_actions8 = headers === null || headers === void 0 ? void 0 : headers.actions) !== null && _actions8 !== void 0 ? _actions8 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
return this._object.API_CONFIG;
}
this._object = (0, _kwikidToolkit.setValueToObjectPath)(this._object, "API_CONFIG.request.headers.is_valid", true);
return this._object.API_CONFIG;
}
this._object = (0, _kwikidToolkit.setValueToObjectPath)(this._object, "API_CONFIG.request.validation.headers.is_valid", true);
return this._object.API_CONFIG;
}
async validateResponse() {
if ((0, _kwikidToolkit.checkObjectKeyExists)(this._response, "validation")) {
var _validation$triggers5, _validation$rules5, _actions9;
const {
validation
} = this._response;
const triggers = (_validation$triggers5 = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers5 !== void 0 ? _validation$triggers5 : [];
const rules = (_validation$rules5 = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules5 !== void 0 ? _validation$rules5 : [];
const actions = (_actions9 = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions9 !== void 0 ? _actions9 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
} else if ((0, _kwikidToolkit.checkObjectKeyExists)(this._response, "rules") && (0, _kwikidToolkit.checkObjectKeyExists)(this._response, "actions")) {
var _this$_response$trigg, _this$_response, _this$_response$rules, _this$_response2, _actions0, _this$_response3;
const triggers = (_this$_response$trigg = (_this$_response = this._response) === null || _this$_response === void 0 ? void 0 : _this$_response.triggers) !== null && _this$_response$trigg !== void 0 ? _this$_response$trigg : [];
const rules = (_this$_response$rules = (_this$_response2 = this._response) === null || _this$_response2 === void 0 ? void 0 : _this$_response2.rules) !== null && _this$_response$rules !== void 0 ? _this$_response$rules : [];
const actions = (_actions0 = (_this$_response3 = this._response) === null || _this$_response3 === void 0 ? void 0 : _this$_response3.actions) !== null && _actions0 !== void 0 ? _actions0 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
}
return this._object.API_CONFIG;
}
async callNextApi(validation) {
var _validation$triggers6, _validation$rules6, _actions1;
const triggers = (_validation$triggers6 = validation === null || validation === void 0 ? void 0 : validation.triggers) !== null && _validation$triggers6 !== void 0 ? _validation$triggers6 : [];
const rules = (_validation$rules6 = validation === null || validation === void 0 ? void 0 : validation.rules) !== null && _validation$rules6 !== void 0 ? _validation$rules6 : [];
const actions = (_actions1 = validation === null || validation === void 0 ? void 0 : validation.actions) !== null && _actions1 !== void 0 ? _actions1 : [];
const rulesMapping = new _kwikidToolkit.Rule(rules, this._object).mapping();
for (const action of actions) {
const conditionSuccess = new _kwikidToolkit.Condition(action.condition, rulesMapping).evaluate();
if (conditionSuccess) {
const actions = new _kwikidToolkit.Action(action, rulesMapping, this._object, this._takeAction);
await actions.execute();
}
}
}
}
exports.Apis = Apis;