26670cd953a32e39e1ff7610f5df518af5b251b8
[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 _0x51da=['utc','subtract','name','isArray','limit','offset','sort','map','indexOf','priority','cast','unsigned','substr','DESC','ASC','length','omit','isObject','isString','unset','isNumeric','match','^[+]?[0-9]*$','isEmail','getFullTextValue','{EXPR}','replace','push','getOptions','query','$id','intersection','attributes','order','pick','filter','object','columns','value','where','merge','VIRTUAL','lower','col','options','include','includeAll','escapeLIKESpecialChars','lodash','sequelize','moment','parse','includes','keys','model','alias','fields','raw','split','filters','type','DATE','isPlainObject','$gte','YYYY-MM-DD','format','$lte'];(function(_0x1502bd,_0x44aa15){var _0x185d2f=function(_0x19013f){while(--_0x19013f){_0x1502bd['push'](_0x1502bd['shift']());}};_0x185d2f(++_0x44aa15);}(_0x51da,0xf9));var _0xa51d=function(_0x2a9926,_0xc89022){_0x2a9926=_0x2a9926-0x0;var _0x2495e1=_0x51da[_0x2a9926];return _0x2495e1;};'use strict';var _=require(_0xa51d('0x0'));var sequelize=require(_0xa51d('0x1'));var moment=require(_0xa51d('0x2'));var db=require('../../mysqldb')['db'];var LIMIT_VALUE=0xfa;function hasSequelizeOperator(_0x28fba5){var _0x2463b9=['ne'];try{var _0x4447ac=JSON[_0xa51d('0x3')](_0x28fba5);var _0x1f0fcc=Object['keys'](_0x4447ac)[0x0];return _0x2463b9[_0xa51d('0x4')](_0x1f0fcc);}catch(_0x451433){return![];}}function getOperatorValue(_0x5454c7){var _0x1de63b=JSON[_0xa51d('0x3')](_0x5454c7);var _0x4dbdce=Object[_0xa51d('0x5')](_0x1de63b)[0x0];var _0x83228b=_0x1de63b[_0x4dbdce];return{['$'+_0x4dbdce]:_0x83228b};}function parseIncludeModel(_0x408681){var _0x25deaf=JSON[_0xa51d('0x3')](_0x408681);return{'model':db[_0x25deaf[_0xa51d('0x6')]],'as':_0x25deaf[_0xa51d('0x7')],'attributes':_0x25deaf[_0xa51d('0x8')],'raw':_0x25deaf[_0xa51d('0x9')]};}exports['fields']=function(_0x2fff0c){var _0x29ed64=null;if(_0x2fff0c){_0x29ed64=_0x2fff0c[_0xa51d('0xa')](',');}return _0x29ed64;};exports[_0xa51d('0xb')]=function(_0x3bf5d1,_0x5e05bc){var _0xf31ed4={};if(!_['isEmpty'](_0x3bf5d1)){_['forOwn'](_0x3bf5d1,function(_0x25353b,_0x52a3ab){try{if(_0x5e05bc){var _0x23dc10=_['find'](_0x5e05bc,{'name':_0x52a3ab})||{};if(hasSequelizeOperator(_0x25353b)){_0xf31ed4[_0x52a3ab]=getOperatorValue(_0x25353b);}else if(_0x23dc10[_0xa51d('0xc')]===_0xa51d('0xd')&&_[_0xa51d('0xe')](_0x25353b)){var _0x5ada9b=JSON['parse'](_0x25353b);var _0x4e5994={'$gte':moment(moment(_0x5ada9b[_0xa51d('0xf')])['format'](_0xa51d('0x10')))['utc']()[_0xa51d('0x11')](),'$lte':moment(moment(_0x5ada9b[_0xa51d('0x12')])[_0xa51d('0x11')](_0xa51d('0x10')))[_0xa51d('0x13')]()[_0xa51d('0x14')](0x1,'s')[_0xa51d('0x11')]()};_0xf31ed4[_0x52a3ab]=_0x4e5994;}else if(_0x23dc10[_0xa51d('0x15')]==='uniqueid'){_0xf31ed4[_0x52a3ab]=_0x25353b;}else{_0xf31ed4[_0x52a3ab]=_[_0xa51d('0x16')](_0x25353b)?_0x25353b:JSON[_0xa51d('0x3')](_0x25353b);}}else{_0xf31ed4[_0x52a3ab]=_[_0xa51d('0x16')](_0x25353b)?_0x25353b:JSON[_0xa51d('0x3')](_0x25353b);}}catch(_0x5e55ed){_0xf31ed4[_0x52a3ab]=_0x25353b[_0xa51d('0xa')](',');}});}return _0xf31ed4;};exports[_0xa51d('0x17')]=function(_0x1d9408){_0x1d9408=parseInt(_0x1d9408,0xa);if(!_0x1d9408||_0x1d9408<0x0){_0x1d9408=LIMIT_VALUE;}return _0x1d9408;};exports[_0xa51d('0x18')]=function(_0x5e776a){_0x5e776a=parseInt(_0x5e776a,0xa);if(!_0x5e776a||_0x5e776a<0x0){_0x5e776a=0x0;}return _0x5e776a;};exports[_0xa51d('0x19')]=function(_0x1d2443){var _0x3eddf3,_0x19105a=null;if(_0x1d2443){_0x3eddf3=_0x1d2443[_0xa51d('0xa')](',');_0x19105a=_[_0xa51d('0x1a')](_0x3eddf3,function(_0x21d9c8){if(_0x21d9c8[_0xa51d('0x1b')]('-')===0x0){return[_0x21d9c8===_0xa51d('0x1c')?sequelize[_0xa51d('0x1d')](sequelize['col'](_0xa51d('0x1c')),_0xa51d('0x1e')):_0x21d9c8[_0xa51d('0x1f')](0x1),_0xa51d('0x20')];}else{return[_0x21d9c8===_0xa51d('0x1c')?sequelize[_0xa51d('0x1d')](sequelize['col']('priority'),_0xa51d('0x1e')):_0x21d9c8,_0xa51d('0x21')];}});}return _0x19105a;};exports['omit']=function(_0x58f781,_0x1b6860){if(_['isEmpty'](_0x58f781)){return _0x58f781;}if(_[_0xa51d('0x16')](_0x58f781)){for(var _0x43a08f=0x0;_0x43a08f<_0x58f781[_0xa51d('0x22')];_0x43a08f+=0x1){_0x58f781[_0x43a08f]=this[_0xa51d('0x23')](_0x58f781[_0x43a08f],_0x1b6860);}return _0x58f781;}if(!_[_0xa51d('0x24')](_0x58f781)){return _0x58f781;}if(_[_0xa51d('0x25')](_0x1b6860)){_0x1b6860=[_0x1b6860];}if(!_[_0xa51d('0x16')](_0x1b6860)){return _0x58f781;}for(var _0x77e8bf=0x0;_0x77e8bf<_0x1b6860[_0xa51d('0x22')];_0x77e8bf+=0x1){_[_0xa51d('0x26')](_0x58f781,_0x1b6860[_0x77e8bf]);}for(var _0x2e8e1e in _0x58f781){if(_0x58f781['hasOwnProperty'](_0x2e8e1e)){_0x58f781[_0x2e8e1e]=this['omit'](_0x58f781[_0x2e8e1e],_0x1b6860);}}return _0x58f781;};exports[_0xa51d('0x27')]=function(_0x388aef){return _0x388aef[_0xa51d('0x28')](RegExp(_0xa51d('0x29')))?!![]:![];};exports[_0xa51d('0x2a')]=function(_0x7d8f80){return _0x7d8f80['match'](/^\S+@\S+$/)?!![]:![];};exports[_0xa51d('0x2b')]=function(_0x404725,_0x5ba77b){var _0x4882ae=[];var _0x34c7b3=/([^:]")"+/g;var _0x36ea69=/[*<>~@-]/g;var _0x393962=/[ `!@#$%^&*()_\-?~<>]/;var _0x4e155e=/[ ,]+/;var _0x58b101=_0x5ba77b?'\x22{EXPR}\x22':_0xa51d('0x2c');if(_0x5ba77b){_0x404725=_0x404725['replace'](_0x36ea69,'\x20')['trim']();}_0x404725['split'](_0x4e155e)['forEach'](function(_0x2b334c){_0x2b334c=_0x2b334c[_0xa51d('0x2d')](_0x34c7b3,'$1');_0x2b334c='+'+_0x2b334c+'*';var _0x4708e0=_0x2b334c[_0xa51d('0x28')](_0x393962);if(_0x4708e0){_0x2b334c='\x22'+_0x2b334c+'\x22';}_0x4882ae[_0xa51d('0x2e')](_0x2b334c);});_0x58b101=_0x58b101[_0xa51d('0x2d')](_0xa51d('0x2c'),_0x4882ae['join']('\x20'));return _0x58b101;};exports[_0xa51d('0x2f')]=function(_0x18bde2,_0x30e108,_0x584d8e){var _0x180b0c={},_0x2bbeab={};if(_0x30e108[_0xa51d('0x30')][_0xa51d('0x31')]){_0x30e108['query']['id']=_0x30e108[_0xa51d('0x30')][_0xa51d('0x31')];delete _0x30e108[_0xa51d('0x30')][_0xa51d('0x31')];}_0x180b0c[_0xa51d('0x6')]=_['map'](_0x18bde2,_0xa51d('0x15'));_0x180b0c['query']=_['keys'](_0x30e108[_0xa51d('0x30')]);_0x180b0c[_0xa51d('0xb')]=_[_0xa51d('0x32')](_0x180b0c['model'],_0x180b0c[_0xa51d('0x30')]);_0x2bbeab[_0xa51d('0x33')]=_[_0xa51d('0x32')](_0x180b0c[_0xa51d('0x6')],this['fields'](_0x30e108[_0xa51d('0x30')][_0xa51d('0x8')]));_0x2bbeab['attributes']=_0x2bbeab[_0xa51d('0x33')][_0xa51d('0x22')]?_0x2bbeab[_0xa51d('0x33')]:_0x180b0c[_0xa51d('0x6')];if(!_0x30e108['query']['hasOwnProperty']('nolimit')){_0x2bbeab[_0xa51d('0x17')]=this[_0xa51d('0x17')](_0x30e108[_0xa51d('0x30')][_0xa51d('0x17')]);_0x2bbeab[_0xa51d('0x18')]=this[_0xa51d('0x18')](_0x30e108[_0xa51d('0x30')][_0xa51d('0x18')]);}_0x2bbeab[_0xa51d('0x34')]=this['sort'](_0x30e108[_0xa51d('0x30')][_0xa51d('0x19')]);_0x2bbeab['where']=this[_0xa51d('0xb')](_[_0xa51d('0x35')](_0x30e108[_0xa51d('0x30')],_0x180b0c[_0xa51d('0xb')]),_0x18bde2);if(_0x30e108['query'][_0xa51d('0x36')]){var _0x48a764=_0x18bde2;var _0x3ff9e=_0x30e108[_0xa51d('0x30')][_0xa51d('0x36')];if(typeof _0x3ff9e===_0xa51d('0x37')){_0x48a764=_[_0xa51d('0x36')](_0x18bde2,function(_0xd37146){return _[_0xa51d('0x4')](_0x3ff9e[_0xa51d('0x38')],_0xd37146[_0xa51d('0x15')]);});_0x3ff9e=_0x3ff9e[_0xa51d('0x39')];}_0x2bbeab[_0xa51d('0x3a')]=_[_0xa51d('0x3b')](_0x2bbeab[_0xa51d('0x3a')],{'$or':_['map'](_0x48a764,function(_0x155d19){if(_0x155d19[_0xa51d('0xc')]!==_0xa51d('0x3c')){if(_0x584d8e){return sequelize[_0xa51d('0x3a')](sequelize['fn'](_0xa51d('0x3d'),sequelize[_0xa51d('0x3e')](_0x155d19['name'])),{'$like':sequelize['fn'](_0xa51d('0x3d'),'%'+_0x30e108['query']['filter']+'%')});}else{var _0x2f8685={};_0x2f8685[_0x155d19[_0xa51d('0x15')]]={'$like':'%'+_0x30e108[_0xa51d('0x30')][_0xa51d('0x36')]+'%'};return _0x2f8685;}}})});}_0x2bbeab=_[_0xa51d('0x3b')]({},_0x2bbeab,_0x30e108[_0xa51d('0x3f')]);return _0x2bbeab;};exports[_0xa51d('0x40')]=function(_0x54fdd2){var _0x2eed51=[];if(_0x54fdd2[_0xa51d('0x41')]){_0x2eed51[_0xa51d('0x2e')]({'all':!![]});}else if(_0x54fdd2[_0xa51d('0x40')]){if(Array[_0xa51d('0x16')](_0x54fdd2[_0xa51d('0x40')])){_0x2eed51=Object[_0xa51d('0x5')](_0x54fdd2[_0xa51d('0x40')])['map'](function(_0x2e9f48){return parseIncludeModel(_0x54fdd2['include'][_0x2e9f48]);});}else{var _0x2523ec=parseIncludeModel(_0x54fdd2[_0xa51d('0x40')]);_0x2eed51[_0xa51d('0x2e')](_0x2523ec);}}return _0x2eed51;};exports[_0xa51d('0x42')]=function(_0x576b78){return _0x576b78['replace'](/[%_^-]/g,function(_0x5619e6){return'\x5c'+_0x5619e6;});};