248e3f3e47c7417f4266a917b0f53bf6461384a4
[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 _0x26d1=['includeAll','push','lodash','moment','../../mysqldb','includes','parse','keys','model','alias','raw','fields','split','isEmpty','forOwn','find','isPlainObject','$gte','format','utc','$lte','YYYY-MM-DD','uniqueid','limit','offset','sort','indexOf','priority','cast','unsigned','substr','DESC','isArray','length','omit','isObject','isString','hasOwnProperty','isNumeric','match','^[+]?[0-9]*$','isEmail','getFullTextValue','\x22{EXPR}\x22','{EXPR}','forEach','replace','join','getOptions','query','$id','map','name','filters','intersection','attributes','nolimit','order','where','pick','filter','object','columns','value','merge','type','VIRTUAL','lower','options','include'];(function(_0x355aa3,_0x48bd30){var _0x1c0c3d=function(_0x3e71dc){while(--_0x3e71dc){_0x355aa3['push'](_0x355aa3['shift']());}};_0x1c0c3d(++_0x48bd30);}(_0x26d1,0x8e));var _0x126d=function(_0x59ee6f,_0x450239){_0x59ee6f=_0x59ee6f-0x0;var _0x4c0979=_0x26d1[_0x59ee6f];return _0x4c0979;};'use strict';var _=require(_0x126d('0x0'));var sequelize=require('sequelize');var moment=require(_0x126d('0x1'));var db=require(_0x126d('0x2'))['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x37ff4c){var _0x2a20fc=['ne'];try{var _0x59d0a0=JSON['parse'](_0x37ff4c);var _0x3a3fb4=Object['keys'](_0x59d0a0)[0x0];return _0x2a20fc[_0x126d('0x3')](_0x3a3fb4);}catch(_0x7f89d4){return![];}}function getOperatorValue(_0x442e04){var _0x449ed0=JSON[_0x126d('0x4')](_0x442e04);var _0x4e5e87=Object[_0x126d('0x5')](_0x449ed0)[0x0];var _0x25ccc2=_0x449ed0[_0x4e5e87];return{['$'+_0x4e5e87]:_0x25ccc2};}function parseIncludeModel(_0x7d6e4c){var _0x2680a1=JSON[_0x126d('0x4')](_0x7d6e4c);return{'model':db[_0x2680a1[_0x126d('0x6')]],'as':_0x2680a1[_0x126d('0x7')],'attributes':_0x2680a1['fields'],'raw':_0x2680a1[_0x126d('0x8')]};}exports[_0x126d('0x9')]=function(_0x2e7a25){var _0x83f657=null;if(_0x2e7a25){_0x83f657=_0x2e7a25[_0x126d('0xa')](',');}return _0x83f657;};exports['filters']=function(_0x34d2e2,_0x51b929){var _0x1477a6={};if(!_[_0x126d('0xb')](_0x34d2e2)){_[_0x126d('0xc')](_0x34d2e2,function(_0x55bf88,_0xdcb472){try{if(_0x51b929){var _0x161b26=_[_0x126d('0xd')](_0x51b929,{'name':_0xdcb472})||{};if(hasSequelizeOperator(_0x55bf88)){_0x1477a6[_0xdcb472]=getOperatorValue(_0x55bf88);}else if(_0x161b26['type']==='DATE'&&_[_0x126d('0xe')](_0x55bf88)){var _0x43c755=JSON[_0x126d('0x4')](_0x55bf88);var _0x138223={'$gte':moment(moment(_0x43c755[_0x126d('0xf')])[_0x126d('0x10')]('YYYY-MM-DD'))[_0x126d('0x11')]()['format'](),'$lte':moment(moment(_0x43c755[_0x126d('0x12')])['format'](_0x126d('0x13')))[_0x126d('0x11')]()['subtract'](0x1,'s')[_0x126d('0x10')]()};_0x1477a6[_0xdcb472]=_0x138223;}else if(_0x161b26['name']===_0x126d('0x14')){_0x1477a6[_0xdcb472]=_0x55bf88;}else{_0x1477a6[_0xdcb472]=_['isArray'](_0x55bf88)?_0x55bf88:JSON['parse'](_0x55bf88);}}else{_0x1477a6[_0xdcb472]=_['isArray'](_0x55bf88)?_0x55bf88:JSON[_0x126d('0x4')](_0x55bf88);}}catch(_0xe15af5){_0x1477a6[_0xdcb472]=_0x55bf88[_0x126d('0xa')](',');}});}return _0x1477a6;};exports[_0x126d('0x15')]=function(_0x50ced7){_0x50ced7=parseInt(_0x50ced7,0xa);if(!_0x50ced7||_0x50ced7<0x0){_0x50ced7=LIMIT_VALUE;}return _0x50ced7;};exports[_0x126d('0x16')]=function(_0x27f656){_0x27f656=parseInt(_0x27f656,0xa);if(!_0x27f656||_0x27f656<0x0){_0x27f656=0x0;}return _0x27f656;};exports[_0x126d('0x17')]=function(_0x571f65){var _0x4cdfd6,_0x1c2a07=null;if(_0x571f65){_0x4cdfd6=_0x571f65[_0x126d('0xa')](',');_0x1c2a07=_['map'](_0x4cdfd6,function(_0x31a061){if(_0x31a061[_0x126d('0x18')]('-')===0x0){return[_0x31a061===_0x126d('0x19')?sequelize[_0x126d('0x1a')](sequelize['col'](_0x126d('0x19')),_0x126d('0x1b')):_0x31a061[_0x126d('0x1c')](0x1),_0x126d('0x1d')];}else{return[_0x31a061===_0x126d('0x19')?sequelize[_0x126d('0x1a')](sequelize['col']('priority'),_0x126d('0x1b')):_0x31a061,'ASC'];}});}return _0x1c2a07;};exports['omit']=function(_0x269588,_0x2f7889){if(_[_0x126d('0xb')](_0x269588)){return _0x269588;}if(_[_0x126d('0x1e')](_0x269588)){for(var _0xaf0d5a=0x0;_0xaf0d5a<_0x269588[_0x126d('0x1f')];_0xaf0d5a+=0x1){_0x269588[_0xaf0d5a]=this[_0x126d('0x20')](_0x269588[_0xaf0d5a],_0x2f7889);}return _0x269588;}if(!_[_0x126d('0x21')](_0x269588)){return _0x269588;}if(_[_0x126d('0x22')](_0x2f7889)){_0x2f7889=[_0x2f7889];}if(!_[_0x126d('0x1e')](_0x2f7889)){return _0x269588;}for(var _0x288868=0x0;_0x288868<_0x2f7889[_0x126d('0x1f')];_0x288868+=0x1){_['unset'](_0x269588,_0x2f7889[_0x288868]);}for(var _0x1f555b in _0x269588){if(_0x269588[_0x126d('0x23')](_0x1f555b)){_0x269588[_0x1f555b]=this[_0x126d('0x20')](_0x269588[_0x1f555b],_0x2f7889);}}return _0x269588;};exports[_0x126d('0x24')]=function(_0x42f905){return _0x42f905[_0x126d('0x25')](RegExp(_0x126d('0x26')))?!![]:![];};exports[_0x126d('0x27')]=function(_0x5c88a0){return _0x5c88a0[_0x126d('0x25')](/^\S+@\S+$/)?!![]:![];};exports[_0x126d('0x28')]=function(_0x38138d,_0x363bcd){var _0x38436a=[];var _0x444f02=/[ `!@#$%^&*()_\-?~]/;var _0x4c16b3=_0x363bcd?_0x126d('0x29'):_0x126d('0x2a');_0x38138d[_0x126d('0xa')](/[ ,]+/)[_0x126d('0x2b')](function(_0x1e9117){_0x1e9117=_0x1e9117['replace'](/([^:]")"+/g,'$1');_0x1e9117='+'+_0x1e9117+'*';var _0x4e1f8=_0x1e9117[_0x126d('0x25')](_0x444f02);if(_0x4e1f8){_0x1e9117='\x22'+_0x1e9117+'\x22';}_0x38436a['push'](_0x1e9117);});_0x4c16b3=_0x4c16b3[_0x126d('0x2c')](_0x126d('0x2a'),_0x38436a[_0x126d('0x2d')]('\x20'));return _0x4c16b3;};exports[_0x126d('0x2e')]=function(_0x13d7ae,_0x112c0a,_0x2cf5e9){var _0x4f32ac={},_0x4e19ee={};if(_0x112c0a[_0x126d('0x2f')][_0x126d('0x30')]){_0x112c0a[_0x126d('0x2f')]['id']=_0x112c0a[_0x126d('0x2f')]['$id'];delete _0x112c0a[_0x126d('0x2f')][_0x126d('0x30')];}_0x4f32ac[_0x126d('0x6')]=_[_0x126d('0x31')](_0x13d7ae,_0x126d('0x32'));_0x4f32ac[_0x126d('0x2f')]=_['keys'](_0x112c0a[_0x126d('0x2f')]);_0x4f32ac[_0x126d('0x33')]=_[_0x126d('0x34')](_0x4f32ac[_0x126d('0x6')],_0x4f32ac[_0x126d('0x2f')]);_0x4e19ee[_0x126d('0x35')]=_['intersection'](_0x4f32ac[_0x126d('0x6')],this[_0x126d('0x9')](_0x112c0a[_0x126d('0x2f')][_0x126d('0x9')]));_0x4e19ee[_0x126d('0x35')]=_0x4e19ee['attributes'][_0x126d('0x1f')]?_0x4e19ee[_0x126d('0x35')]:_0x4f32ac['model'];if(!_0x112c0a[_0x126d('0x2f')][_0x126d('0x23')](_0x126d('0x36'))){_0x4e19ee[_0x126d('0x15')]=this[_0x126d('0x15')](_0x112c0a[_0x126d('0x2f')][_0x126d('0x15')]);_0x4e19ee['offset']=this['offset'](_0x112c0a[_0x126d('0x2f')][_0x126d('0x16')]);}_0x4e19ee[_0x126d('0x37')]=this[_0x126d('0x17')](_0x112c0a[_0x126d('0x2f')][_0x126d('0x17')]);_0x4e19ee[_0x126d('0x38')]=this[_0x126d('0x33')](_[_0x126d('0x39')](_0x112c0a['query'],_0x4f32ac[_0x126d('0x33')]),_0x13d7ae);if(_0x112c0a[_0x126d('0x2f')][_0x126d('0x3a')]){var _0x447960=_0x13d7ae;var _0x3ad108=_0x112c0a[_0x126d('0x2f')][_0x126d('0x3a')];if(typeof _0x3ad108===_0x126d('0x3b')){_0x447960=_[_0x126d('0x3a')](_0x13d7ae,function(_0x3a82ff){return _[_0x126d('0x3')](_0x3ad108[_0x126d('0x3c')],_0x3a82ff[_0x126d('0x32')]);});_0x3ad108=_0x3ad108[_0x126d('0x3d')];}_0x4e19ee['where']=_[_0x126d('0x3e')](_0x4e19ee[_0x126d('0x38')],{'$or':_['map'](_0x447960,function(_0x469300){if(_0x469300[_0x126d('0x3f')]!==_0x126d('0x40')){if(_0x2cf5e9){return sequelize[_0x126d('0x38')](sequelize['fn'](_0x126d('0x41'),sequelize['col'](_0x469300[_0x126d('0x32')])),{'$like':sequelize['fn'](_0x126d('0x41'),'%'+_0x112c0a[_0x126d('0x2f')][_0x126d('0x3a')]+'%')});}else{var _0x30670e={};_0x30670e[_0x469300[_0x126d('0x32')]]={'$like':'%'+_0x112c0a['query'][_0x126d('0x3a')]+'%'};return _0x30670e;}}})});}_0x4e19ee=_['merge']({},_0x4e19ee,_0x112c0a[_0x126d('0x42')]);return _0x4e19ee;};exports[_0x126d('0x43')]=function(_0x445a20){var _0x16cb45=[];if(_0x445a20[_0x126d('0x44')]){_0x16cb45['push']({'all':!![]});}else if(_0x445a20[_0x126d('0x43')]){if(Array[_0x126d('0x1e')](_0x445a20[_0x126d('0x43')])){_0x16cb45=Object[_0x126d('0x5')](_0x445a20[_0x126d('0x43')])[_0x126d('0x31')](function(_0x14d4cf){return parseIncludeModel(_0x445a20['include'][_0x14d4cf]);});}else{var _0x2e373e=parseIncludeModel(_0x445a20[_0x126d('0x43')]);_0x16cb45[_0x126d('0x45')](_0x2e373e);}}return _0x16cb45;};