Built motion from commit 3a7e82ea.|2.6.29
[motion2.git] / server / components / parsers / qs.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x12af=['lodash','sequelize','moment','../../mysqldb','parse','keys','model','alias','fields','raw','split','isEmpty','forOwn','type','DATE','format','YYYY-MM-DD','$lte','utc','subtract','isArray','limit','offset','sort','map','priority','col','unsigned','substr','DESC','cast','ASC','omit','length','isObject','isString','unset','hasOwnProperty','match','^[+]?[0-9]*$','isEmail','getFullTextValue','\x22{EXPR}\x22','{EXPR}','forEach','replace','push','query','$id','name','filters','intersection','attributes','nolimit','order','where','filter','object','includes','columns','value','merge','VIRTUAL','lower','include','includeAll'];(function(_0x2d18f3,_0x206e86){var _0x3138af=function(_0x2f4ea2){while(--_0x2f4ea2){_0x2d18f3['push'](_0x2d18f3['shift']());}};_0x3138af(++_0x206e86);}(_0x12af,0x84));var _0xf12a=function(_0x56f927,_0x301301){_0x56f927=_0x56f927-0x0;var _0x1b23f2=_0x12af[_0x56f927];return _0x1b23f2;};'use strict';var _=require(_0xf12a('0x0'));var sequelize=require(_0xf12a('0x1'));var moment=require(_0xf12a('0x2'));var db=require(_0xf12a('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x2ae1c5){var _0x2e57f0=['ne'];try{var _0x17dde3=JSON[_0xf12a('0x4')](_0x2ae1c5);var _0x3acec1=Object['keys'](_0x17dde3)[0x0];return _0x2e57f0['includes'](_0x3acec1);}catch(_0x1e4eed){return![];}}function getOperatorValue(_0x52084a){var _0xdf6545=JSON[_0xf12a('0x4')](_0x52084a);var _0x33109b=Object[_0xf12a('0x5')](_0xdf6545)[0x0];var _0x5424b1=_0xdf6545[_0x33109b];return{['$'+_0x33109b]:_0x5424b1};}function parseIncludeModel(_0x1dad9d){var _0x293855=JSON['parse'](_0x1dad9d);return{'model':db[_0x293855[_0xf12a('0x6')]],'as':_0x293855[_0xf12a('0x7')],'attributes':_0x293855[_0xf12a('0x8')],'raw':_0x293855[_0xf12a('0x9')]};}exports[_0xf12a('0x8')]=function(_0x1516bc){var _0x3c8dc2=null;if(_0x1516bc){_0x3c8dc2=_0x1516bc[_0xf12a('0xa')](',');}return _0x3c8dc2;};exports['filters']=function(_0x5a661c,_0x23e1d1){var _0x3852b8={};if(!_[_0xf12a('0xb')](_0x5a661c)){_[_0xf12a('0xc')](_0x5a661c,function(_0x2e9049,_0xdaab39){try{if(_0x23e1d1){var _0x543ee5=_['find'](_0x23e1d1,{'name':_0xdaab39})||{};if(hasSequelizeOperator(_0x2e9049)){_0x3852b8[_0xdaab39]=getOperatorValue(_0x2e9049);}else if(_0x543ee5[_0xf12a('0xd')]===_0xf12a('0xe')&&_['isPlainObject'](_0x2e9049)){var _0x4b777d=JSON['parse'](_0x2e9049);var _0x44ef7f={'$gte':moment(moment(_0x4b777d['$gte'])[_0xf12a('0xf')](_0xf12a('0x10')))['utc']()[_0xf12a('0xf')](),'$lte':moment(moment(_0x4b777d[_0xf12a('0x11')])[_0xf12a('0xf')](_0xf12a('0x10')))[_0xf12a('0x12')]()[_0xf12a('0x13')](0x1,'s')['format']()};_0x3852b8[_0xdaab39]=_0x44ef7f;}else if(_0x543ee5['name']==='uniqueid'){_0x3852b8[_0xdaab39]=_0x2e9049;}else{_0x3852b8[_0xdaab39]=_[_0xf12a('0x14')](_0x2e9049)?_0x2e9049:JSON[_0xf12a('0x4')](_0x2e9049);}}else{_0x3852b8[_0xdaab39]=_['isArray'](_0x2e9049)?_0x2e9049:JSON[_0xf12a('0x4')](_0x2e9049);}}catch(_0x216f18){_0x3852b8[_0xdaab39]=_0x2e9049[_0xf12a('0xa')](',');}});}return _0x3852b8;};exports[_0xf12a('0x15')]=function(_0x32ef9a){_0x32ef9a=parseInt(_0x32ef9a,0xa);if(!_0x32ef9a||_0x32ef9a<0x0){_0x32ef9a=LIMIT_VALUE;}return _0x32ef9a;};exports[_0xf12a('0x16')]=function(_0x4cbcdc){_0x4cbcdc=parseInt(_0x4cbcdc,0xa);if(!_0x4cbcdc||_0x4cbcdc<0x0){_0x4cbcdc=0x0;}return _0x4cbcdc;};exports[_0xf12a('0x17')]=function(_0x10a6b2){var _0x2fb90e,_0x3e9efd=null;if(_0x10a6b2){_0x2fb90e=_0x10a6b2[_0xf12a('0xa')](',');_0x3e9efd=_[_0xf12a('0x18')](_0x2fb90e,function(_0x518d6d){if(_0x518d6d['indexOf']('-')===0x0){return[_0x518d6d===_0xf12a('0x19')?sequelize['cast'](sequelize[_0xf12a('0x1a')](_0xf12a('0x19')),_0xf12a('0x1b')):_0x518d6d[_0xf12a('0x1c')](0x1),_0xf12a('0x1d')];}else{return[_0x518d6d===_0xf12a('0x19')?sequelize[_0xf12a('0x1e')](sequelize[_0xf12a('0x1a')](_0xf12a('0x19')),_0xf12a('0x1b')):_0x518d6d,_0xf12a('0x1f')];}});}return _0x3e9efd;};exports[_0xf12a('0x20')]=function(_0x5f93c4,_0x7490f5){if(_[_0xf12a('0xb')](_0x5f93c4)){return _0x5f93c4;}if(_[_0xf12a('0x14')](_0x5f93c4)){for(var _0x36382d=0x0;_0x36382d<_0x5f93c4[_0xf12a('0x21')];_0x36382d+=0x1){_0x5f93c4[_0x36382d]=this[_0xf12a('0x20')](_0x5f93c4[_0x36382d],_0x7490f5);}return _0x5f93c4;}if(!_[_0xf12a('0x22')](_0x5f93c4)){return _0x5f93c4;}if(_[_0xf12a('0x23')](_0x7490f5)){_0x7490f5=[_0x7490f5];}if(!_[_0xf12a('0x14')](_0x7490f5)){return _0x5f93c4;}for(var _0x466055=0x0;_0x466055<_0x7490f5[_0xf12a('0x21')];_0x466055+=0x1){_[_0xf12a('0x24')](_0x5f93c4,_0x7490f5[_0x466055]);}for(var _0x10efa2 in _0x5f93c4){if(_0x5f93c4[_0xf12a('0x25')](_0x10efa2)){_0x5f93c4[_0x10efa2]=this[_0xf12a('0x20')](_0x5f93c4[_0x10efa2],_0x7490f5);}}return _0x5f93c4;};exports['isNumeric']=function(_0x19c37a){return _0x19c37a[_0xf12a('0x26')](RegExp(_0xf12a('0x27')))?!![]:![];};exports[_0xf12a('0x28')]=function(_0x44594a){return _0x44594a[_0xf12a('0x26')](/^\S+@\S+$/)?!![]:![];};exports[_0xf12a('0x29')]=function(_0x5132ec,_0x4005ed){var _0x354cc7=[];var _0x9c9fd=/[ `!@#$%^&*()_\-?~]/;var _0x160840=_0x4005ed?_0xf12a('0x2a'):_0xf12a('0x2b');_0x5132ec['split'](/[ ,]+/)[_0xf12a('0x2c')](function(_0x538d2b){_0x538d2b=_0x538d2b[_0xf12a('0x2d')](/([^:]")"+/g,'$1');_0x538d2b='+'+_0x538d2b+'*';var _0x21f987=_0x538d2b[_0xf12a('0x26')](_0x9c9fd);if(_0x21f987){_0x538d2b='\x22'+_0x538d2b+'\x22';}_0x354cc7[_0xf12a('0x2e')](_0x538d2b);});_0x160840=_0x160840['replace']('{EXPR}',_0x354cc7['join']('\x20'));return _0x160840;};exports['getOptions']=function(_0x2623c4,_0x33cb44,_0x19c883){var _0x203925={},_0x36f224={};if(_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x30')]){_0x33cb44['query']['id']=_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x30')];delete _0x33cb44['query'][_0xf12a('0x30')];}_0x203925[_0xf12a('0x6')]=_['map'](_0x2623c4,_0xf12a('0x31'));_0x203925['query']=_[_0xf12a('0x5')](_0x33cb44['query']);_0x203925[_0xf12a('0x32')]=_[_0xf12a('0x33')](_0x203925[_0xf12a('0x6')],_0x203925['query']);_0x36f224[_0xf12a('0x34')]=_['intersection'](_0x203925['model'],this[_0xf12a('0x8')](_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x8')]));_0x36f224['attributes']=_0x36f224[_0xf12a('0x34')][_0xf12a('0x21')]?_0x36f224['attributes']:_0x203925[_0xf12a('0x6')];if(!_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x25')](_0xf12a('0x35'))){_0x36f224[_0xf12a('0x15')]=this['limit'](_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x15')]);_0x36f224[_0xf12a('0x16')]=this[_0xf12a('0x16')](_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x16')]);}_0x36f224[_0xf12a('0x36')]=this[_0xf12a('0x17')](_0x33cb44[_0xf12a('0x2f')]['sort']);_0x36f224[_0xf12a('0x37')]=this['filters'](_['pick'](_0x33cb44[_0xf12a('0x2f')],_0x203925[_0xf12a('0x32')]),_0x2623c4);if(_0x33cb44[_0xf12a('0x2f')]['filter']){var _0xa1af02=_0x2623c4;var _0x18b1a1=_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x38')];if(typeof _0x18b1a1===_0xf12a('0x39')){_0xa1af02=_[_0xf12a('0x38')](_0x2623c4,function(_0x37f4e3){return _[_0xf12a('0x3a')](_0x18b1a1[_0xf12a('0x3b')],_0x37f4e3[_0xf12a('0x31')]);});_0x18b1a1=_0x18b1a1[_0xf12a('0x3c')];}_0x36f224['where']=_[_0xf12a('0x3d')](_0x36f224[_0xf12a('0x37')],{'$or':_['map'](_0xa1af02,function(_0x1efd29){if(_0x1efd29[_0xf12a('0xd')]!==_0xf12a('0x3e')){if(_0x19c883){return sequelize[_0xf12a('0x37')](sequelize['fn']('lower',sequelize['col'](_0x1efd29[_0xf12a('0x31')])),{'$like':sequelize['fn'](_0xf12a('0x3f'),'%'+_0x33cb44[_0xf12a('0x2f')][_0xf12a('0x38')]+'%')});}else{var _0x407043={};_0x407043[_0x1efd29[_0xf12a('0x31')]]={'$like':'%'+_0x33cb44['query']['filter']+'%'};return _0x407043;}}})});}_0x36f224=_[_0xf12a('0x3d')]({},_0x36f224,_0x33cb44['options']);return _0x36f224;};exports[_0xf12a('0x40')]=function(_0x290072){var _0x3062d6=[];if(_0x290072[_0xf12a('0x41')]){_0x3062d6[_0xf12a('0x2e')]({'all':!![]});}else if(_0x290072['include']){if(Array[_0xf12a('0x14')](_0x290072[_0xf12a('0x40')])){_0x3062d6=Object[_0xf12a('0x5')](_0x290072[_0xf12a('0x40')])[_0xf12a('0x18')](function(_0x13f730){return parseIncludeModel(_0x290072['include'][_0x13f730]);});}else{var _0x3d0302=parseIncludeModel(_0x290072[_0xf12a('0x40')]);_0x3062d6[_0xf12a('0x2e')](_0x3d0302);}}return _0x3062d6;};