Built motion from commit b5996064.|2.6.21
[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 _0xe6c5=['indexOf','cast','col','priority','unsigned','DESC','ASC','length','omit','isObject','isString','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','isEmail','\x22{EXPR}\x22','{EXPR}','forEach','replace','push','query','$id','map','name','attributes','intersection','nolimit','order','filter','object','value','where','VIRTUAL','lower','merge','options','include','includeAll','lodash','../../mysqldb','keys','includes','parse','model','fields','raw','split','filters','isEmpty','forOwn','find','type','DATE','isPlainObject','format','YYYY-MM-DD','utc','$lte','subtract','isArray','limit','offset','sort'];(function(_0x2fa64e,_0x40d833){var _0x16367f=function(_0x10da0e){while(--_0x10da0e){_0x2fa64e['push'](_0x2fa64e['shift']());}};_0x16367f(++_0x40d833);}(_0xe6c5,0x67));var _0x5e6c=function(_0x72813b,_0x12622d){_0x72813b=_0x72813b-0x0;var _0x1ac5c1=_0xe6c5[_0x72813b];return _0x1ac5c1;};'use strict';var _=require(_0x5e6c('0x0'));var sequelize=require('sequelize');var moment=require('moment');var db=require(_0x5e6c('0x1'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x2bf3c0){var _0xd303ab=['ne'];try{var _0x9ec9fc=JSON['parse'](_0x2bf3c0);var _0x29480c=Object[_0x5e6c('0x2')](_0x9ec9fc)[0x0];return _0xd303ab[_0x5e6c('0x3')](_0x29480c);}catch(_0x1c80ae){return![];}}function getOperatorValue(_0x490a92){var _0x1d5638=JSON[_0x5e6c('0x4')](_0x490a92);var _0x2d8939=Object['keys'](_0x1d5638)[0x0];var _0x13e0a9=_0x1d5638[_0x2d8939];return{['$'+_0x2d8939]:_0x13e0a9};}function parseIncludeModel(_0x3d4832){var _0x3d6fe3=JSON[_0x5e6c('0x4')](_0x3d4832);return{'model':db[_0x3d6fe3[_0x5e6c('0x5')]],'as':_0x3d6fe3['alias'],'attributes':_0x3d6fe3[_0x5e6c('0x6')],'raw':_0x3d6fe3[_0x5e6c('0x7')]};}exports[_0x5e6c('0x6')]=function(_0x44f18c){var _0x1ffe78=null;if(_0x44f18c){_0x1ffe78=_0x44f18c[_0x5e6c('0x8')](',');}return _0x1ffe78;};exports[_0x5e6c('0x9')]=function(_0x1c2a1c,_0x5e2201){var _0x2eaa48={};if(!_[_0x5e6c('0xa')](_0x1c2a1c)){_[_0x5e6c('0xb')](_0x1c2a1c,function(_0x5b252b,_0x511855){try{if(_0x5e2201){var _0x5915ec=_[_0x5e6c('0xc')](_0x5e2201,{'name':_0x511855})||{};if(hasSequelizeOperator(_0x5b252b)){_0x2eaa48[_0x511855]=getOperatorValue(_0x5b252b);}else if(_0x5915ec[_0x5e6c('0xd')]===_0x5e6c('0xe')&&_[_0x5e6c('0xf')](_0x5b252b)){var _0x3d0940=JSON[_0x5e6c('0x4')](_0x5b252b);var _0x3e2072={'$gte':moment(moment(_0x3d0940['$gte'])[_0x5e6c('0x10')](_0x5e6c('0x11')))[_0x5e6c('0x12')]()[_0x5e6c('0x10')](),'$lte':moment(moment(_0x3d0940[_0x5e6c('0x13')])[_0x5e6c('0x10')](_0x5e6c('0x11')))[_0x5e6c('0x12')]()[_0x5e6c('0x14')](0x1,'s')['format']()};_0x2eaa48[_0x511855]=_0x3e2072;}else if(_0x5915ec['name']==='uniqueid'){_0x2eaa48[_0x511855]=_0x5b252b;}else{_0x2eaa48[_0x511855]=_[_0x5e6c('0x15')](_0x5b252b)?_0x5b252b:JSON['parse'](_0x5b252b);}}else{_0x2eaa48[_0x511855]=_['isArray'](_0x5b252b)?_0x5b252b:JSON[_0x5e6c('0x4')](_0x5b252b);}}catch(_0x38a440){_0x2eaa48[_0x511855]=_0x5b252b[_0x5e6c('0x8')](',');}});}return _0x2eaa48;};exports[_0x5e6c('0x16')]=function(_0x5a3029){_0x5a3029=parseInt(_0x5a3029,0xa);if(!_0x5a3029||_0x5a3029<0x0){_0x5a3029=LIMIT_VALUE;}return _0x5a3029;};exports[_0x5e6c('0x17')]=function(_0x8373ee){_0x8373ee=parseInt(_0x8373ee,0xa);if(!_0x8373ee||_0x8373ee<0x0){_0x8373ee=0x0;}return _0x8373ee;};exports[_0x5e6c('0x18')]=function(_0x51d74a){var _0x7cb748,_0xfe2516=null;if(_0x51d74a){_0x7cb748=_0x51d74a['split'](',');_0xfe2516=_['map'](_0x7cb748,function(_0x51353a){if(_0x51353a[_0x5e6c('0x19')]('-')===0x0){return[_0x51353a==='priority'?sequelize[_0x5e6c('0x1a')](sequelize[_0x5e6c('0x1b')](_0x5e6c('0x1c')),_0x5e6c('0x1d')):_0x51353a['substr'](0x1),_0x5e6c('0x1e')];}else{return[_0x51353a==='priority'?sequelize[_0x5e6c('0x1a')](sequelize[_0x5e6c('0x1b')](_0x5e6c('0x1c')),_0x5e6c('0x1d')):_0x51353a,_0x5e6c('0x1f')];}});}return _0xfe2516;};exports['omit']=function(_0x3f1a2f,_0x37ad7a){if(_[_0x5e6c('0xa')](_0x3f1a2f)){return _0x3f1a2f;}if(_[_0x5e6c('0x15')](_0x3f1a2f)){for(var _0xcf523c=0x0;_0xcf523c<_0x3f1a2f[_0x5e6c('0x20')];_0xcf523c+=0x1){_0x3f1a2f[_0xcf523c]=this[_0x5e6c('0x21')](_0x3f1a2f[_0xcf523c],_0x37ad7a);}return _0x3f1a2f;}if(!_[_0x5e6c('0x22')](_0x3f1a2f)){return _0x3f1a2f;}if(_[_0x5e6c('0x23')](_0x37ad7a)){_0x37ad7a=[_0x37ad7a];}if(!_[_0x5e6c('0x15')](_0x37ad7a)){return _0x3f1a2f;}for(var _0xfc6333=0x0;_0xfc6333<_0x37ad7a['length'];_0xfc6333+=0x1){_['unset'](_0x3f1a2f,_0x37ad7a[_0xfc6333]);}for(var _0x4b9b70 in _0x3f1a2f){if(_0x3f1a2f[_0x5e6c('0x24')](_0x4b9b70)){_0x3f1a2f[_0x4b9b70]=this['omit'](_0x3f1a2f[_0x4b9b70],_0x37ad7a);}}return _0x3f1a2f;};exports[_0x5e6c('0x25')]=function(_0x11e740){return _0x11e740[_0x5e6c('0x26')](RegExp(_0x5e6c('0x27')))?!![]:![];};exports[_0x5e6c('0x28')]=function(_0x1b14f1){return _0x1b14f1['match'](/^\S+@\S+$/)?!![]:![];};exports['getFullTextValue']=function(_0x3a6442,_0x20ff37){var _0x1cd67e=[];var _0x59cda9=/[ `!@#$%^&*()_\-?~]/;var _0x1b587a=_0x20ff37?_0x5e6c('0x29'):_0x5e6c('0x2a');_0x3a6442[_0x5e6c('0x8')](/[ ,]+/)[_0x5e6c('0x2b')](function(_0xf1d0fe){_0xf1d0fe=_0xf1d0fe[_0x5e6c('0x2c')](/([^:]")"+/g,'$1');_0xf1d0fe='+'+_0xf1d0fe+'*';var _0x4a09c2=_0xf1d0fe['match'](_0x59cda9);if(_0x4a09c2){_0xf1d0fe='\x22'+_0xf1d0fe+'\x22';}_0x1cd67e[_0x5e6c('0x2d')](_0xf1d0fe);});_0x1b587a=_0x1b587a[_0x5e6c('0x2c')](_0x5e6c('0x2a'),_0x1cd67e['join']('\x20'));return _0x1b587a;};exports['getOptions']=function(_0x49cb1d,_0x575459,_0x4325ae){var _0x476278={},_0x2b032a={};if(_0x575459['query']['$id']){_0x575459[_0x5e6c('0x2e')]['id']=_0x575459['query'][_0x5e6c('0x2f')];delete _0x575459[_0x5e6c('0x2e')][_0x5e6c('0x2f')];}_0x476278[_0x5e6c('0x5')]=_[_0x5e6c('0x30')](_0x49cb1d,_0x5e6c('0x31'));_0x476278[_0x5e6c('0x2e')]=_[_0x5e6c('0x2')](_0x575459['query']);_0x476278[_0x5e6c('0x9')]=_['intersection'](_0x476278['model'],_0x476278[_0x5e6c('0x2e')]);_0x2b032a[_0x5e6c('0x32')]=_[_0x5e6c('0x33')](_0x476278['model'],this['fields'](_0x575459[_0x5e6c('0x2e')][_0x5e6c('0x6')]));_0x2b032a[_0x5e6c('0x32')]=_0x2b032a[_0x5e6c('0x32')][_0x5e6c('0x20')]?_0x2b032a['attributes']:_0x476278['model'];if(!_0x575459[_0x5e6c('0x2e')]['hasOwnProperty'](_0x5e6c('0x34'))){_0x2b032a['limit']=this[_0x5e6c('0x16')](_0x575459['query'][_0x5e6c('0x16')]);_0x2b032a[_0x5e6c('0x17')]=this[_0x5e6c('0x17')](_0x575459[_0x5e6c('0x2e')]['offset']);}_0x2b032a[_0x5e6c('0x35')]=this[_0x5e6c('0x18')](_0x575459[_0x5e6c('0x2e')][_0x5e6c('0x18')]);_0x2b032a['where']=this[_0x5e6c('0x9')](_['pick'](_0x575459[_0x5e6c('0x2e')],_0x476278[_0x5e6c('0x9')]),_0x49cb1d);if(_0x575459[_0x5e6c('0x2e')][_0x5e6c('0x36')]){var _0xf08944=_0x49cb1d;var _0x4dd6c1=_0x575459[_0x5e6c('0x2e')][_0x5e6c('0x36')];if(typeof _0x4dd6c1===_0x5e6c('0x37')){_0xf08944=_[_0x5e6c('0x36')](_0x49cb1d,function(_0x1e781a){return _[_0x5e6c('0x3')](_0x4dd6c1['columns'],_0x1e781a[_0x5e6c('0x31')]);});_0x4dd6c1=_0x4dd6c1[_0x5e6c('0x38')];}_0x2b032a[_0x5e6c('0x39')]=_['merge'](_0x2b032a[_0x5e6c('0x39')],{'$or':_['map'](_0xf08944,function(_0x40f4e4){if(_0x40f4e4[_0x5e6c('0xd')]!==_0x5e6c('0x3a')){if(_0x4325ae){return sequelize[_0x5e6c('0x39')](sequelize['fn'](_0x5e6c('0x3b'),sequelize[_0x5e6c('0x1b')](_0x40f4e4[_0x5e6c('0x31')])),{'$like':sequelize['fn'](_0x5e6c('0x3b'),'%'+_0x575459[_0x5e6c('0x2e')][_0x5e6c('0x36')]+'%')});}else{var _0x2b0a9d={};_0x2b0a9d[_0x40f4e4[_0x5e6c('0x31')]]={'$like':'%'+_0x575459['query']['filter']+'%'};return _0x2b0a9d;}}})});}_0x2b032a=_[_0x5e6c('0x3c')]({},_0x2b032a,_0x575459[_0x5e6c('0x3d')]);return _0x2b032a;};exports[_0x5e6c('0x3e')]=function(_0x5d3b73){var _0x24e4e3=[];if(_0x5d3b73[_0x5e6c('0x3f')]){_0x24e4e3[_0x5e6c('0x2d')]({'all':!![]});}else if(_0x5d3b73[_0x5e6c('0x3e')]){if(Array[_0x5e6c('0x15')](_0x5d3b73[_0x5e6c('0x3e')])){_0x24e4e3=Object[_0x5e6c('0x2')](_0x5d3b73[_0x5e6c('0x3e')])[_0x5e6c('0x30')](function(_0x15ea5e){return parseIncludeModel(_0x5d3b73[_0x5e6c('0x3e')][_0x15ea5e]);});}else{var _0x2d9990=parseIncludeModel(_0x5d3b73[_0x5e6c('0x3e')]);_0x24e4e3[_0x5e6c('0x2d')](_0x2d9990);}}return _0x24e4e3;};