client/imports/ui/querying/querying.js
import { Meteor } from 'meteor/meteor';
import { Enums, Notification, ExtendedJSON, UIComponents, SessionManager } from '/client/imports/modules';
import { Connection, QueryRender, QueryingOptions } from '/client/imports/ui';
import { Communicator } from '/client/imports/facades';
import { _ } from 'meteor/underscore';
import $ from 'jquery';
import QueryingHelper from './helper';
const Querying = function () {};
const initOptions = function (selector, enumValue, showRunOnAdmin, ...excludedOptions) {
if (!selector) return;
const data = {};
$.each(enumValue, (key, value) => {
if (excludedOptions.indexOf(value) === -1) {
data[key] = value;
}
});
UIComponents.Combobox.initializeOptionsCombobox(selector, data);
this.setVisibilityOfRunOnAdminCheckbox(showRunOnAdmin);
};
const proceedQueryExecution = function ({ methodName, args = {}, isAdmin = true, queryParams = {}, saveHistory, successCallback }) {
if (!isAdmin) {
Object.assign(args, { selectedCollection: SessionManager.get(SessionManager.strSessionSelectedCollection) });
Notification.start('#btnExecuteQuery');
} else Notification.start('#btnExecuteAdminQuery');
Communicator.call({
methodName,
args,
callback: (err, result) => {
if (!successCallback) QueryRender.renderAfterQueryExecution(err, result, isAdmin, methodName, queryParams, saveHistory);
else successCallback();
}
});
};
const checkExistance = function (variable, message) {
if (!variable) {
Notification.error(message);
return false;
}
return true;
};
const checkStringInput = function (variable, name) {
return checkExistance(variable, `${name}-required`);
};
const checkErrorField = function (obj, fieldName) {
if (obj.ERROR) {
if (!fieldName) Notification.error(obj.ERROR);
else Notification.error(`syntax-error-${fieldName}`, null, { error: obj.ERROR });
return false;
}
return true;
};
const getFromHistoryOrEditorString = function (historyParams, divSelector, historyField = 'selector') {
let result;
if (historyParams) result = JSON.stringify(historyParams[historyField]);
else result = UIComponents.Editor.getCodeMirrorValue(divSelector);
return result;
};
const getFromHistoryOrEditor = function (historyParams, divSelector, historyField = 'selector') {
return ExtendedJSON.convertAndCheckJSON(getFromHistoryOrEditorString(historyParams, divSelector, historyField));
};
const renderParams = function (queryParams) {
Object.keys(queryParams).forEach((param) => {
const { relatedJqueryDiv, relatedJqueryInput } = QueryingHelper.getRelatedDom(param);
setTimeout(() => {
if (relatedJqueryDiv.length !== 0) {
if (relatedJqueryDiv.data('editor')) {
if (JSON.stringify(queryParams[param]).startsWith('"function')) {
let str = JSON.stringify(queryParams[param], null, 1).replace(/\\n/g, '\n');
str = str.substring(1, str.length - 1);
UIComponents.Editor.setCodeMirrorValue(relatedJqueryDiv, str);
} else UIComponents.Editor.setCodeMirrorValue(relatedJqueryDiv, JSON.stringify(queryParams[param], null, 1));
} else if (relatedJqueryDiv.find('input:checkbox').length !== 0) UIComponents.Checkbox.toggleState(relatedJqueryDiv, queryParams[param] ? 'check' : 'uncheck');
} else if (relatedJqueryInput.length !== 0) relatedJqueryInput.val(queryParams[param]);
}, 100);
});
};
const proceedRendering = function ({ options, optionEnum, optionCombo, params }) {
if (options) {
const optionsArray = [];
const inverted = (_.invert(optionEnum));
Object.keys(options).forEach((property) => {
if (inverted[property]) optionsArray.push(inverted[property]);
});
setTimeout(() => {
SessionManager.set(SessionManager.strSessionSelectedOptions, optionsArray);
optionCombo.val(optionsArray).trigger('chosen:updated');
}, 150);
setTimeout(() => {
renderParams(options);
}, 200);
}
if (params) renderParams(params);
};
const proceedUpdateQueryExecution = function (historyParams, query) {
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.UPDATE_OPTIONS);
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
const setObject = getFromHistoryOrEditor(historyParams, $('#divSet'), 'set');
if (!checkErrorField(selector, 'selector')) return;
if (!checkErrorField(options)) return;
if (!checkErrorField(setObject, 'set')) return;
proceedQueryExecution({
methodName: query,
args: { selector, setObject, options },
isAdmin: false,
queryParams: { selector, set: setObject, options },
saveHistory: (!historyParams)
});
};
const getUpdateFinalObject = function (queryStr, cmbOptionsSelectorId) {
return {
execute(historyParams) {
proceedUpdateQueryExecution(historyParams, queryStr);
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.UPDATE_OPTIONS,
optionCombo: $(`#${cmbOptionsSelectorId}`)
});
}
};
};
const getFindModifyFinalObject = function (queryStr) {
return {
execute(historyParams) {
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.FINDONE_MODIFY_OPTIONS);
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
if (!checkErrorField(selector, 'selector')) return;
if (options.ERROR) {
Notification.error(options.ERROR);
return;
}
const args = { selector, options };
const queryParams = { selector, options };
if (queryStr === 'findOneAndUpdate') {
const setObject = getFromHistoryOrEditor(historyParams, $('#divSet'), 'set');
if (!checkErrorField(setObject, 'set')) return;
args.setObject = setObject;
queryParams.set = setObject;
} else if (queryStr === 'findOneAndReplace') {
const replacement = getFromHistoryOrEditor(historyParams, $('#divReplacement'), 'replacement');
if (!checkErrorField(replacement, 'replacement')) return;
args.replacement = replacement;
queryParams.replacement = replacement;
}
proceedQueryExecution({
methodName: queryStr,
args,
isAdmin: false,
queryParams,
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.FINDONE_MODIFY_OPTIONS,
optionCombo: $('#cmbFindOneModifyOptions')
});
}
};
};
const getFindFinalObject = function (queryStr, cmbOptionsId) {
return {
execute(historyParams, exportFormat) {
const cursorOptions = historyParams ? historyParams.cursorOptions : QueryingOptions.getOptions(Enums.CURSOR_OPTIONS);
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
if (!checkErrorField(selector, 'selector')) return;
if (!checkErrorField(cursorOptions)) return;
if (exportFormat) {
const selectedCollection = SessionManager.get(SessionManager.strSessionSelectedCollection);
window.open(`export?format=${exportFormat}&
selectedCollection=${selectedCollection}&selector=${JSON.stringify(selector)}&cursorOptions=${JSON.stringify(cursorOptions)}&sessionId=${Meteor.default_connection._lastSessionId}`);
Notification.stop();
} else {
const args = { selector, cursorOptions };
const queryParams = { selector, cursorOptions };
if (queryStr === 'find') {
const executeExplain = UIComponents.Checkbox.getState($('#inputExplain'));
args.executeExplain = executeExplain;
queryParams.executeExplain = executeExplain;
}
proceedQueryExecution({
methodName: queryStr,
args,
isAdmin: false,
queryParams,
saveHistory: (!historyParams)
});
}
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.cursorOptions,
optionEnum: Enums.CURSOR_OPTIONS,
optionCombo: $(`#${cmbOptionsId}`)
});
}
};
};
Querying.prototype = {
initOptions(optionEnum, showRunOnAdmin, ...excludedOptions) {
switch (optionEnum) {
case Enums.ADD_USER_OPTIONS:
initOptions.call(this, $('#cmbAddUserOptions'), Enums.ADD_USER_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.COMMAND_OPTIONS:
initOptions.call(this, $('#cmbCommandOptions'), Enums.COMMAND_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.PROFILING_LEVELS:
initOptions.call(this, $('#cmbLevel'), Enums.PROFILING_LEVELS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.AGGREGATE_OPTIONS:
initOptions.call(this, $('#cmbAggregateOptions'), Enums.AGGREGATE_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.BULK_WRITE_OPTIONS:
initOptions.call(this, $('#cmbBulkWriteOptions'), Enums.BULK_WRITE_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.COUNT_OPTIONS:
initOptions.call(this, $('#cmbCountOptions'), Enums.COUNT_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.DISTINCT_OPTIONS:
initOptions.call(this, $('#cmbDistinctOptions'), Enums.COMMAND_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.CREATE_INDEX_OPTIONS:
initOptions.call(this, $('#cmbCreateIndexOptions'), Enums.CREATE_INDEX_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.CURSOR_OPTIONS:
initOptions.call(this, $('#cmbFindCursorOptions'), Enums.CURSOR_OPTIONS, showRunOnAdmin, ...excludedOptions);
initOptions.call(this, $('#cmbFindOneCursorOptions'), Enums.CURSOR_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.GEO_HAYSTACK_SEARCH_OPTIONS:
initOptions.call(this, $('#cmbGeoHaystackSearchOptions'), Enums.GEO_HAYSTACK_SEARCH_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.INSERT_MANY_OPTIONS:
initOptions.call(this, $('#cmbInsertManyOptions'), Enums.INSERT_MANY_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.MAP_REDUCE_OPTIONS:
initOptions.call(this, $('#cmbMapReduceOptions'), Enums.MAP_REDUCE_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.RENAME_OPTIONS:
initOptions.call(this, $('#cmbRenameOptions'), Enums.RENAME_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.STATS_OPTIONS:
initOptions.call(this, $('#cmbStatsOptions'), Enums.STATS_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.UPDATE_OPTIONS:
initOptions.call(this, $('#cmbUpdateManyOptions'), Enums.UPDATE_OPTIONS, showRunOnAdmin, ...excludedOptions);
initOptions.call(this, $('#cmbUpdateOneOptions'), Enums.UPDATE_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
case Enums.FINDONE_MODIFY_OPTIONS:
initOptions.call(this, $('#cmbFindOneModifyOptions'), Enums.FINDONE_MODIFY_OPTIONS, showRunOnAdmin, ...excludedOptions);
break;
default: break;
}
},
setVisibilityOfRunOnAdminCheckbox(show) {
if (show) $('#aRunOnAdminDB').show();
else $('#aRunOnAdminDB').hide();
},
Admin: {
executeAddUserQuery() {
const options = QueryingOptions.getOptions(Enums.ADD_USER_OPTIONS);
const username = $('#inputAddUserUsername').val();
const password = $('#inputAddUserPassword').val();
if (!checkStringInput(username, 'username')) return;
if (!checkStringInput(password, 'password')) return;
if (!checkErrorField(options)) return;
const runOnAdminDB = UIComponents.Checkbox.getState($('#inputRunOnAdminDB'));
proceedQueryExecution({
methodName: 'addUser',
args: { username, password, runOnAdminDB, options }
});
},
executeBuildInfoQuery() {
proceedQueryExecution({
methodName: 'buildInfo'
});
},
executeCommandQuery() {
const command = ExtendedJSON.convertAndCheckJSON(UIComponents.Editor.getCodeMirrorValue($('#divCommand')));
const options = QueryingOptions.getOptions(Enums.COMMAND_OPTIONS);
if (!checkErrorField(command, 'command')) return;
const runOnAdminDB = UIComponents.Checkbox.getState($('#inputRunOnAdminDB'));
proceedQueryExecution({
methodName: 'command',
args: { command, runOnAdminDB, options }
});
},
executeListDatabasesQuery() {
proceedQueryExecution({
methodName: 'listDatabases'
});
},
executePingQuery() {
proceedQueryExecution({
methodName: 'ping'
});
},
executeRemoveUserQuery() {
const username = $('#inputAddUserUsername').val();
if (!checkStringInput(username, 'username')) return;
const runOnAdminDB = UIComponents.Checkbox.getState($('#inputRunOnAdminDB'));
proceedQueryExecution({
methodName: 'removeUser',
args: { username, runOnAdminDB }
});
},
executeReplSetGetStatusQuery() {
proceedQueryExecution({
methodName: 'replSetGetStatus'
});
},
executeServerInfoQuery() {
proceedQueryExecution({
methodName: 'serverInfo'
});
},
executeServerStatusQuery() {
proceedQueryExecution({
methodName: 'serverStatus'
});
},
executeValidateCollectionQuery() {
const collectionName = $('#inputValidateCollection').val();
const options = ExtendedJSON.convertAndCheckJSON(UIComponents.Editor.getCodeMirrorValue($('#divOptions')));
if (!checkStringInput(collectionName, 'collection_name')) return;
if (!checkErrorField(options, 'options')) return;
proceedQueryExecution({
methodName: 'validateCollection',
args: { collectionName, options }
});
}
},
Collection: {
SetProfilingLevel: {
execute(historyParams) {
const selectedLevelOption = $('#cmbLevel').find('option:selected');
const level = historyParams ? historyParams.level : selectedLevelOption.text();
const options = {};
options[level] = selectedLevelOption.val();
proceedQueryExecution({
methodName: 'setProfilingLevel',
isAdmin: false,
args: { level },
queryParams: { options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.PROFILING_LEVELS,
optionCombo: $('#cmbLevel')
});
}
},
ProfilingInfo: {
execute(historyParams) {
proceedQueryExecution({
isAdmin: false,
methodName: 'profilingInfo',
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams
});
}
},
Aggregate: {
execute(historyParams) {
const pipeline = getFromHistoryOrEditor(historyParams, $('#divPipeline'), 'pipeline');
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.AGGREGATE_OPTIONS);
if (!checkErrorField(pipeline, 'pipeline')) return;
if (!checkErrorField(options)) return;
proceedQueryExecution({
methodName: 'aggregate',
args: { pipeline, options },
isAdmin: false,
queryParams: { pipeline, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.AGGREGATE_OPTIONS,
optionCombo: $('#cmbAggregateOptions')
});
}
},
BulkWrite: {
execute(historyParams) {
const operations = getFromHistoryOrEditor(historyParams, $('#divBulkWrite'), 'bulkWrite');
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.BULK_WRITE_OPTIONS);
if (!checkErrorField(operations, 'operations')) return;
proceedQueryExecution({
methodName: 'bulkWrite',
args: { operations, options },
isAdmin: false,
queryParams: { bulkWrite: operations, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.BULK_WRITE_OPTIONS,
optionCombo: $('#cmbBulkWriteOptions')
});
}
},
Count: {
execute(historyParams) {
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.COUNT_OPTIONS);
if (!checkErrorField(selector, 'selector')) return;
proceedQueryExecution({
methodName: 'count',
args: { selector, options },
isAdmin: false,
queryParams: { selector, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.COUNT_OPTIONS,
optionCombo: $('#cmbCountOptions')
});
}
},
CreateIndex: {
execute(historyParams) {
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.CREATE_INDEX_OPTIONS);
const fields = getFromHistoryOrEditor(historyParams, $('#divFields'), 'fields');
if (!checkErrorField(fields, 'fields')) return;
if (!checkErrorField(options)) return;
proceedQueryExecution({
methodName: 'createIndex',
args: { fields, options },
isAdmin: false,
queryParams: { fields, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.CREATE_INDEX_OPTIONS,
optionCombo: $('#cmbCreateIndexOptions')
});
}
},
Delete: {
execute(historyParams) {
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
if (!checkErrorField(selector, 'selector')) return;
proceedQueryExecution({
methodName: 'delete',
args: { selector },
isAdmin: false,
queryParams: { selector },
saveHistory: (!historyParams)
});
},
render(query) {
renderParams(query.queryParams);
}
},
Distinct: {
execute(historyParams) {
const selector = getFromHistoryOrEditor(historyParams, $('#divSelector'));
const fieldName = historyParams ? historyParams.field : $('#inputField').val();
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.DISTINCT_OPTIONS);
if (!checkErrorField(selector, 'selector')) return;
proceedQueryExecution({
methodName: 'distinct',
args: { selector, fieldName, options },
isAdmin: false,
queryParams: { selector, field: fieldName, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.DISTINCT_OPTIONS,
optionCombo: $('#cmbDistinctOptions')
});
}
},
DropIndex: {
execute(historyParams) {
const indexName = historyParams ? historyParams.name : $('#inputName').val();
proceedQueryExecution({
methodName: 'dropIndex',
args: { indexName },
isAdmin: false,
queryParams: { name: indexName },
saveHistory: (!historyParams)
});
},
render(query) {
renderParams(query.queryParams);
}
},
Find: getFindFinalObject('find', 'cmbFindCursorOptions'),
FindOne: getFindFinalObject('findOne', 'cmbFindOneCursorOptions'),
FindOneAndDelete: getFindModifyFinalObject('findOneAndDelete'),
FindOneAndReplace: getFindModifyFinalObject('findOneAndReplace'),
FindOneAndUpdate: getFindModifyFinalObject('findOneAndUpdate'),
GeoHayStackSearch: {
execute(historyParams) {
let xAxis = historyParams ? historyParams.xAxis : $('#inputXAxis').val();
if (xAxis) xAxis = parseInt(xAxis, 10);
let yAxis = historyParams ? historyParams.yAxis : $('#inputYAxis').val();
if (yAxis) yAxis = parseInt(yAxis, 10);
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.GEO_HAYSTACK_SEARCH_OPTIONS);
if (options.ERROR) {
Notification.error(options.ERROR);
return;
}
proceedQueryExecution({
methodName: 'geoHaystackSearch',
args: { xAxis, yAxis, options },
isAdmin: false,
queryParams: { xAxis, yAxis, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.GEO_HAYSTACK_SEARCH_OPTIONS,
optionCombo: $('#cmbGeoHaystackSearchOptions')
});
}
},
Group: {
execute(historyParams) {
let keys = getFromHistoryOrEditorString(historyParams, $('#divKeys'), 'keys');
const condition = getFromHistoryOrEditor(historyParams, $('#divCondition'), 'condition');
const initial = getFromHistoryOrEditor(historyParams, $('#divInitial'), 'initial');
const reduce = getFromHistoryOrEditorString(historyParams, $('#divReduce'), 'reduce');
const finalize = getFromHistoryOrEditorString(historyParams, $('#divFinalize'), 'finalize');
const command = UIComponents.Checkbox.getState($('#inputCommand'));
if (!keys.startsWith('function')) {
keys = ExtendedJSON.convertAndCheckJSON(keys);
if (keys.ERROR) {
Notification.error('syntax-error-keys', null, { error: keys.ERROR });
return;
}
}
if (!checkErrorField(condition, 'condition')) return;
if (!checkErrorField(initial, 'initial')) return;
proceedQueryExecution({
methodName: 'group',
args: { keys, condition, initial, reduce, finalize, command },
isAdmin: false,
queryParams: { keys, condition, initial, reduce, finalize, command },
saveHistory: (!historyParams)
});
},
render(query) {
renderParams(query.queryParams);
}
},
IndexInformation: {
execute(historyParams) {
const fullVal = historyParams ? historyParams.fullInformation : UIComponents.Checkbox.getState($('#inputFullInformation'));
proceedQueryExecution({
methodName: 'indexInformation',
args: { isFull: fullVal },
isAdmin: false,
queryParams: { fullInformation: fullVal },
saveHistory: (!historyParams)
});
},
render(query) {
renderParams(query.queryParams);
}
},
InsertMany: {
execute(historyParams) {
const docs = getFromHistoryOrEditor(historyParams, $('#divDocs'), 'docs');
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.INSERT_MANY_OPTIONS);
if (!checkErrorField(docs, 'docs')) return;
proceedQueryExecution({
methodName: 'insertMany',
args: { docs, options },
isAdmin: false,
queryParams: { docs, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.INSERT_MANY_OPTIONS,
optionCombo: $('#cmbInsertManyOptions')
});
}
},
IsCapped: {
execute() {
proceedQueryExecution({
methodName: 'isCapped',
isAdmin: false
});
}
},
MapReduce: {
execute(historyParams) {
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.MAP_REDUCE_OPTIONS);
const map = getFromHistoryOrEditorString(historyParams, $('#divMap'), 'map');
const reduce = getFromHistoryOrEditorString(historyParams, $('#divReduce'), 'reduce');
if (!checkErrorField(options)) return;
proceedQueryExecution({
methodName: 'mapReduce',
args: { map, reduce, options },
isAdmin: false,
queryParams: { map, reduce, options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
params: query.queryParams,
options: query.queryParams.options,
optionEnum: Enums.MAP_REDUCE_OPTIONS,
optionCombo: $('#cmbMapReduceOptions')
});
}
},
Options: {
execute(historyParams) {
proceedQueryExecution({
methodName: 'options',
isAdmin: false,
saveHistory: (!historyParams)
});
}
},
ReIndex: {
execute(historyParams) {
proceedQueryExecution({
methodName: 'reIndex',
isAdmin: false,
saveHistory: (!historyParams)
});
}
},
Rename: {
execute() {
const options = QueryingOptions.getOptions(Enums.RENAME_OPTIONS);
const newName = $('#inputNewName').val();
if (newName) {
proceedQueryExecution({
methodName: 'rename',
args: { newName, options },
successCallback: () => {
Notification.success('saved-successfully');
Connection.connect(false);
},
isAdmin: false
});
} else Notification.error('name-required');
}
},
Stats: {
execute(historyParams) {
const options = historyParams ? historyParams.options : QueryingOptions.getOptions(Enums.STATS_OPTIONS);
proceedQueryExecution({
methodName: 'stats',
args: { options },
isAdmin: false,
queryParams: { options },
saveHistory: (!historyParams)
});
},
render(query) {
proceedRendering({
options: query.queryParams.options,
optionEnum: Enums.STATS_OPTIONS,
optionCombo: $('#cmbStatsOptions')
});
}
},
UpdateMany: getUpdateFinalObject('updateMany', 'cmbUpdateManyOptions'),
UpdateOne: getUpdateFinalObject('updateOne', 'cmbUpdateOneOptions')
}
};
export default new Querying();