UNPKG

kwikid-components-react

Version:

KwikID's Component Library in React

286 lines (285 loc) 19.5 kB
"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;