Built motion from commit (unavailable).|2.5.14
[motion2.git] / server / api / cmList / cmList.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 _0x7559=['cf_%d','pick','raw','getContactsCsv','getContacts','isEmpty','writeFileSync','Content-disposition','list_%d_%s.csv','setHeader','Content-type','text/csv','findOne','sequelize','transaction','CmCustomField','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','queryInterface','addColumn','cm_contacts','getCustomFields','findAndCountAll','addAgents','omit','spread','emit','removeAgents','userCmList:remove','getAgents','User','html-pdf','eml-format','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','redis','defaults','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Lists','UserProfileResource','error','stack','name','send','map','CmList','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','merge','where','VIRTUAL','options','includeAll','rows','catch','show','params','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','describe','ListId','Disposition','getDispositions','include','findAll','removeDispositions','addContacts','CmContact','tags','isArray','join','each','ids','success','push','errors','message','Malformed\x20request\x20syntax','CustomFields','concat','format'];(function(_0x52980f,_0x47b3b0){var _0x1f52a1=function(_0x51dd63){while(--_0x51dd63){_0x52980f['push'](_0x52980f['shift']());}};_0x1f52a1(++_0x47b3b0);}(_0x7559,0x144));var _0x9755=function(_0x2fe1eb,_0x1b1cd8){_0x2fe1eb=_0x2fe1eb-0x0;var _0x20299e=_0x7559[_0x2fe1eb];return _0x20299e;};'use strict';var pdf=require(_0x9755('0x0'));var emlformat=require(_0x9755('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x9755('0x2'));var rp=require('request-promise');var moment=require(_0x9755('0x3'));var BPromise=require(_0x9755('0x4'));var Mustache=require(_0x9755('0x5'));var util=require(_0x9755('0x6'));var path=require(_0x9755('0x7'));var sox=require(_0x9755('0x8'));var csv=require(_0x9755('0x9'));var ejs=require(_0x9755('0xa'));var fs=require('fs');var _=require(_0x9755('0xb'));var squel=require('squel');var crypto=require(_0x9755('0xc'));var jsforce=require(_0x9755('0xd'));var deskjs=require(_0x9755('0xe'));var toCsv=require(_0x9755('0x9'));var querystring=require(_0x9755('0xf'));var Papa=require(_0x9755('0x10'));var Redis=require('ioredis');var authService=require(_0x9755('0x11'));var qs=require(_0x9755('0x12'));var as=require(_0x9755('0x13'));var hardwareService=require(_0x9755('0x14'));var logger=require(_0x9755('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x9755('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x9755('0x17')]=_[_0x9755('0x18')](config[_0x9755('0x17')],{'host':_0x9755('0x19'),'port':0x18eb});var socket=require(_0x9755('0x1a'))(new Redis(config[_0x9755('0x17')]));require(_0x9755('0x1b'))[_0x9755('0x1c')](socket);function respondWithStatusCode(_0x20289c,_0x34f664){_0x34f664=_0x34f664||0xcc;return function(_0x112a33){if(_0x112a33){return _0x20289c[_0x9755('0x1d')](_0x34f664);}return _0x20289c[_0x9755('0x1e')](_0x34f664)[_0x9755('0x1f')]();};}function respondWithResult(_0x2de020,_0x27de67){_0x27de67=_0x27de67||0xc8;return function(_0x25f096){if(_0x25f096){return _0x2de020[_0x9755('0x1e')](_0x27de67)[_0x9755('0x20')](_0x25f096);}};}function respondWithFilteredResult(_0xfe5def,_0x53b4a0){return function(_0x3c7e98){if(_0x3c7e98){var _0x114805=_0x3c7e98[_0x9755('0x21')],_0x5197b4=_0x53b4a0[_0x9755('0x22')],_0xd6073f=_0x53b4a0[_0x9755('0x22')]+_0x53b4a0[_0x9755('0x23')],_0x51d9ec;if(_0xd6073f>=_0x114805){_0xd6073f=_0x114805;_0x51d9ec=0xc8;}else{_0x51d9ec=0xce;}_0xfe5def['status'](_0x51d9ec);return _0xfe5def[_0x9755('0x24')](_0x9755('0x25'),_0x5197b4+'-'+_0xd6073f+'/'+_0x114805)[_0x9755('0x20')](_0x3c7e98);}return null;};}function patchUpdates(_0x2fedf4){return function(_0x1a1125){try{jsonpatch[_0x9755('0x26')](_0x1a1125,_0x2fedf4,!![]);}catch(_0x46a8d6){return BPromise[_0x9755('0x27')](_0x46a8d6);}return _0x1a1125[_0x9755('0x28')]();};}function saveUpdates(_0x20184b,_0x46e681){return function(_0x33619b){if(_0x33619b){return _0x33619b[_0x9755('0x29')](_0x20184b)[_0x9755('0x2a')](function(_0x2070c7){return _0x2070c7;});}return null;};}function removeEntity(_0x561126,_0x545692){return function(_0x1d8e7a){if(_0x1d8e7a){return _0x1d8e7a[_0x9755('0x2b')]()[_0x9755('0x2a')](function(){var _0x3a300f=_0x1d8e7a[_0x9755('0x2c')]({'plain':!![]});var _0x509c1f=_0x9755('0x2d');return db[_0x9755('0x2e')][_0x9755('0x2b')]({'where':{'type':_0x509c1f,'resourceId':_0x3a300f['id']}})[_0x9755('0x2a')](function(){return _0x1d8e7a;});})['then'](function(){_0x561126[_0x9755('0x1e')](0xcc)[_0x9755('0x1f')]();});}};}function handleEntityNotFound(_0x5b975b,_0x29a729){return function(_0x40bbd1){if(!_0x40bbd1){_0x5b975b[_0x9755('0x1d')](0x194);}return _0x40bbd1;};}function handleError(_0x1ab964,_0xef4efe){_0xef4efe=_0xef4efe||0x1f4;return function(_0x376143){logger[_0x9755('0x2f')](_0x376143[_0x9755('0x30')]);if(_0x376143[_0x9755('0x31')]){delete _0x376143[_0x9755('0x31')];}_0x1ab964['status'](_0xef4efe)[_0x9755('0x32')](_0x376143);};}exports['index']=function(_0x56df1c,_0x52838a){var _0x48208b={},_0x45fc51={},_0x215b90={'count':0x0,'rows':[]};var _0x32d62f=_[_0x9755('0x33')](db[_0x9755('0x34')][_0x9755('0x35')],function(_0x720344){return{'name':_0x720344['fieldName'],'type':_0x720344[_0x9755('0x36')][_0x9755('0x37')]};});_0x45fc51[_0x9755('0x38')]=_[_0x9755('0x33')](_0x32d62f,_0x9755('0x31'));_0x45fc51[_0x9755('0x39')]=_[_0x9755('0x3a')](_0x56df1c['query']);_0x45fc51[_0x9755('0x3b')]=_[_0x9755('0x3c')](_0x45fc51[_0x9755('0x38')],_0x45fc51[_0x9755('0x39')]);_0x48208b[_0x9755('0x3d')]=_[_0x9755('0x3c')](_0x45fc51['model'],qs[_0x9755('0x3e')](_0x56df1c['query']['fields']));_0x48208b[_0x9755('0x3d')]=_0x48208b['attributes'][_0x9755('0x3f')]?_0x48208b['attributes']:_0x45fc51['model'];if(!_0x56df1c[_0x9755('0x39')][_0x9755('0x40')](_0x9755('0x41'))){_0x48208b[_0x9755('0x23')]=qs[_0x9755('0x23')](_0x56df1c[_0x9755('0x39')][_0x9755('0x23')]);_0x48208b[_0x9755('0x22')]=qs[_0x9755('0x22')](_0x56df1c[_0x9755('0x39')][_0x9755('0x22')]);}_0x48208b[_0x9755('0x42')]=qs[_0x9755('0x43')](_0x56df1c['query'][_0x9755('0x43')]);_0x48208b['where']=qs[_0x9755('0x3b')](_['pick'](_0x56df1c['query'],_0x45fc51[_0x9755('0x3b')]),_0x32d62f);if(_0x56df1c[_0x9755('0x39')][_0x9755('0x44')]){_0x48208b['where']=_[_0x9755('0x45')](_0x48208b[_0x9755('0x46')],{'$or':_[_0x9755('0x33')](_0x32d62f,function(_0x5bf2b8){if(_0x5bf2b8[_0x9755('0x36')]!==_0x9755('0x47')){var _0x3d5a02={};_0x3d5a02[_0x5bf2b8[_0x9755('0x31')]]={'$like':'%'+_0x56df1c[_0x9755('0x39')][_0x9755('0x44')]+'%'};return _0x3d5a02;}})});}_0x48208b=_[_0x9755('0x45')]({},_0x48208b,_0x56df1c[_0x9755('0x48')]);var _0x569367={'where':_0x48208b[_0x9755('0x46')]};return db['CmList'][_0x9755('0x21')](_0x569367)[_0x9755('0x2a')](function(_0x2cf07d){_0x215b90['count']=_0x2cf07d;if(_0x56df1c[_0x9755('0x39')][_0x9755('0x49')]){_0x48208b['include']=[{'all':!![]}];}return db[_0x9755('0x34')]['findAll'](_0x48208b);})[_0x9755('0x2a')](function(_0x15ce04){_0x215b90[_0x9755('0x4a')]=_0x15ce04;return _0x215b90;})['then'](respondWithFilteredResult(_0x52838a,_0x48208b))[_0x9755('0x4b')](handleError(_0x52838a,null));};exports[_0x9755('0x4c')]=function(_0x1fd1a5,_0x41b8a1){var _0x112ed1={'raw':![],'where':{'id':_0x1fd1a5[_0x9755('0x4d')]['id']}},_0x434f5b={};_0x434f5b[_0x9755('0x38')]=_[_0x9755('0x3a')](db['CmList'][_0x9755('0x35')]);_0x434f5b[_0x9755('0x39')]=_['keys'](_0x1fd1a5[_0x9755('0x39')]);_0x434f5b['filters']=_['intersection'](_0x434f5b[_0x9755('0x38')],_0x434f5b[_0x9755('0x39')]);_0x112ed1[_0x9755('0x3d')]=_['intersection'](_0x434f5b[_0x9755('0x38')],qs[_0x9755('0x3e')](_0x1fd1a5[_0x9755('0x39')][_0x9755('0x3e')]));_0x112ed1[_0x9755('0x3d')]=_0x112ed1[_0x9755('0x3d')][_0x9755('0x3f')]?_0x112ed1['attributes']:_0x434f5b['model'];if(_0x1fd1a5[_0x9755('0x39')]['includeAll']){_0x112ed1['include']=[{'all':!![]}];}_0x112ed1=_[_0x9755('0x45')]({},_0x112ed1,_0x1fd1a5[_0x9755('0x48')]);return db[_0x9755('0x34')][_0x9755('0x4e')](_0x112ed1)[_0x9755('0x2a')](handleEntityNotFound(_0x41b8a1,null))[_0x9755('0x2a')](respondWithResult(_0x41b8a1,null))[_0x9755('0x4b')](handleError(_0x41b8a1,null));};exports[_0x9755('0x4f')]=function(_0x510afe,_0x736232){return db[_0x9755('0x34')]['create'](_0x510afe[_0x9755('0x50')],{})[_0x9755('0x2a')](function(_0x4bac41){var _0x92206b=_0x510afe[_0x9755('0x51')][_0x9755('0x2c')]({'plain':!![]});if(!_0x92206b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x92206b[_0x9755('0x52')]===_0x9755('0x51')){var _0x1ef78a=_0x4bac41[_0x9755('0x2c')]({'plain':!![]});var _0x18ee2e=_0x9755('0x2d');return db[_0x9755('0x53')][_0x9755('0x4e')]({'where':{'name':_0x18ee2e,'userProfileId':_0x92206b[_0x9755('0x54')]},'raw':!![]})[_0x9755('0x2a')](function(_0x292116){if(_0x292116&&_0x292116[_0x9755('0x55')]===0x0){return db['UserProfileResource'][_0x9755('0x4f')]({'name':_0x1ef78a[_0x9755('0x31')],'resourceId':_0x1ef78a['id'],'type':_0x292116[_0x9755('0x31')],'sectionId':_0x292116['id']},{})[_0x9755('0x2a')](function(){return _0x4bac41;});}else{return _0x4bac41;}})[_0x9755('0x4b')](function(_0xa537e4){logger[_0x9755('0x2f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xa537e4);throw _0xa537e4;});}return _0x4bac41;})[_0x9755('0x2a')](respondWithResult(_0x736232,0xc9))['catch'](handleError(_0x736232,null));};exports['update']=function(_0x18413a,_0x44ebc4){if(_0x18413a[_0x9755('0x50')]['id']){delete _0x18413a[_0x9755('0x50')]['id'];}return db[_0x9755('0x34')]['find']({'where':{'id':_0x18413a[_0x9755('0x4d')]['id']}})['then'](handleEntityNotFound(_0x44ebc4,null))['then'](saveUpdates(_0x18413a['body'],null))['then'](respondWithResult(_0x44ebc4,null))[_0x9755('0x4b')](handleError(_0x44ebc4,null));};exports[_0x9755('0x2b')]=function(_0xdf1050,_0x255044){return db[_0x9755('0x34')]['find']({'where':{'id':_0xdf1050[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x255044,null))['then'](removeEntity(_0x255044,null))['catch'](handleError(_0x255044,null));};exports[_0x9755('0x56')]=function(_0x3a046f,_0x2471ba){return db[_0x9755('0x34')][_0x9755('0x56')]()['then'](respondWithResult(_0x2471ba,null))['catch'](handleError(_0x2471ba,null));};exports['addDisposition']=function(_0x49a8bc,_0x9889e7,_0x566ccf){if(_0x49a8bc[_0x9755('0x50')]['id']){delete _0x49a8bc[_0x9755('0x50')]['id'];}return db['CmList'][_0x9755('0x4e')]({'where':{'id':_0x49a8bc[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x9889e7,null))['then'](function(_0x2b9759){if(_0x2b9759){_0x49a8bc[_0x9755('0x50')][_0x9755('0x57')]=_0x2b9759['id'];return db[_0x9755('0x58')][_0x9755('0x4f')](_0x49a8bc[_0x9755('0x50')]);}})[_0x9755('0x2a')](respondWithResult(_0x9889e7,null))[_0x9755('0x4b')](handleError(_0x9889e7,null));};exports[_0x9755('0x59')]=function(_0x34ab81,_0x5ce0f3,_0x2d2bbc){var _0x53102d={'raw':![],'where':{}};var _0x1c6f83={};var _0x4b7a41={'count':0x0,'rows':[]};return db[_0x9755('0x34')]['findOne']({'where':{'id':_0x34ab81['params']['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x5ce0f3,null))[_0x9755('0x2a')](function(_0x10cdca){if(_0x10cdca){_0x1c6f83[_0x9755('0x38')]=_[_0x9755('0x3a')](db[_0x9755('0x58')]['rawAttributes']);_0x1c6f83[_0x9755('0x39')]=_[_0x9755('0x3a')](_0x34ab81[_0x9755('0x39')]);_0x1c6f83[_0x9755('0x3b')]=_[_0x9755('0x3c')](_0x1c6f83[_0x9755('0x38')],_0x1c6f83[_0x9755('0x39')]);_0x53102d['attributes']=_['intersection'](_0x1c6f83[_0x9755('0x38')],qs[_0x9755('0x3e')](_0x34ab81[_0x9755('0x39')]['fields']));_0x53102d[_0x9755('0x3d')]=_0x53102d[_0x9755('0x3d')][_0x9755('0x3f')]?_0x53102d[_0x9755('0x3d')]:_0x1c6f83[_0x9755('0x38')];if(!_0x34ab81[_0x9755('0x39')]['hasOwnProperty'](_0x9755('0x41'))){_0x53102d[_0x9755('0x23')]=qs[_0x9755('0x23')](_0x34ab81['query']['limit']);_0x53102d['offset']=qs[_0x9755('0x22')](_0x34ab81['query']['offset']);}_0x53102d[_0x9755('0x42')]=qs[_0x9755('0x43')](_0x34ab81[_0x9755('0x39')][_0x9755('0x43')]);_0x53102d['where']=qs[_0x9755('0x3b')](_['pick'](_0x34ab81['query'],_0x1c6f83['filters']));_0x53102d[_0x9755('0x46')]['ListId']=_0x10cdca['id'];if(_0x34ab81[_0x9755('0x39')][_0x9755('0x44')]){_0x53102d[_0x9755('0x46')]=_[_0x9755('0x45')](_0x53102d[_0x9755('0x46')],{'$or':_[_0x9755('0x33')](_0x53102d[_0x9755('0x3d')],function(_0x28afe8){var _0x4c7a49={};_0x4c7a49[_0x28afe8]={'$like':'%'+_0x34ab81['query'][_0x9755('0x44')]+'%'};return _0x4c7a49;})});}_0x53102d=_[_0x9755('0x45')]({},_0x53102d,_0x34ab81[_0x9755('0x48')]);return db['Disposition'][_0x9755('0x21')]({'where':_0x53102d[_0x9755('0x46')]})['then'](function(_0x8d2b5c){_0x4b7a41['count']=_0x8d2b5c;if(_0x34ab81[_0x9755('0x39')]['includeAll']){_0x53102d[_0x9755('0x5a')]=[{'all':!![]}];}return db[_0x9755('0x58')][_0x9755('0x5b')](_0x53102d);})[_0x9755('0x2a')](function(_0x3a903e){_0x4b7a41[_0x9755('0x4a')]=_0x3a903e;return _0x4b7a41;});}})[_0x9755('0x2a')](respondWithFilteredResult(_0x5ce0f3,_0x53102d))[_0x9755('0x4b')](handleError(_0x5ce0f3,null));};exports[_0x9755('0x5c')]=function(_0x7f830b,_0x51e43d,_0x34e255){return db[_0x9755('0x34')][_0x9755('0x4e')]({'where':{'id':_0x7f830b[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x51e43d,null))[_0x9755('0x2a')](function(_0x24dd74){if(_0x24dd74){return _0x24dd74[_0x9755('0x5c')](_0x7f830b['query']['ids']);}})[_0x9755('0x2a')](respondWithStatusCode(_0x51e43d,null))[_0x9755('0x4b')](handleError(_0x51e43d,null));};exports[_0x9755('0x5d')]=function(_0x14a709,_0x5dca4c,_0x24b82e){return db[_0x9755('0x34')]['find']({'where':{'id':_0x14a709[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x5dca4c,null))['then'](function(_0x526b8a){if(_0x526b8a){var _0x1e6f28=[];var _0x31c39b={'success':[],'errors':[]};return db[_0x9755('0x5e')]['describe']()[_0x9755('0x2a')](function(_0x3c532f){if(_0x14a709['body'][_0x9755('0x5f')]&&_[_0x9755('0x60')](_0x14a709[_0x9755('0x50')][_0x9755('0x5f')])){if(_0x14a709[_0x9755('0x50')][_0x9755('0x5f')][_0x9755('0x3f')]){_0x14a709['body'][_0x9755('0x5f')]=_0x14a709[_0x9755('0x50')][_0x9755('0x5f')][_0x9755('0x61')](';')+';';}else{_0x14a709['body'][_0x9755('0x5f')]=null;}}else{_0x14a709[_0x9755('0x50')][_0x9755('0x5f')]=null;}if(_0x14a709[_0x9755('0x50')]&&_[_0x9755('0x60')](_0x14a709[_0x9755('0x50')])){for(var _0x1d5d6b=0x0;_0x1d5d6b<_0x14a709[_0x9755('0x50')][_0x9755('0x3f')];_0x1d5d6b+=0x1){_0x14a709[_0x9755('0x50')][_0x1d5d6b][_0x9755('0x57')]=_0x14a709[_0x9755('0x4d')]['id'];_0x1e6f28['push'](_0x14a709[_0x9755('0x50')][_0x1d5d6b]);}return BPromise[_0x9755('0x62')](_0x1e6f28,function(_0x57cbda){return db[_0x9755('0x5e')][_0x9755('0x4f')](_['omit'](_0x57cbda,[_0x9755('0x63'),'id'])||{},{'fields':_[_0x9755('0x3a')](_0x3c532f),'raw':!![]})[_0x9755('0x2a')](function(_0x30b6c5){_0x31c39b[_0x9755('0x64')][_0x9755('0x65')](_0x30b6c5['dataValues']);})['catch'](function(_0x51a0d2){_0x31c39b[_0x9755('0x66')][_0x9755('0x65')]({'data':_0x57cbda,'error':_0x51a0d2[_0x9755('0x67')]});});})[_0x9755('0x2a')](function(_0x574cef){return _0x31c39b;})[_0x9755('0x4b')](function(_0x8473d){return _0x8473d;});}else{_0x5dca4c['status'](0x190)[_0x9755('0x20')]({'message':_0x9755('0x68')});}});}})[_0x9755('0x2a')](respondWithResult(_0x5dca4c,null))[_0x9755('0x4b')](handleError(_0x5dca4c,null));};exports['getContacts']=function(_0x45b66a,_0x523219,_0xd795d5){var _0x436bf4;return db['CmList'][_0x9755('0x4e')]({'where':{'id':_0x45b66a[_0x9755('0x4d')]['id']},'include':[{'model':db['CmCustomField'],'as':_0x9755('0x69')}]})['then'](handleEntityNotFound(_0x523219,null))[_0x9755('0x2a')](function(_0x27d6f4){if(_0x27d6f4){_0x436bf4=_0x27d6f4;return db[_0x9755('0x5e')]['rawAttributes'];}})['then'](function(_0x1cb961){if(_0x1cb961){var _0x52bd03={};var _0x4c120b={};_0x4c120b[_0x9755('0x38')]=_[_0x9755('0x6a')](_[_0x9755('0x3a')](_0x1cb961),_[_0x9755('0x33')](_0x436bf4[_0x9755('0x69')],function(_0x352d7c){return util[_0x9755('0x6b')](_0x9755('0x6c'),_0x352d7c['id']);}));_0x4c120b[_0x9755('0x39')]=_[_0x9755('0x3a')](_0x45b66a[_0x9755('0x39')]);_0x4c120b[_0x9755('0x3b')]=_['intersection'](_0x4c120b[_0x9755('0x38')],_0x4c120b[_0x9755('0x39')]);_0x52bd03[_0x9755('0x3d')]=_[_0x9755('0x3c')](_0x4c120b[_0x9755('0x38')],qs[_0x9755('0x3e')](_0x45b66a['query']['fields']));_0x52bd03[_0x9755('0x3d')]=_0x52bd03['attributes'][_0x9755('0x3f')]?_0x52bd03['attributes']:_0x4c120b[_0x9755('0x38')];if(!_0x45b66a[_0x9755('0x39')][_0x9755('0x40')](_0x9755('0x41'))){_0x52bd03['limit']=qs['limit'](_0x45b66a['query'][_0x9755('0x23')]);_0x52bd03[_0x9755('0x22')]=qs[_0x9755('0x22')](_0x45b66a[_0x9755('0x39')]['offset']);}_0x52bd03[_0x9755('0x42')]=qs[_0x9755('0x43')](_0x45b66a[_0x9755('0x39')]['sort']);_0x52bd03[_0x9755('0x46')]=qs[_0x9755('0x3b')](_[_0x9755('0x6d')](_0x45b66a[_0x9755('0x39')],_0x4c120b['filters']));_0x52bd03[_0x9755('0x6e')]=!![];if(_0x45b66a[_0x9755('0x39')][_0x9755('0x44')]){_0x52bd03[_0x9755('0x46')]=_['merge'](_0x52bd03['where'],{'$or':_['map'](_0x52bd03['attributes'],function(_0x2389c9){var _0x358e6e={};_0x358e6e[_0x2389c9]={'$like':'%'+_0x45b66a[_0x9755('0x39')][_0x9755('0x44')]+'%'};return _0x358e6e;})});}_0x52bd03=_[_0x9755('0x45')]({},_0x52bd03,_0x45b66a['options']);return _0x436bf4['getContacts'](_0x52bd03);}})[_0x9755('0x2a')](respondWithResult(_0x523219,null))['catch'](handleError(_0x523219,null));};exports[_0x9755('0x6f')]=function(_0x1e8225,_0x1eb582,_0x1403f0){var _0x3004b3;return db[_0x9755('0x34')][_0x9755('0x4e')]({'where':{'id':_0x1e8225['params']['id']},'include':[{'model':db['CmCustomField'],'as':_0x9755('0x69')}]})[_0x9755('0x2a')](handleEntityNotFound(_0x1eb582,null))[_0x9755('0x2a')](function(_0x47c2a2){if(_0x47c2a2){_0x3004b3=_0x47c2a2;return db['CmContact']['rawAttributes'];}})[_0x9755('0x2a')](function(_0x16b596){if(_0x16b596){var _0x5c762c={};var _0x4f0e39={};_0x4f0e39['model']=_['concat'](_['keys'](_0x16b596),_[_0x9755('0x33')](_0x3004b3[_0x9755('0x69')],function(_0x10b085){return util[_0x9755('0x6b')](_0x9755('0x6c'),_0x10b085['id']);}));_0x4f0e39[_0x9755('0x39')]=_[_0x9755('0x3a')](_0x1e8225[_0x9755('0x39')]);_0x4f0e39[_0x9755('0x3b')]=_['intersection'](_0x4f0e39[_0x9755('0x38')],_0x4f0e39[_0x9755('0x39')]);_0x5c762c[_0x9755('0x3d')]=_[_0x9755('0x3c')](_0x4f0e39[_0x9755('0x38')],qs[_0x9755('0x3e')](_0x1e8225['query'][_0x9755('0x3e')]));_0x5c762c[_0x9755('0x3d')]=_0x5c762c[_0x9755('0x3d')][_0x9755('0x3f')]?_0x5c762c[_0x9755('0x3d')]:_0x4f0e39[_0x9755('0x38')];if(!_0x1e8225[_0x9755('0x39')][_0x9755('0x40')]('nolimit')){_0x5c762c['limit']=qs[_0x9755('0x23')](_0x1e8225[_0x9755('0x39')][_0x9755('0x23')]);_0x5c762c[_0x9755('0x22')]=qs[_0x9755('0x22')](_0x1e8225[_0x9755('0x39')]['offset']);}_0x5c762c[_0x9755('0x42')]=qs[_0x9755('0x43')](_0x1e8225['query']['sort']);_0x5c762c[_0x9755('0x46')]=qs[_0x9755('0x3b')](_[_0x9755('0x6d')](_0x1e8225[_0x9755('0x39')],_0x4f0e39['filters']));_0x5c762c[_0x9755('0x6e')]=!![];if(_0x1e8225[_0x9755('0x39')]['filter']){_0x5c762c[_0x9755('0x46')]=_[_0x9755('0x45')](_0x5c762c[_0x9755('0x46')],{'$or':_[_0x9755('0x33')](_0x5c762c[_0x9755('0x3d')],function(_0x1ef6d4){var _0x19ef2f={};_0x19ef2f[_0x1ef6d4]={'$like':'%'+_0x1e8225[_0x9755('0x39')]['filter']+'%'};return _0x19ef2f;})});}_0x5c762c=_[_0x9755('0x45')]({},_0x5c762c,_0x1e8225['options']);return _0x3004b3[_0x9755('0x70')](_0x5c762c);}})['then'](function(_0x55d060){if(!_[_0x9755('0x71')](_0x55d060)){var _0x4d488d=toCsv(_0x55d060);var _0x1843ae=Date['now']();fs[_0x9755('0x72')](util[_0x9755('0x6b')]('/tmp/list_%d_%s.csv',_0x3004b3['id'],_0x1843ae),_0x4d488d);_0x1eb582['setHeader'](_0x9755('0x73'),'attachment;\x20filename='+util[_0x9755('0x6b')](_0x9755('0x74'),_0x3004b3['id'],_0x1843ae));_0x1eb582[_0x9755('0x75')](_0x9755('0x76'),_0x9755('0x77'));return _0x1eb582['download'](util[_0x9755('0x6b')]('/tmp/list_%d_%s.csv',_0x3004b3['id'],_0x1843ae));}else{return _0x1eb582[_0x9755('0x1d')](0xcc);}})['catch'](handleError(_0x1eb582,null));};exports['addCustomField']=function(_0x4e3278,_0x392a10,_0x5798c1){var _0xc75b96;delete _0x4e3278[_0x9755('0x50')]['id'];return db[_0x9755('0x34')][_0x9755('0x78')]({'where':{'id':_0x4e3278['params']['id']}})['then'](handleEntityNotFound(_0x392a10,null))['then'](function(_0x4143a3){if(_0x4143a3){return db[_0x9755('0x79')][_0x9755('0x7a')](function(_0x48e7fd){return db[_0x9755('0x7b')][_0x9755('0x4f')](_0x4e3278[_0x9755('0x50')],{'transaction':_0x48e7fd})[_0x9755('0x2a')](function(_0x15379c){_0xc75b96=_0x15379c;return _0x4143a3['addCustomFields'](_0x15379c,{'transaction':_0x48e7fd});})[_0x9755('0x2a')](function(){var _0x3ef867={'type':db[_0x9755('0x7c')][_0x9755('0x7d')],'transaction':_0x48e7fd};switch(_0x4e3278[_0x9755('0x50')][_0x9755('0x36')]){case _0x9755('0x7e'):_0x3ef867[_0x9755('0x36')]=db[_0x9755('0x7c')][_0x9755('0x7d')];break;case _0x9755('0x7f'):_0x3ef867[_0x9755('0x36')]=db[_0x9755('0x7c')][_0x9755('0x80')];break;case _0x9755('0x81'):_0x3ef867[_0x9755('0x36')]=db[_0x9755('0x7c')][_0x9755('0x82')];_0x3ef867['defaultValue']=![];break;default:}return db[_0x9755('0x79')][_0x9755('0x83')][_0x9755('0x84')](_0x9755('0x85'),util[_0x9755('0x6b')]('cf_%s',_0xc75b96['id']),_0x3ef867);})[_0x9755('0x2a')](function(){return _0xc75b96;});});}})[_0x9755('0x2a')](respondWithResult(_0x392a10,null))[_0x9755('0x4b')](handleError(_0x392a10,null));};exports[_0x9755('0x86')]=function(_0x113d10,_0x5821c0,_0x2e966c){var _0x1d174a={};var _0x38716e={};var _0x4e50bf;var _0x3ae1c3;return db[_0x9755('0x34')][_0x9755('0x78')]({'where':{'id':_0x113d10[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x5821c0,null))[_0x9755('0x2a')](function(_0x305320){if(_0x305320){_0x4e50bf=_0x305320;_0x38716e[_0x9755('0x38')]=_[_0x9755('0x3a')](db[_0x9755('0x7b')]['rawAttributes']);_0x38716e[_0x9755('0x39')]=_['keys'](_0x113d10[_0x9755('0x39')]);_0x38716e[_0x9755('0x3b')]=_[_0x9755('0x3c')](_0x38716e[_0x9755('0x38')],_0x38716e['query']);_0x1d174a[_0x9755('0x3d')]=_[_0x9755('0x3c')](_0x38716e[_0x9755('0x38')],qs[_0x9755('0x3e')](_0x113d10[_0x9755('0x39')]['fields']));_0x1d174a[_0x9755('0x3d')]=_0x1d174a['attributes']['length']?_0x1d174a[_0x9755('0x3d')]:_0x38716e['model'];_0x1d174a[_0x9755('0x42')]=qs[_0x9755('0x43')](_0x113d10[_0x9755('0x39')][_0x9755('0x43')]);_0x1d174a[_0x9755('0x46')]=qs[_0x9755('0x3b')](_[_0x9755('0x6d')](_0x113d10[_0x9755('0x39')],_0x38716e['filters']));_0x1d174a[_0x9755('0x46')]=_[_0x9755('0x45')](_0x1d174a['where'],{'$or':[{'ListId':_0x305320['id']},{'ListId':null}]});if(_0x113d10['query'][_0x9755('0x44')]){_0x1d174a[_0x9755('0x46')]=_[_0x9755('0x45')](_0x1d174a[_0x9755('0x46')],{'$or':_[_0x9755('0x33')](_0x1d174a[_0x9755('0x3d')],function(_0x33ce1c){var _0x155ff6={};_0x155ff6[_0x33ce1c]={'$like':'%'+_0x113d10['query'][_0x9755('0x44')]+'%'};return _0x155ff6;})});}_0x1d174a=_[_0x9755('0x45')]({},_0x1d174a,_0x113d10[_0x9755('0x48')]);return db[_0x9755('0x7b')][_0x9755('0x87')](_0x1d174a);}})[_0x9755('0x2a')](respondWithResult(_0x5821c0,null))[_0x9755('0x4b')](handleError(_0x5821c0,null));};exports['addAgents']=function(_0x1dc663,_0x260941,_0x1a695d){return db[_0x9755('0x34')][_0x9755('0x4e')]({'where':{'id':_0x1dc663[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x260941,null))[_0x9755('0x2a')](function(_0x250f36){if(_0x250f36){return _0x250f36[_0x9755('0x88')](_0x1dc663[_0x9755('0x50')][_0x9755('0x63')],_[_0x9755('0x89')](_0x1dc663[_0x9755('0x50')],['ids','id'])||{})[_0x9755('0x8a')](function(_0x5966fb){for(var _0x2d92de=0x0;_0x2d92de<_0x1dc663['body'][_0x9755('0x63')][_0x9755('0x3f')];_0x2d92de+=0x1){socket[_0x9755('0x8b')]('userCmList:save',{'UserId':_0x1dc663[_0x9755('0x50')][_0x9755('0x63')][_0x2d92de],'CmListId':_0x1dc663[_0x9755('0x4d')]['id']});}return _0x5966fb;});}})['then'](respondWithResult(_0x260941,null))[_0x9755('0x4b')](handleError(_0x260941,null));};exports['removeAgents']=function(_0x1f796c,_0x4275fc,_0x3203e3){return db['CmList'][_0x9755('0x4e')]({'where':{'id':_0x1f796c[_0x9755('0x4d')]['id']}})[_0x9755('0x2a')](handleEntityNotFound(_0x4275fc,null))[_0x9755('0x2a')](function(_0xf0cfa8){if(_0xf0cfa8){return _0xf0cfa8[_0x9755('0x8c')](_0x1f796c[_0x9755('0x39')]['ids'])[_0x9755('0x2a')](function(){if(_[_0x9755('0x60')](_0x1f796c[_0x9755('0x39')][_0x9755('0x63')])){for(var _0x1781af=0x0;_0x1781af<_0x1f796c['query']['ids'][_0x9755('0x3f')];_0x1781af+=0x1){socket[_0x9755('0x8b')]('userCmList:remove',{'UserId':Number(_0x1f796c['query'][_0x9755('0x63')][_0x1781af]),'CmListId':Number(_0x1f796c[_0x9755('0x4d')]['id'])});}}else{socket[_0x9755('0x8b')](_0x9755('0x8d'),{'UserId':Number(_0x1f796c[_0x9755('0x39')]['ids']),'CmListId':Number(_0x1f796c[_0x9755('0x4d')]['id'])});}});}})[_0x9755('0x2a')](respondWithStatusCode(_0x4275fc,null))[_0x9755('0x4b')](handleError(_0x4275fc,null));};exports[_0x9755('0x8e')]=function(_0x33d9f3,_0x304be3,_0x4f5bf6){var _0xe07b20={};var _0xef0fe3={};var _0x5f3bc5;var _0x29a8d6;return db[_0x9755('0x34')][_0x9755('0x78')]({'where':{'id':_0x33d9f3[_0x9755('0x4d')]['id']}})['then'](handleEntityNotFound(_0x304be3,null))[_0x9755('0x2a')](function(_0x163e3f){if(_0x163e3f){_0x5f3bc5=_0x163e3f;_0xef0fe3[_0x9755('0x38')]=_['keys'](db[_0x9755('0x8f')][_0x9755('0x35')]);_0xef0fe3[_0x9755('0x39')]=_[_0x9755('0x3a')](_0x33d9f3[_0x9755('0x39')]);_0xef0fe3[_0x9755('0x3b')]=_[_0x9755('0x3c')](_0xef0fe3[_0x9755('0x38')],_0xef0fe3[_0x9755('0x39')]);_0xe07b20[_0x9755('0x3d')]=_[_0x9755('0x3c')](_0xef0fe3['model'],qs[_0x9755('0x3e')](_0x33d9f3[_0x9755('0x39')][_0x9755('0x3e')]));_0xe07b20[_0x9755('0x3d')]=_0xe07b20[_0x9755('0x3d')][_0x9755('0x3f')]?_0xe07b20['attributes']:_0xef0fe3['model'];_0xe07b20['order']=qs[_0x9755('0x43')](_0x33d9f3['query']['sort']);_0xe07b20['where']=qs[_0x9755('0x3b')](_[_0x9755('0x6d')](_0x33d9f3[_0x9755('0x39')],_0xef0fe3[_0x9755('0x3b')]));if(_0x33d9f3[_0x9755('0x39')][_0x9755('0x44')]){_0xe07b20['where']=_[_0x9755('0x45')](_0xe07b20[_0x9755('0x46')],{'$or':_[_0x9755('0x33')](_0xe07b20[_0x9755('0x3d')],function(_0x472a99){var _0x1cef7a={};_0x1cef7a[_0x472a99]={'$like':'%'+_0x33d9f3['query'][_0x9755('0x44')]+'%'};return _0x1cef7a;})});}_0xe07b20=_['merge']({},_0xe07b20,_0x33d9f3[_0x9755('0x48')]);return _0x5f3bc5[_0x9755('0x8e')](_0xe07b20);}})[_0x9755('0x2a')](function(_0xa9f931){if(_0xa9f931){_0x29a8d6=_0xa9f931[_0x9755('0x3f')];if(!_0x33d9f3['query'][_0x9755('0x40')](_0x9755('0x41'))){_0xe07b20[_0x9755('0x23')]=qs[_0x9755('0x23')](_0x33d9f3['query'][_0x9755('0x23')]);_0xe07b20[_0x9755('0x22')]=qs[_0x9755('0x22')](_0x33d9f3[_0x9755('0x39')][_0x9755('0x22')]);}return _0x5f3bc5[_0x9755('0x8e')](_0xe07b20);}})[_0x9755('0x2a')](function(_0x557e9c){if(_0x557e9c){return _0x557e9c?{'count':_0x29a8d6,'rows':_0x557e9c}:null;}})['then'](respondWithResult(_0x304be3,null))[_0x9755('0x4b')](handleError(_0x304be3,null));};