e9427cdf0c2dd47df32c12e89c4ce74911bd185a
[motion2.git] / server / api / chatGroup / chatGroup.controller.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 _0x3fd0=['map','ChatGroup','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','params','includeAll','find','create','body','describe','getUnread','ChatInternalMessage','count','user','addMembers','ids','getMembers','findOne','User','length','removeMembers','addMessage','ChatGroupId','getMessages','$gte','split','YYYY-MM-DD\x20HH:mm:ss','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','register','jayson/promise','client','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','ChatGroup,\x20%s,\x20%s','request\x20sent','debug','ChatGroup,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','update','then','destroy','stack','name','index'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x3fd0,0x10f));var _0x03fd=function(_0x5ee211,_0x1e24c8){_0x5ee211=_0x5ee211-0x0;var _0x1c279c=_0x3fd0[_0x5ee211];return _0x1c279c;};'use strict';var pdf=require(_0x03fd('0x0'));var emlformat=require(_0x03fd('0x1'));var rimraf=require(_0x03fd('0x2'));var zipdir=require(_0x03fd('0x3'));var jsonpatch=require(_0x03fd('0x4'));var rp=require('request-promise');var moment=require(_0x03fd('0x5'));var BPromise=require(_0x03fd('0x6'));var Mustache=require('mustache');var util=require(_0x03fd('0x7'));var path=require(_0x03fd('0x8'));var sox=require(_0x03fd('0x9'));var csv=require(_0x03fd('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x03fd('0xb'));var squel=require(_0x03fd('0xc'));var crypto=require(_0x03fd('0xd'));var jsforce=require(_0x03fd('0xe'));var deskjs=require(_0x03fd('0xf'));var toCsv=require(_0x03fd('0xa'));var querystring=require(_0x03fd('0x10'));var Papa=require(_0x03fd('0x11'));var Redis=require('ioredis');var authService=require(_0x03fd('0x12'));var qs=require(_0x03fd('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x03fd('0x14'));var logger=require(_0x03fd('0x15'))('api');var utils=require(_0x03fd('0x16'));var config=require(_0x03fd('0x17'));var db=require(_0x03fd('0x18'))['db'];config[_0x03fd('0x19')]=_['defaults'](config[_0x03fd('0x19')],{'host':_0x03fd('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x03fd('0x19')]));require('./chatGroup.socket')[_0x03fd('0x1b')](socket);var jayson=require(_0x03fd('0x1c'));var client=jayson[_0x03fd('0x1d')][_0x03fd('0x1e')]({'port':0x232a});function checkPasswordPattern(_0xfcd1b5,_0x2c7324,_0x175915){if(_0x175915){var _0x37a38e=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x37a38e[_0x03fd('0x1f')](_0x2c7324)){return _0xfcd1b5;}else{throw new db['Sequelize'][(_0x03fd('0x20'))](_0x03fd('0x21'));}}else{return _0xfcd1b5;}}function respondWithRpcPromise(_0x5c227a,_0x145c7b,_0x39677f,_0x28c121){return new BPromise(function(_0x265dc3,_0x2b83f8){var _0x445537=_0x28c121||client;return _0x445537[_0x03fd('0x22')](_0x5c227a,_0x39677f)['then'](function(_0x1273aa){logger[_0x03fd('0x23')](_0x03fd('0x24'),_0x145c7b,_0x03fd('0x25'));logger[_0x03fd('0x26')](_0x03fd('0x27'),_0x145c7b,'request\x20sent',JSON[_0x03fd('0x28')](_0x1273aa));if(_0x1273aa[_0x03fd('0x29')]){if(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2a')]===0x1f4){logger['error']('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);return _0x2b83f8(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);}logger['error']('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x1273aa[_0x03fd('0x29')]['message']);return _0x265dc3(_0x1273aa[_0x03fd('0x29')][_0x03fd('0x2b')]);}else{logger[_0x03fd('0x23')](_0x03fd('0x24'),_0x145c7b,_0x03fd('0x25'));_0x265dc3(_0x1273aa[_0x03fd('0x2c')]['message']);}})[_0x03fd('0x2d')](function(_0x286e3a){logger[_0x03fd('0x29')]('ChatGroup,\x20%s,\x20%s',_0x145c7b,_0x286e3a);_0x2b83f8(_0x286e3a);});});}function respondWithStatusCode(_0x471764,_0x25a445){_0x25a445=_0x25a445||0xcc;return function(_0x4b0d59){if(_0x4b0d59){return _0x471764[_0x03fd('0x2e')](_0x25a445);}return _0x471764[_0x03fd('0x2f')](_0x25a445)[_0x03fd('0x30')]();};}function respondWithResult(_0x162466,_0x4e9410){_0x4e9410=_0x4e9410||0xc8;return function(_0x2c1b61){if(_0x2c1b61){return _0x162466[_0x03fd('0x2f')](_0x4e9410)[_0x03fd('0x31')](_0x2c1b61);}};}function respondWithFilteredResult(_0x2f5208,_0x4645c3){return function(_0x493403){if(_0x493403){var _0x26c5f7=_0x493403['count'],_0x167743=_0x4645c3[_0x03fd('0x32')],_0x2c382f=_0x4645c3[_0x03fd('0x32')]+_0x4645c3[_0x03fd('0x33')],_0x41f410;if(_0x2c382f>=_0x26c5f7){_0x2c382f=_0x26c5f7;_0x41f410=0xc8;}else{_0x41f410=0xce;}_0x2f5208[_0x03fd('0x2f')](_0x41f410);return _0x2f5208['set'](_0x03fd('0x34'),_0x167743+'-'+_0x2c382f+'/'+_0x26c5f7)[_0x03fd('0x31')](_0x493403);}return null;};}function patchUpdates(_0x557240){return function(_0x5485f6){try{jsonpatch[_0x03fd('0x35')](_0x5485f6,_0x557240,!![]);}catch(_0x16e95f){return BPromise[_0x03fd('0x36')](_0x16e95f);}return _0x5485f6[_0x03fd('0x37')]();};}function saveUpdates(_0x281db7,_0x903358){return function(_0x4ccccd){if(_0x4ccccd){return _0x4ccccd[_0x03fd('0x38')](_0x281db7)[_0x03fd('0x39')](function(_0xb49a06){return _0xb49a06;});}return null;};}function removeEntity(_0x44ffd9,_0x4d544b){return function(_0x20708e){if(_0x20708e){return _0x20708e[_0x03fd('0x3a')]()[_0x03fd('0x39')](function(){_0x44ffd9[_0x03fd('0x2f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x927b07,_0x2a28c9){return function(_0x5ce678){if(!_0x5ce678){_0x927b07[_0x03fd('0x2e')](0x194);}return _0x5ce678;};}function handleError(_0x2a3f8d,_0x378861){_0x378861=_0x378861||0x1f4;return function(_0x575790){logger[_0x03fd('0x29')](_0x575790[_0x03fd('0x3b')]);if(_0x575790['name']){delete _0x575790[_0x03fd('0x3c')];}_0x2a3f8d['status'](_0x378861)['send'](_0x575790);};}exports[_0x03fd('0x3d')]=function(_0x1972d0,_0x175828){var _0x20fdfa={},_0x67c890={},_0x2cefc6={'count':0x0,'rows':[]};var _0x283373=_[_0x03fd('0x3e')](db[_0x03fd('0x3f')][_0x03fd('0x40')],function(_0x1a2eac){return{'name':_0x1a2eac[_0x03fd('0x41')],'type':_0x1a2eac[_0x03fd('0x42')][_0x03fd('0x43')]};});_0x67c890[_0x03fd('0x44')]=_[_0x03fd('0x3e')](_0x283373,_0x03fd('0x3c'));_0x67c890[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x1972d0[_0x03fd('0x45')]);_0x67c890[_0x03fd('0x47')]=_['intersection'](_0x67c890[_0x03fd('0x44')],_0x67c890[_0x03fd('0x45')]);_0x20fdfa['attributes']=_[_0x03fd('0x48')](_0x67c890[_0x03fd('0x44')],qs[_0x03fd('0x49')](_0x1972d0[_0x03fd('0x45')][_0x03fd('0x49')]));_0x20fdfa[_0x03fd('0x4a')]=_0x20fdfa[_0x03fd('0x4a')]['length']?_0x20fdfa[_0x03fd('0x4a')]:_0x67c890[_0x03fd('0x44')];if(!_0x1972d0[_0x03fd('0x45')][_0x03fd('0x4b')](_0x03fd('0x4c'))){_0x20fdfa[_0x03fd('0x33')]=qs['limit'](_0x1972d0[_0x03fd('0x45')]['limit']);_0x20fdfa['offset']=qs[_0x03fd('0x32')](_0x1972d0[_0x03fd('0x45')][_0x03fd('0x32')]);}_0x20fdfa[_0x03fd('0x4d')]=qs[_0x03fd('0x4e')](_0x1972d0['query']['sort']);_0x20fdfa[_0x03fd('0x4f')]=qs['filters'](_[_0x03fd('0x50')](_0x1972d0[_0x03fd('0x45')],_0x67c890[_0x03fd('0x47')]),_0x283373);if(_0x1972d0[_0x03fd('0x45')][_0x03fd('0x51')]){_0x20fdfa[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x20fdfa[_0x03fd('0x4f')],{'$or':_[_0x03fd('0x3e')](_0x283373,function(_0x421169){if(_0x421169[_0x03fd('0x42')]!==_0x03fd('0x53')){var _0x2b420a={};_0x2b420a[_0x421169[_0x03fd('0x3c')]]={'$like':'%'+_0x1972d0[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x2b420a;}})});}_0x20fdfa=_['merge']({},_0x20fdfa,_0x1972d0[_0x03fd('0x54')]);var _0x1de314={'where':_0x20fdfa[_0x03fd('0x4f')]};return db[_0x03fd('0x3f')]['count'](_0x1de314)['then'](function(_0x7c4abc){_0x2cefc6['count']=_0x7c4abc;if(_0x1972d0[_0x03fd('0x45')]['includeAll']){_0x20fdfa[_0x03fd('0x55')]=[{'all':!![]}];}return db[_0x03fd('0x3f')][_0x03fd('0x56')](_0x20fdfa);})['then'](function(_0x505ee1){_0x2cefc6[_0x03fd('0x57')]=_0x505ee1;return _0x2cefc6;})[_0x03fd('0x39')](respondWithFilteredResult(_0x175828,_0x20fdfa))['catch'](handleError(_0x175828,null));};exports['show']=function(_0x3f7114,_0x24b08a){var _0x4cf57d={'raw':!![],'where':{'id':_0x3f7114[_0x03fd('0x58')]['id']}},_0x3c1eac={};_0x3c1eac['model']=_[_0x03fd('0x46')](db[_0x03fd('0x3f')]['rawAttributes']);_0x3c1eac[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x3f7114[_0x03fd('0x45')]);_0x3c1eac[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x3c1eac['model'],_0x3c1eac['query']);_0x4cf57d[_0x03fd('0x4a')]=_[_0x03fd('0x48')](_0x3c1eac['model'],qs['fields'](_0x3f7114[_0x03fd('0x45')][_0x03fd('0x49')]));_0x4cf57d[_0x03fd('0x4a')]=_0x4cf57d['attributes']['length']?_0x4cf57d['attributes']:_0x3c1eac[_0x03fd('0x44')];if(_0x3f7114[_0x03fd('0x45')][_0x03fd('0x59')]){_0x4cf57d[_0x03fd('0x55')]=[{'all':!![]}];}_0x4cf57d=_[_0x03fd('0x52')]({},_0x4cf57d,_0x3f7114['options']);return db[_0x03fd('0x3f')][_0x03fd('0x5a')](_0x4cf57d)[_0x03fd('0x39')](handleEntityNotFound(_0x24b08a,null))['then'](respondWithResult(_0x24b08a,null))[_0x03fd('0x2d')](handleError(_0x24b08a,null));};exports[_0x03fd('0x5b')]=function(_0x26723f,_0x456b01){return db['ChatGroup'][_0x03fd('0x5b')](_0x26723f[_0x03fd('0x5c')],{})[_0x03fd('0x39')](respondWithResult(_0x456b01,0xc9))['catch'](handleError(_0x456b01,null));};exports['update']=function(_0x4614e7,_0x1f258d){if(_0x4614e7[_0x03fd('0x5c')]['id']){delete _0x4614e7[_0x03fd('0x5c')]['id'];}return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x4614e7[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x1f258d,null))[_0x03fd('0x39')](saveUpdates(_0x4614e7[_0x03fd('0x5c')],null))['then'](respondWithResult(_0x1f258d,null))[_0x03fd('0x2d')](handleError(_0x1f258d,null));};exports[_0x03fd('0x3a')]=function(_0x36f0b1,_0x4d1779){return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x36f0b1[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x4d1779,null))['then'](removeEntity(_0x4d1779,null))['catch'](handleError(_0x4d1779,null));};exports[_0x03fd('0x5d')]=function(_0x730f1,_0x220396){return db['ChatGroup']['describe']()[_0x03fd('0x39')](respondWithResult(_0x220396,null))[_0x03fd('0x2d')](handleError(_0x220396,null));};exports[_0x03fd('0x5e')]=function(_0x440093,_0x1a8f17,_0x32c14c){return db[_0x03fd('0x5f')][_0x03fd('0x60')]({'where':{'ChatGroupId':_0x440093[_0x03fd('0x58')]['id'],'ToId':_0x440093[_0x03fd('0x61')]['id'],'read':![]}})[_0x03fd('0x39')](function(_0x536ed6){return{'id':_['toInteger'](_0x440093[_0x03fd('0x58')]['id']),'count':_0x536ed6};})['then'](respondWithResult(_0x1a8f17,null))[_0x03fd('0x2d')](handleError(_0x1a8f17,null));};exports[_0x03fd('0x62')]=function(_0x36fbe,_0x2c8b20,_0xfc7996){return db[_0x03fd('0x3f')]['find']({'where':{'id':_0x36fbe[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x2c8b20,null))[_0x03fd('0x39')](function(_0x537358){if(_0x537358){return _0x537358[_0x03fd('0x62')](_0x36fbe[_0x03fd('0x5c')][_0x03fd('0x63')],_['omit'](_0x36fbe[_0x03fd('0x5c')],[_0x03fd('0x63'),'id'])||{});}})['then'](respondWithResult(_0x2c8b20,null))['catch'](handleError(_0x2c8b20,null));};exports[_0x03fd('0x64')]=function(_0x42f877,_0x38676f,_0xb63119){var _0x2d49e2={};var _0x307a18={};var _0x1899f1;var _0x4508b0;return db['ChatGroup'][_0x03fd('0x65')]({'where':{'id':_0x42f877[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x38676f,null))[_0x03fd('0x39')](function(_0x45fa23){if(_0x45fa23){_0x1899f1=_0x45fa23;_0x307a18[_0x03fd('0x44')]=_[_0x03fd('0x46')](db[_0x03fd('0x66')][_0x03fd('0x40')]);_0x307a18[_0x03fd('0x45')]=_[_0x03fd('0x46')](_0x42f877[_0x03fd('0x45')]);_0x307a18[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x307a18[_0x03fd('0x44')],_0x307a18[_0x03fd('0x45')]);_0x2d49e2[_0x03fd('0x4a')]=_[_0x03fd('0x48')](_0x307a18['model'],qs[_0x03fd('0x49')](_0x42f877[_0x03fd('0x45')][_0x03fd('0x49')]));_0x2d49e2['attributes']=_0x2d49e2[_0x03fd('0x4a')][_0x03fd('0x67')]?_0x2d49e2[_0x03fd('0x4a')]:_0x307a18[_0x03fd('0x44')];_0x2d49e2['order']=qs[_0x03fd('0x4e')](_0x42f877[_0x03fd('0x45')]['sort']);_0x2d49e2[_0x03fd('0x4f')]=qs['filters'](_[_0x03fd('0x50')](_0x42f877[_0x03fd('0x45')],_0x307a18[_0x03fd('0x47')]));if(_0x42f877[_0x03fd('0x45')][_0x03fd('0x51')]){_0x2d49e2[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x2d49e2[_0x03fd('0x4f')],{'$or':_[_0x03fd('0x3e')](_0x2d49e2[_0x03fd('0x4a')],function(_0x2ab9b0){var _0x4caed8={};_0x4caed8[_0x2ab9b0]={'$like':'%'+_0x42f877[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x4caed8;})});}_0x2d49e2=_[_0x03fd('0x52')]({},_0x2d49e2,_0x42f877[_0x03fd('0x54')]);return _0x1899f1['getMembers'](_0x2d49e2);}})[_0x03fd('0x39')](function(_0x84528d){if(_0x84528d){_0x4508b0=_0x84528d['length'];if(!_0x42f877[_0x03fd('0x45')][_0x03fd('0x4b')](_0x03fd('0x4c'))){_0x2d49e2[_0x03fd('0x33')]=qs[_0x03fd('0x33')](_0x42f877['query'][_0x03fd('0x33')]);_0x2d49e2[_0x03fd('0x32')]=qs[_0x03fd('0x32')](_0x42f877['query'][_0x03fd('0x32')]);}return _0x1899f1[_0x03fd('0x64')](_0x2d49e2);}})[_0x03fd('0x39')](function(_0x39aeea){if(_0x39aeea){return _0x39aeea?{'count':_0x4508b0,'rows':_0x39aeea}:null;}})[_0x03fd('0x39')](respondWithResult(_0x38676f,null))[_0x03fd('0x2d')](handleError(_0x38676f,null));};exports['removeMembers']=function(_0x770b80,_0x50dc1b,_0x1855cc){return db['ChatGroup']['find']({'where':{'id':_0x770b80[_0x03fd('0x58')]['id']}})['then'](handleEntityNotFound(_0x50dc1b,null))[_0x03fd('0x39')](function(_0x5e34f4){if(_0x5e34f4){return _0x5e34f4[_0x03fd('0x68')](_0x770b80[_0x03fd('0x45')][_0x03fd('0x63')]);}})[_0x03fd('0x39')](respondWithStatusCode(_0x50dc1b,null))[_0x03fd('0x2d')](handleError(_0x50dc1b,null));};exports[_0x03fd('0x69')]=function(_0x2c86fb,_0x2f2f23,_0x48d748){if(_0x2c86fb[_0x03fd('0x5c')]['id']){delete _0x2c86fb[_0x03fd('0x5c')]['id'];}return db[_0x03fd('0x3f')][_0x03fd('0x5a')]({'where':{'id':_0x2c86fb[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x2f2f23,null))[_0x03fd('0x39')](function(_0x3b797a){if(_0x3b797a){_0x2c86fb[_0x03fd('0x5c')][_0x03fd('0x6a')]=_0x3b797a['id'];return db[_0x03fd('0x5f')][_0x03fd('0x5b')](_0x2c86fb[_0x03fd('0x5c')]);}})[_0x03fd('0x39')](respondWithResult(_0x2f2f23,null))[_0x03fd('0x2d')](handleError(_0x2f2f23,null));};exports[_0x03fd('0x6b')]=function(_0x3af2bf,_0x29bfda,_0x5056d2){var _0x4bf539={};var _0x31e12a={};var _0x1741db;var _0x58cbcf;return db[_0x03fd('0x3f')][_0x03fd('0x65')]({'where':{'id':_0x3af2bf[_0x03fd('0x58')]['id']}})[_0x03fd('0x39')](handleEntityNotFound(_0x29bfda,null))[_0x03fd('0x39')](function(_0x1ddfeb){if(_0x1ddfeb){_0x1741db=_0x1ddfeb;_0x31e12a['model']=_['keys'](db[_0x03fd('0x5f')]['rawAttributes']);_0x31e12a['query']=_[_0x03fd('0x46')](_0x3af2bf[_0x03fd('0x45')]);_0x31e12a[_0x03fd('0x47')]=_[_0x03fd('0x48')](_0x31e12a[_0x03fd('0x44')],_0x31e12a[_0x03fd('0x45')]);_0x4bf539['attributes']=_['intersection'](_0x31e12a[_0x03fd('0x44')],qs[_0x03fd('0x49')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x49')]));_0x4bf539[_0x03fd('0x4a')]=_0x4bf539['attributes']['length']?_0x4bf539[_0x03fd('0x4a')]:_0x31e12a[_0x03fd('0x44')];_0x4bf539[_0x03fd('0x4d')]=qs[_0x03fd('0x4e')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x4e')]);_0x4bf539[_0x03fd('0x4f')]=qs[_0x03fd('0x47')](_[_0x03fd('0x50')](_0x3af2bf['query'],_0x31e12a[_0x03fd('0x47')]));if(_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x51')]){_0x4bf539[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x4bf539[_0x03fd('0x4f')],{'$or':_['map'](_0x4bf539[_0x03fd('0x4a')],function(_0x17f48c){var _0x369dab={};_0x369dab[_0x17f48c]={'$like':'%'+_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x51')]+'%'};return _0x369dab;})});}if(_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x6c')]){var _0x16e590=_0x3af2bf[_0x03fd('0x45')]['$gte'][_0x03fd('0x6d')](',');var _0x20b820={};_0x20b820[_0x16e590[0x0]]={'$gte':moment(_0x16e590[0x1])['format'](_0x03fd('0x6e'))};_0x4bf539[_0x03fd('0x4f')]=_[_0x03fd('0x52')](_0x4bf539[_0x03fd('0x4f')],_0x20b820);}_0x4bf539=_[_0x03fd('0x52')]({},_0x4bf539,_0x3af2bf['options']);return _0x1741db['getMessages'](_0x4bf539);}})[_0x03fd('0x39')](function(_0x3f407b){if(_0x3f407b){_0x58cbcf=_0x3f407b[_0x03fd('0x67')];if(!_0x3af2bf[_0x03fd('0x45')]['hasOwnProperty'](_0x03fd('0x4c'))){_0x4bf539['limit']=qs[_0x03fd('0x33')](_0x3af2bf[_0x03fd('0x45')][_0x03fd('0x33')]);_0x4bf539['offset']=qs[_0x03fd('0x32')](_0x3af2bf[_0x03fd('0x45')]['offset']);}return _0x1741db[_0x03fd('0x6b')](_0x4bf539);}})[_0x03fd('0x39')](function(_0xd8e40){if(_0xd8e40){return _0xd8e40?{'count':_0x58cbcf,'rows':_0xd8e40}:null;}})[_0x03fd('0x39')](respondWithResult(_0x29bfda,null))['catch'](handleError(_0x29bfda,null));};