ef0d5039b109ee5e3997b9f1ba1e3736cb0d141f
[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 _0xc0b3=['moment','../../mysqldb','parse','keys','model','alias','fields','raw','split','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','$gte','YYYY-MM-DD','format','$lte','utc','subtract','name','uniqueid','isArray','limit','offset','sort','map','indexOf','cast','col','DESC','priority','ASC','omit','length','isString','unset','match','^[+]?[0-9]*$','isEmail','getFullTextValue','\x22{EXPR}\x22','{EXPR}','forEach','push','replace','join','getOptions','query','$id','intersection','attributes','hasOwnProperty','nolimit','order','pick','filter','object','includes','value','where','merge','VIRTUAL','lower','options','include','includeAll','lodash','sequelize'];(function(_0x2763f2,_0x416af8){var _0x3ef471=function(_0x288aa2){while(--_0x288aa2){_0x2763f2['push'](_0x2763f2['shift']());}};_0x3ef471(++_0x416af8);}(_0xc0b3,0x1a8));var _0x3c0b=function(_0x4cea1f,_0x23162f){_0x4cea1f=_0x4cea1f-0x0;var _0x22087e=_0xc0b3[_0x4cea1f];return _0x22087e;};'use strict';var _=require(_0x3c0b('0x0'));var sequelize=require(_0x3c0b('0x1'));var moment=require(_0x3c0b('0x2'));var db=require(_0x3c0b('0x3'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x11e11e){var _0x36c46f=['ne'];try{var _0x181848=JSON[_0x3c0b('0x4')](_0x11e11e);var _0x13c9f6=Object['keys'](_0x181848)[0x0];return _0x36c46f['includes'](_0x13c9f6);}catch(_0x3e6636){return![];}}function getOperatorValue(_0x41f671){var _0x312d35=JSON[_0x3c0b('0x4')](_0x41f671);var _0x37124e=Object[_0x3c0b('0x5')](_0x312d35)[0x0];var _0x2d384c=_0x312d35[_0x37124e];return{['$'+_0x37124e]:_0x2d384c};}function parseIncludeModel(_0x13e8c5){var _0x3e6e00=JSON[_0x3c0b('0x4')](_0x13e8c5);return{'model':db[_0x3e6e00[_0x3c0b('0x6')]],'as':_0x3e6e00[_0x3c0b('0x7')],'attributes':_0x3e6e00[_0x3c0b('0x8')],'raw':_0x3e6e00[_0x3c0b('0x9')]};}exports[_0x3c0b('0x8')]=function(_0x21b360){var _0x32a5d4=null;if(_0x21b360){_0x32a5d4=_0x21b360[_0x3c0b('0xa')](',');}return _0x32a5d4;};exports[_0x3c0b('0xb')]=function(_0x482979,_0x554a1b){var _0x3b09b6={};if(!_[_0x3c0b('0xc')](_0x482979)){_[_0x3c0b('0xd')](_0x482979,function(_0x2a5d91,_0x1a9b76){try{if(_0x554a1b){var _0x4c501f=_[_0x3c0b('0xe')](_0x554a1b,{'name':_0x1a9b76})||{};if(hasSequelizeOperator(_0x2a5d91)){_0x3b09b6[_0x1a9b76]=getOperatorValue(_0x2a5d91);}else if(_0x4c501f[_0x3c0b('0xf')]===_0x3c0b('0x10')&&_[_0x3c0b('0x11')](_0x2a5d91)){var _0x12b9a5=JSON[_0x3c0b('0x4')](_0x2a5d91);var _0x2007a2={'$gte':moment(moment(_0x12b9a5[_0x3c0b('0x12')])['format'](_0x3c0b('0x13')))['utc']()[_0x3c0b('0x14')](),'$lte':moment(moment(_0x12b9a5[_0x3c0b('0x15')])['format'](_0x3c0b('0x13')))[_0x3c0b('0x16')]()[_0x3c0b('0x17')](0x1,'s')[_0x3c0b('0x14')]()};_0x3b09b6[_0x1a9b76]=_0x2007a2;}else if(_0x4c501f[_0x3c0b('0x18')]===_0x3c0b('0x19')){_0x3b09b6[_0x1a9b76]=_0x2a5d91;}else{_0x3b09b6[_0x1a9b76]=_[_0x3c0b('0x1a')](_0x2a5d91)?_0x2a5d91:JSON['parse'](_0x2a5d91);}}else{_0x3b09b6[_0x1a9b76]=_[_0x3c0b('0x1a')](_0x2a5d91)?_0x2a5d91:JSON[_0x3c0b('0x4')](_0x2a5d91);}}catch(_0x4e25b8){_0x3b09b6[_0x1a9b76]=_0x2a5d91[_0x3c0b('0xa')](',');}});}return _0x3b09b6;};exports[_0x3c0b('0x1b')]=function(_0x4dfa07){_0x4dfa07=parseInt(_0x4dfa07,0xa);if(!_0x4dfa07||_0x4dfa07<0x0){_0x4dfa07=LIMIT_VALUE;}return _0x4dfa07;};exports[_0x3c0b('0x1c')]=function(_0x345c78){_0x345c78=parseInt(_0x345c78,0xa);if(!_0x345c78||_0x345c78<0x0){_0x345c78=0x0;}return _0x345c78;};exports[_0x3c0b('0x1d')]=function(_0x53b938){var _0x4187c9,_0x47abf9=null;if(_0x53b938){_0x4187c9=_0x53b938[_0x3c0b('0xa')](',');_0x47abf9=_[_0x3c0b('0x1e')](_0x4187c9,function(_0x585b82){if(_0x585b82[_0x3c0b('0x1f')]('-')===0x0){return[_0x585b82==='priority'?sequelize[_0x3c0b('0x20')](sequelize[_0x3c0b('0x21')]('priority'),'unsigned'):_0x585b82['substr'](0x1),_0x3c0b('0x22')];}else{return[_0x585b82===_0x3c0b('0x23')?sequelize[_0x3c0b('0x20')](sequelize[_0x3c0b('0x21')](_0x3c0b('0x23')),'unsigned'):_0x585b82,_0x3c0b('0x24')];}});}return _0x47abf9;};exports[_0x3c0b('0x25')]=function(_0x20e307,_0x2198d2){if(_[_0x3c0b('0xc')](_0x20e307)){return _0x20e307;}if(_[_0x3c0b('0x1a')](_0x20e307)){for(var _0x378aa0=0x0;_0x378aa0<_0x20e307[_0x3c0b('0x26')];_0x378aa0+=0x1){_0x20e307[_0x378aa0]=this['omit'](_0x20e307[_0x378aa0],_0x2198d2);}return _0x20e307;}if(!_['isObject'](_0x20e307)){return _0x20e307;}if(_[_0x3c0b('0x27')](_0x2198d2)){_0x2198d2=[_0x2198d2];}if(!_[_0x3c0b('0x1a')](_0x2198d2)){return _0x20e307;}for(var _0x239c2f=0x0;_0x239c2f<_0x2198d2[_0x3c0b('0x26')];_0x239c2f+=0x1){_[_0x3c0b('0x28')](_0x20e307,_0x2198d2[_0x239c2f]);}for(var _0xa4af17 in _0x20e307){if(_0x20e307['hasOwnProperty'](_0xa4af17)){_0x20e307[_0xa4af17]=this['omit'](_0x20e307[_0xa4af17],_0x2198d2);}}return _0x20e307;};exports['isNumeric']=function(_0x6aa1ac){return _0x6aa1ac[_0x3c0b('0x29')](RegExp(_0x3c0b('0x2a')))?!![]:![];};exports[_0x3c0b('0x2b')]=function(_0x4547c0){return _0x4547c0[_0x3c0b('0x29')](/^\S+@\S+$/)?!![]:![];};exports[_0x3c0b('0x2c')]=function(_0x23f120,_0x286f2a){var _0x1d68bc=[];var _0x329e8d=/[ `!@#$%^&*()_\-?~]/;var _0x84dfa=_0x286f2a?_0x3c0b('0x2d'):_0x3c0b('0x2e');_0x23f120[_0x3c0b('0xa')](/[ ,]+/)[_0x3c0b('0x2f')](function(_0x384e97){_0x384e97=_0x384e97['replace'](/([^:]")"+/g,'$1');_0x384e97='+'+_0x384e97+'*';var _0x3f2a67=_0x384e97[_0x3c0b('0x29')](_0x329e8d);if(_0x3f2a67){_0x384e97='\x22'+_0x384e97+'\x22';}_0x1d68bc[_0x3c0b('0x30')](_0x384e97);});_0x84dfa=_0x84dfa[_0x3c0b('0x31')](_0x3c0b('0x2e'),_0x1d68bc[_0x3c0b('0x32')]('\x20'));return _0x84dfa;};exports[_0x3c0b('0x33')]=function(_0x29b2c1,_0xe9c088,_0x225579){var _0x32b8f3={},_0x501baa={};if(_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x35')]){_0xe9c088['query']['id']=_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x35')];delete _0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x35')];}_0x32b8f3[_0x3c0b('0x6')]=_[_0x3c0b('0x1e')](_0x29b2c1,_0x3c0b('0x18'));_0x32b8f3[_0x3c0b('0x34')]=_['keys'](_0xe9c088['query']);_0x32b8f3[_0x3c0b('0xb')]=_[_0x3c0b('0x36')](_0x32b8f3[_0x3c0b('0x6')],_0x32b8f3[_0x3c0b('0x34')]);_0x501baa[_0x3c0b('0x37')]=_[_0x3c0b('0x36')](_0x32b8f3[_0x3c0b('0x6')],this[_0x3c0b('0x8')](_0xe9c088['query'][_0x3c0b('0x8')]));_0x501baa[_0x3c0b('0x37')]=_0x501baa[_0x3c0b('0x37')][_0x3c0b('0x26')]?_0x501baa[_0x3c0b('0x37')]:_0x32b8f3[_0x3c0b('0x6')];if(!_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x38')](_0x3c0b('0x39'))){_0x501baa[_0x3c0b('0x1b')]=this['limit'](_0xe9c088[_0x3c0b('0x34')]['limit']);_0x501baa[_0x3c0b('0x1c')]=this[_0x3c0b('0x1c')](_0xe9c088['query'][_0x3c0b('0x1c')]);}_0x501baa[_0x3c0b('0x3a')]=this['sort'](_0xe9c088['query']['sort']);_0x501baa['where']=this[_0x3c0b('0xb')](_[_0x3c0b('0x3b')](_0xe9c088[_0x3c0b('0x34')],_0x32b8f3[_0x3c0b('0xb')]),_0x29b2c1);if(_0xe9c088['query'][_0x3c0b('0x3c')]){var _0x725b9c=_0x29b2c1;var _0x2f787a=_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x3c')];if(typeof _0x2f787a===_0x3c0b('0x3d')){_0x725b9c=_[_0x3c0b('0x3c')](_0x29b2c1,function(_0x4d9e0a){return _[_0x3c0b('0x3e')](_0x2f787a['columns'],_0x4d9e0a[_0x3c0b('0x18')]);});_0x2f787a=_0x2f787a[_0x3c0b('0x3f')];}_0x501baa[_0x3c0b('0x40')]=_[_0x3c0b('0x41')](_0x501baa[_0x3c0b('0x40')],{'$or':_[_0x3c0b('0x1e')](_0x725b9c,function(_0x884e9d){if(_0x884e9d[_0x3c0b('0xf')]!==_0x3c0b('0x42')){if(_0x225579){return sequelize[_0x3c0b('0x40')](sequelize['fn'](_0x3c0b('0x43'),sequelize[_0x3c0b('0x21')](_0x884e9d[_0x3c0b('0x18')])),{'$like':sequelize['fn'](_0x3c0b('0x43'),'%'+_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x3c')]+'%')});}else{var _0x163c81={};_0x163c81[_0x884e9d['name']]={'$like':'%'+_0xe9c088[_0x3c0b('0x34')][_0x3c0b('0x3c')]+'%'};return _0x163c81;}}})});}_0x501baa=_[_0x3c0b('0x41')]({},_0x501baa,_0xe9c088[_0x3c0b('0x44')]);return _0x501baa;};exports[_0x3c0b('0x45')]=function(_0x5e5c5b){var _0xa56b29=[];if(_0x5e5c5b[_0x3c0b('0x46')]){_0xa56b29[_0x3c0b('0x30')]({'all':!![]});}else if(_0x5e5c5b[_0x3c0b('0x45')]){if(Array[_0x3c0b('0x1a')](_0x5e5c5b['include'])){_0xa56b29=Object['keys'](_0x5e5c5b[_0x3c0b('0x45')])['map'](function(_0x3a7c84){return parseIncludeModel(_0x5e5c5b[_0x3c0b('0x45')][_0x3a7c84]);});}else{var _0x55151c=parseIncludeModel(_0x5e5c5b[_0x3c0b('0x45')]);_0xa56b29[_0x3c0b('0x30')](_0x55151c);}}return _0xa56b29;};