Built motion from commit 1fd437e9.|2.6.19
[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 _0x7aef=['omit','emit','userCmList:save','removeAgents','userCmList:remove','User','pick','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','get','Lists','sendStatus','stack','name','map','CmList','type','key','model','query','keys','filters','fields','attributes','length','nolimit','order','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','rawAttributes','intersection','includeAll','find','create','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','destroy','describe','addDisposition','ListId','Disposition','findOne','hasOwnProperty','removeDispositions','ids','addContacts','tags','isArray','join','push','each','CmContact','success','dataValues','message','Malformed\x20request\x20syntax','getContacts','CustomFields','cf_%d','raw','ContactItemType','OrderBy','CmCustomField','alias','select','cm_contacts','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','c.cf_','customField_','field','item','cm_contact_has_items','ItemTypeId\x20=\x20?','additionalPhone_','description','from','description_additionalPhone_','isEmpty','writeFileSync','format','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','text/csv','addCustomField','Sequelize','TEXT','text','INTEGER','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','getCustomFields','findAndCountAll','getGlobalCustomFields','addAgents'];(function(_0x12aba8,_0x40a036){var _0x2aac66=function(_0x3e56b7){while(--_0x3e56b7){_0x12aba8['push'](_0x12aba8['shift']());}};_0x2aac66(++_0x40a036);}(_0x7aef,0x149));var _0xf7ae=function(_0x4a4086,_0x4545d3){_0x4a4086=_0x4a4086-0x0;var _0xeb9ace=_0x7aef[_0x4a4086];return _0xeb9ace;};'use strict';var emlformat=require(_0xf7ae('0x0'));var rimraf=require(_0xf7ae('0x1'));var zipdir=require(_0xf7ae('0x2'));var jsonpatch=require(_0xf7ae('0x3'));var rp=require('request-promise');var moment=require(_0xf7ae('0x4'));var BPromise=require(_0xf7ae('0x5'));var Mustache=require(_0xf7ae('0x6'));var util=require(_0xf7ae('0x7'));var path=require(_0xf7ae('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xf7ae('0x9'));var fs=require('fs');var fs_extra=require(_0xf7ae('0xa'));var _=require(_0xf7ae('0xb'));var squel=require(_0xf7ae('0xc'));var crypto=require('crypto');var jsforce=require(_0xf7ae('0xd'));var deskjs=require(_0xf7ae('0xe'));var toCsv=require(_0xf7ae('0xf'));var querystring=require(_0xf7ae('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xf7ae('0x11'));var qs=require(_0xf7ae('0x12'));var as=require(_0xf7ae('0x13'));var hardwareService=require(_0xf7ae('0x14'));var logger=require('../../config/logger')(_0xf7ae('0x15'));var utils=require(_0xf7ae('0x16'));var config=require(_0xf7ae('0x17'));var licenseUtil=require(_0xf7ae('0x18'));var db=require(_0xf7ae('0x19'))['db'];var csv_results;config[_0xf7ae('0x1a')]=_[_0xf7ae('0x1b')](config[_0xf7ae('0x1a')],{'host':_0xf7ae('0x1c'),'port':0x18eb});var socket=require(_0xf7ae('0x1d'))(new Redis(config[_0xf7ae('0x1a')]));require('./cmList.socket')[_0xf7ae('0x1e')](socket);function respondWithStatusCode(_0x23c179,_0x58c139){_0x58c139=_0x58c139||0xcc;return function(_0x301f72){if(_0x301f72){return _0x23c179['sendStatus'](_0x58c139);}return _0x23c179[_0xf7ae('0x1f')](_0x58c139)[_0xf7ae('0x20')]();};}function respondWithResult(_0x4ab32d,_0x726eed){_0x726eed=_0x726eed||0xc8;return function(_0x51b2ba){if(_0x51b2ba){return _0x4ab32d[_0xf7ae('0x1f')](_0x726eed)[_0xf7ae('0x21')](_0x51b2ba);}};}function respondWithFilteredResult(_0x297d40,_0x3f94ad){return function(_0x205fc5){if(_0x205fc5){var _0x5d9b69=typeof _0x3f94ad[_0xf7ae('0x22')]===_0xf7ae('0x23')&&typeof _0x3f94ad['limit']===_0xf7ae('0x23');var _0x35124c=_0x205fc5[_0xf7ae('0x24')];var _0x30f1ac=_0x5d9b69?0x0:_0x3f94ad['offset'];var _0x3df9eb=_0x5d9b69?_0x205fc5[_0xf7ae('0x24')]:_0x3f94ad[_0xf7ae('0x22')]+_0x3f94ad[_0xf7ae('0x25')];var _0x2af5ac;if(_0x3df9eb>=_0x35124c){_0x3df9eb=_0x35124c;_0x2af5ac=0xc8;}else{_0x2af5ac=0xce;}_0x297d40[_0xf7ae('0x1f')](_0x2af5ac);return _0x297d40[_0xf7ae('0x26')](_0xf7ae('0x27'),_0x30f1ac+'-'+_0x3df9eb+'/'+_0x35124c)[_0xf7ae('0x21')](_0x205fc5);}return null;};}function patchUpdates(_0x713620){return function(_0x3eb260){try{jsonpatch[_0xf7ae('0x28')](_0x3eb260,_0x713620,!![]);}catch(_0xc91d9d){return BPromise[_0xf7ae('0x29')](_0xc91d9d);}return _0x3eb260[_0xf7ae('0x2a')]();};}function saveUpdates(_0x41ece1,_0x25e549){return function(_0x194e99){if(_0x194e99){return _0x194e99[_0xf7ae('0x2b')](_0x41ece1)[_0xf7ae('0x2c')](function(_0x40a7f2){return _0x40a7f2;});}return null;};}function removeEntity(_0x173879,_0x3b94d1){return function(_0x5bf947){if(_0x5bf947){return _0x5bf947['destroy']()[_0xf7ae('0x2c')](function(){var _0x17a2e3=_0x5bf947[_0xf7ae('0x2d')]({'plain':!![]});var _0x183731=_0xf7ae('0x2e');return db['UserProfileResource']['destroy']({'where':{'type':_0x183731,'resourceId':_0x17a2e3['id']}})[_0xf7ae('0x2c')](function(){return _0x5bf947;});})[_0xf7ae('0x2c')](function(){_0x173879['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x3aa946,_0x31a651){return function(_0x11f7f5){if(!_0x11f7f5){_0x3aa946[_0xf7ae('0x2f')](0x194);}return _0x11f7f5;};}function handleError(_0x1a65b1,_0x5b3e46){_0x5b3e46=_0x5b3e46||0x1f4;return function(_0x3a96aa){logger['error'](_0x3a96aa[_0xf7ae('0x30')]);if(_0x3a96aa[_0xf7ae('0x31')]){delete _0x3a96aa[_0xf7ae('0x31')];}_0x1a65b1[_0xf7ae('0x1f')](_0x5b3e46)['send'](_0x3a96aa);};}exports['index']=function(_0x2164e2,_0x4ef57c){var _0x5598e6={},_0x88e5bc={},_0x2b4f66={'count':0x0,'rows':[]};var _0x42b767=_[_0xf7ae('0x32')](db[_0xf7ae('0x33')]['rawAttributes'],function(_0x36d696){return{'name':_0x36d696['fieldName'],'type':_0x36d696[_0xf7ae('0x34')][_0xf7ae('0x35')]};});_0x88e5bc[_0xf7ae('0x36')]=_['map'](_0x42b767,_0xf7ae('0x31'));_0x88e5bc[_0xf7ae('0x37')]=_[_0xf7ae('0x38')](_0x2164e2[_0xf7ae('0x37')]);_0x88e5bc[_0xf7ae('0x39')]=_['intersection'](_0x88e5bc[_0xf7ae('0x36')],_0x88e5bc[_0xf7ae('0x37')]);_0x5598e6['attributes']=_['intersection'](_0x88e5bc[_0xf7ae('0x36')],qs[_0xf7ae('0x3a')](_0x2164e2[_0xf7ae('0x37')][_0xf7ae('0x3a')]));_0x5598e6[_0xf7ae('0x3b')]=_0x5598e6[_0xf7ae('0x3b')][_0xf7ae('0x3c')]?_0x5598e6[_0xf7ae('0x3b')]:_0x88e5bc[_0xf7ae('0x36')];if(!_0x2164e2['query']['hasOwnProperty'](_0xf7ae('0x3d'))){_0x5598e6['limit']=qs[_0xf7ae('0x25')](_0x2164e2[_0xf7ae('0x37')]['limit']);_0x5598e6['offset']=qs['offset'](_0x2164e2[_0xf7ae('0x37')][_0xf7ae('0x22')]);}_0x5598e6[_0xf7ae('0x3e')]=qs['sort'](_0x2164e2[_0xf7ae('0x37')][_0xf7ae('0x3f')]);_0x5598e6[_0xf7ae('0x40')]=qs[_0xf7ae('0x39')](_['pick'](_0x2164e2[_0xf7ae('0x37')],_0x88e5bc[_0xf7ae('0x39')]),_0x42b767);if(_0x2164e2[_0xf7ae('0x37')][_0xf7ae('0x41')]){_0x5598e6[_0xf7ae('0x40')]=_[_0xf7ae('0x42')](_0x5598e6[_0xf7ae('0x40')],{'$or':_['map'](_0x42b767,function(_0x51aa05){if(_0x51aa05[_0xf7ae('0x34')]!==_0xf7ae('0x43')){var _0x4163f0={};_0x4163f0[_0x51aa05['name']]={'$like':'%'+_0x2164e2[_0xf7ae('0x37')][_0xf7ae('0x41')]+'%'};return _0x4163f0;}})});}_0x5598e6=_[_0xf7ae('0x42')]({},_0x5598e6,_0x2164e2[_0xf7ae('0x44')]);var _0x1f0c8a={'where':_0x5598e6['where']};return db[_0xf7ae('0x33')][_0xf7ae('0x24')](_0x1f0c8a)[_0xf7ae('0x2c')](function(_0x221264){_0x2b4f66['count']=_0x221264;if(_0x2164e2[_0xf7ae('0x37')]['includeAll']){_0x5598e6[_0xf7ae('0x45')]=[{'all':!![]}];}return db['CmList'][_0xf7ae('0x46')](_0x5598e6);})[_0xf7ae('0x2c')](function(_0x392b88){_0x2b4f66[_0xf7ae('0x47')]=_0x392b88;return _0x2b4f66;})[_0xf7ae('0x2c')](respondWithFilteredResult(_0x4ef57c,_0x5598e6))[_0xf7ae('0x48')](handleError(_0x4ef57c,null));};exports[_0xf7ae('0x49')]=function(_0x69ca05,_0x1b723a){var _0x18baaf={'raw':![],'where':{'id':_0x69ca05['params']['id']}},_0xbcdc0c={};_0xbcdc0c[_0xf7ae('0x36')]=_[_0xf7ae('0x38')](db[_0xf7ae('0x33')][_0xf7ae('0x4a')]);_0xbcdc0c['query']=_['keys'](_0x69ca05[_0xf7ae('0x37')]);_0xbcdc0c['filters']=_[_0xf7ae('0x4b')](_0xbcdc0c[_0xf7ae('0x36')],_0xbcdc0c[_0xf7ae('0x37')]);_0x18baaf[_0xf7ae('0x3b')]=_['intersection'](_0xbcdc0c[_0xf7ae('0x36')],qs[_0xf7ae('0x3a')](_0x69ca05[_0xf7ae('0x37')][_0xf7ae('0x3a')]));_0x18baaf[_0xf7ae('0x3b')]=_0x18baaf[_0xf7ae('0x3b')][_0xf7ae('0x3c')]?_0x18baaf[_0xf7ae('0x3b')]:_0xbcdc0c[_0xf7ae('0x36')];if(_0x69ca05[_0xf7ae('0x37')][_0xf7ae('0x4c')]){_0x18baaf[_0xf7ae('0x45')]=[{'all':!![]}];}_0x18baaf=_[_0xf7ae('0x42')]({},_0x18baaf,_0x69ca05[_0xf7ae('0x44')]);return db['CmList'][_0xf7ae('0x4d')](_0x18baaf)[_0xf7ae('0x2c')](handleEntityNotFound(_0x1b723a,null))[_0xf7ae('0x2c')](respondWithResult(_0x1b723a,null))[_0xf7ae('0x48')](handleError(_0x1b723a,null));};exports[_0xf7ae('0x4e')]=function(_0x2b211e,_0x29fb73){return db[_0xf7ae('0x33')][_0xf7ae('0x4e')](_0x2b211e['body'],{})[_0xf7ae('0x2c')](function(_0x8f473c){var _0x530519=_0x2b211e['user'][_0xf7ae('0x2d')]({'plain':!![]});if(!_0x530519)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x530519[_0xf7ae('0x4f')]==='user'){var _0x1cb31e=_0x8f473c[_0xf7ae('0x2d')]({'plain':!![]});var _0x377a13='Lists';return db[_0xf7ae('0x50')][_0xf7ae('0x4d')]({'where':{'name':_0x377a13,'userProfileId':_0x530519[_0xf7ae('0x51')]},'raw':!![]})[_0xf7ae('0x2c')](function(_0x439d50){if(_0x439d50&&_0x439d50[_0xf7ae('0x52')]===0x0){return db['UserProfileResource'][_0xf7ae('0x4e')]({'name':_0x1cb31e[_0xf7ae('0x31')],'resourceId':_0x1cb31e['id'],'type':_0x439d50[_0xf7ae('0x31')],'sectionId':_0x439d50['id']},{})[_0xf7ae('0x2c')](function(){return _0x8f473c;});}else{return _0x8f473c;}})['catch'](function(_0x49c171){logger[_0xf7ae('0x53')](_0xf7ae('0x54'),_0x49c171);throw _0x49c171;});}return _0x8f473c;})['then'](respondWithResult(_0x29fb73,0xc9))[_0xf7ae('0x48')](handleError(_0x29fb73,null));};exports[_0xf7ae('0x2b')]=function(_0x24a5c8,_0x8b9922){if(_0x24a5c8['body']['id']){delete _0x24a5c8[_0xf7ae('0x55')]['id'];}return db['CmList'][_0xf7ae('0x4d')]({'where':{'id':_0x24a5c8[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x8b9922,null))[_0xf7ae('0x2c')](saveUpdates(_0x24a5c8[_0xf7ae('0x55')],null))[_0xf7ae('0x2c')](respondWithResult(_0x8b9922,null))[_0xf7ae('0x48')](handleError(_0x8b9922,null));};exports[_0xf7ae('0x57')]=function(_0x2deeae,_0x4d75e2){return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x2deeae[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x4d75e2,null))['then'](removeEntity(_0x4d75e2,null))[_0xf7ae('0x48')](handleError(_0x4d75e2,null));};exports['describe']=function(_0x329aa2,_0xb5ee95){return db[_0xf7ae('0x33')][_0xf7ae('0x58')]()[_0xf7ae('0x2c')](respondWithResult(_0xb5ee95,null))['catch'](handleError(_0xb5ee95,null));};exports[_0xf7ae('0x59')]=function(_0x25f7d2,_0x5f2d85,_0x1844f1){if(_0x25f7d2['body']['id']){delete _0x25f7d2[_0xf7ae('0x55')]['id'];}return db[_0xf7ae('0x33')]['find']({'where':{'id':_0x25f7d2[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x5f2d85,null))[_0xf7ae('0x2c')](function(_0x49429c){if(_0x49429c){_0x25f7d2['body'][_0xf7ae('0x5a')]=_0x49429c['id'];return db[_0xf7ae('0x5b')][_0xf7ae('0x4e')](_0x25f7d2['body']);}})[_0xf7ae('0x2c')](respondWithResult(_0x5f2d85,null))[_0xf7ae('0x48')](handleError(_0x5f2d85,null));};exports['getDispositions']=function(_0x245485,_0x57085b,_0xa14c6e){var _0x4e99b8={'raw':![],'where':{}};var _0x3f9ec8={};var _0x2ac850={'count':0x0,'rows':[]};return db[_0xf7ae('0x33')][_0xf7ae('0x5c')]({'where':{'id':_0x245485['params']['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x57085b,null))[_0xf7ae('0x2c')](function(_0x240af4){if(_0x240af4){_0x3f9ec8[_0xf7ae('0x36')]=_['keys'](db[_0xf7ae('0x5b')][_0xf7ae('0x4a')]);_0x3f9ec8[_0xf7ae('0x37')]=_[_0xf7ae('0x38')](_0x245485['query']);_0x3f9ec8[_0xf7ae('0x39')]=_[_0xf7ae('0x4b')](_0x3f9ec8[_0xf7ae('0x36')],_0x3f9ec8['query']);_0x4e99b8[_0xf7ae('0x3b')]=_['intersection'](_0x3f9ec8[_0xf7ae('0x36')],qs['fields'](_0x245485[_0xf7ae('0x37')][_0xf7ae('0x3a')]));_0x4e99b8[_0xf7ae('0x3b')]=_0x4e99b8[_0xf7ae('0x3b')][_0xf7ae('0x3c')]?_0x4e99b8[_0xf7ae('0x3b')]:_0x3f9ec8[_0xf7ae('0x36')];if(!_0x245485[_0xf7ae('0x37')][_0xf7ae('0x5d')]('nolimit')){_0x4e99b8[_0xf7ae('0x25')]=qs[_0xf7ae('0x25')](_0x245485[_0xf7ae('0x37')]['limit']);_0x4e99b8['offset']=qs['offset'](_0x245485[_0xf7ae('0x37')][_0xf7ae('0x22')]);}_0x4e99b8[_0xf7ae('0x3e')]=qs[_0xf7ae('0x3f')](_0x245485[_0xf7ae('0x37')][_0xf7ae('0x3f')]);_0x4e99b8[_0xf7ae('0x40')]=qs[_0xf7ae('0x39')](_['pick'](_0x245485[_0xf7ae('0x37')],_0x3f9ec8[_0xf7ae('0x39')]));_0x4e99b8[_0xf7ae('0x40')][_0xf7ae('0x5a')]=_0x240af4['id'];if(_0x245485[_0xf7ae('0x37')][_0xf7ae('0x41')]){_0x4e99b8[_0xf7ae('0x40')]=_[_0xf7ae('0x42')](_0x4e99b8[_0xf7ae('0x40')],{'$or':_['map'](_0x4e99b8['attributes'],function(_0x1a447e){var _0x4e0c5b={};_0x4e0c5b[_0x1a447e]={'$like':'%'+_0x245485['query'][_0xf7ae('0x41')]+'%'};return _0x4e0c5b;})});}_0x4e99b8=_[_0xf7ae('0x42')]({},_0x4e99b8,_0x245485[_0xf7ae('0x44')]);return db[_0xf7ae('0x5b')]['count']({'where':_0x4e99b8[_0xf7ae('0x40')]})[_0xf7ae('0x2c')](function(_0x55de88){_0x2ac850[_0xf7ae('0x24')]=_0x55de88;if(_0x245485['query'][_0xf7ae('0x4c')]){_0x4e99b8['include']=[{'all':!![]}];}return db[_0xf7ae('0x5b')][_0xf7ae('0x46')](_0x4e99b8);})[_0xf7ae('0x2c')](function(_0x21608e){_0x2ac850[_0xf7ae('0x47')]=_0x21608e;return _0x2ac850;});}})[_0xf7ae('0x2c')](respondWithFilteredResult(_0x57085b,_0x4e99b8))[_0xf7ae('0x48')](handleError(_0x57085b,null));};exports[_0xf7ae('0x5e')]=function(_0x2d1ce5,_0x148f21,_0x5bfcdb){return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x2d1ce5['params']['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x148f21,null))['then'](function(_0x15456e){if(_0x15456e){return _0x15456e[_0xf7ae('0x5e')](_0x2d1ce5['query'][_0xf7ae('0x5f')]);}})[_0xf7ae('0x2c')](respondWithStatusCode(_0x148f21,null))['catch'](handleError(_0x148f21,null));};exports[_0xf7ae('0x60')]=function(_0x59b568,_0x5d4a01,_0x1f7642){return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x59b568[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x5d4a01,null))['then'](function(_0x20ce7d){if(_0x20ce7d){var _0x34b3fe=[];var _0x28705e={'success':[],'errors':[]};return db['CmContact']['describe']()[_0xf7ae('0x2c')](function(_0x1232ec){if(_0x59b568['body'][_0xf7ae('0x61')]&&_[_0xf7ae('0x62')](_0x59b568[_0xf7ae('0x55')][_0xf7ae('0x61')])){if(_0x59b568['body']['tags'][_0xf7ae('0x3c')]){_0x59b568[_0xf7ae('0x55')][_0xf7ae('0x61')]=_0x59b568[_0xf7ae('0x55')][_0xf7ae('0x61')][_0xf7ae('0x63')](';')+';';}else{_0x59b568[_0xf7ae('0x55')][_0xf7ae('0x61')]=null;}}else{_0x59b568['body'][_0xf7ae('0x61')]=null;}if(_0x59b568['body']&&_[_0xf7ae('0x62')](_0x59b568[_0xf7ae('0x55')])){for(var _0x106653=0x0;_0x106653<_0x59b568[_0xf7ae('0x55')]['length'];_0x106653+=0x1){_0x59b568[_0xf7ae('0x55')][_0x106653][_0xf7ae('0x5a')]=_0x59b568['params']['id'];_0x34b3fe[_0xf7ae('0x64')](_0x59b568[_0xf7ae('0x55')][_0x106653]);}return BPromise[_0xf7ae('0x65')](_0x34b3fe,function(_0x16a9f2){return db[_0xf7ae('0x66')][_0xf7ae('0x4e')](_['omit'](_0x16a9f2,[_0xf7ae('0x5f'),'id'])||{},{'fields':_[_0xf7ae('0x38')](_0x1232ec),'raw':!![]})[_0xf7ae('0x2c')](function(_0x3f9afb){_0x28705e[_0xf7ae('0x67')]['push'](_0x3f9afb[_0xf7ae('0x68')]);})[_0xf7ae('0x48')](function(_0x1a6fb5){_0x28705e['errors'][_0xf7ae('0x64')]({'data':_0x16a9f2,'error':_0x1a6fb5[_0xf7ae('0x69')]});});})[_0xf7ae('0x2c')](function(_0x23c4e5){return _0x28705e;})['catch'](function(_0x55be99){return _0x55be99;});}else{_0x5d4a01[_0xf7ae('0x1f')](0x190)['json']({'message':_0xf7ae('0x6a')});}});}})[_0xf7ae('0x2c')](respondWithResult(_0x5d4a01,null))[_0xf7ae('0x48')](handleError(_0x5d4a01,null));};exports[_0xf7ae('0x6b')]=function(_0x4a27e6,_0x35602e,_0x30e226){var _0x4c3f78;return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x4a27e6[_0xf7ae('0x56')]['id']},'include':[{'model':db['CmCustomField'],'as':_0xf7ae('0x6c')}]})[_0xf7ae('0x2c')](handleEntityNotFound(_0x35602e,null))[_0xf7ae('0x2c')](function(_0x5d9cb0){if(_0x5d9cb0){_0x4c3f78=_0x5d9cb0;return db[_0xf7ae('0x66')][_0xf7ae('0x4a')];}})['then'](function(_0x2038b4){if(_0x2038b4){var _0x4718b6={};var _0x9993f2={};_0x9993f2['model']=_['concat'](_['keys'](_0x2038b4),_['map'](_0x4c3f78[_0xf7ae('0x6c')],function(_0x1a55f8){return util['format'](_0xf7ae('0x6d'),_0x1a55f8['id']);}));_0x9993f2[_0xf7ae('0x37')]=_[_0xf7ae('0x38')](_0x4a27e6[_0xf7ae('0x37')]);_0x9993f2[_0xf7ae('0x39')]=_[_0xf7ae('0x4b')](_0x9993f2[_0xf7ae('0x36')],_0x9993f2[_0xf7ae('0x37')]);_0x4718b6[_0xf7ae('0x3b')]=_[_0xf7ae('0x4b')](_0x9993f2[_0xf7ae('0x36')],qs['fields'](_0x4a27e6['query']['fields']));_0x4718b6[_0xf7ae('0x3b')]=_0x4718b6[_0xf7ae('0x3b')]['length']?_0x4718b6['attributes']:_0x9993f2['model'];if(!_0x4a27e6[_0xf7ae('0x37')][_0xf7ae('0x5d')](_0xf7ae('0x3d'))){_0x4718b6[_0xf7ae('0x25')]=qs[_0xf7ae('0x25')](_0x4a27e6[_0xf7ae('0x37')][_0xf7ae('0x25')]);_0x4718b6[_0xf7ae('0x22')]=qs[_0xf7ae('0x22')](_0x4a27e6['query'][_0xf7ae('0x22')]);}_0x4718b6[_0xf7ae('0x3e')]=qs[_0xf7ae('0x3f')](_0x4a27e6['query']['sort']);_0x4718b6['where']=qs[_0xf7ae('0x39')](_['pick'](_0x4a27e6[_0xf7ae('0x37')],_0x9993f2[_0xf7ae('0x39')]));_0x4718b6[_0xf7ae('0x6e')]=!![];if(_0x4a27e6[_0xf7ae('0x37')][_0xf7ae('0x41')]){_0x4718b6['where']=_[_0xf7ae('0x42')](_0x4718b6[_0xf7ae('0x40')],{'$or':_[_0xf7ae('0x32')](_0x4718b6['attributes'],function(_0x20be15){var _0x2dfe03={};_0x2dfe03[_0x20be15]={'$like':'%'+_0x4a27e6[_0xf7ae('0x37')][_0xf7ae('0x41')]+'%'};return _0x2dfe03;})});}_0x4718b6=_[_0xf7ae('0x42')]({},_0x4718b6,_0x4a27e6[_0xf7ae('0x44')]);return _0x4c3f78['getContacts'](_0x4718b6);}})[_0xf7ae('0x2c')](respondWithResult(_0x35602e,null))[_0xf7ae('0x48')](handleError(_0x35602e,null));};exports['getContactsCsv']=function(_0x4f97a1,_0x7edeca,_0x36c27f){var _0x305771;var _0x196d3a;var _0x24c17e;var _0x172779=_0x4f97a1[_0xf7ae('0x56')]['id'];csv_results=[];return db[_0xf7ae('0x6f')][_0xf7ae('0x46')]({'attributes':['id',_0xf7ae('0x31')],'raw':!![],'order':[_0xf7ae('0x70')]})[_0xf7ae('0x2c')](function(_0x23cf61){_0x305771=_0x23cf61;var _0x2cd40f=_[_0xf7ae('0x38')](db['CmContact'][_0xf7ae('0x4a')]);return db[_0xf7ae('0x71')][_0xf7ae('0x46')]({'raw':!![],'attributes':['id',_0xf7ae('0x72')]})[_0xf7ae('0x2c')](function(_0x12fbb8){_0x196d3a=_0x12fbb8;var _0x58776b=squel[_0xf7ae('0x73')]()[_0xf7ae('0x3a')](_0x2cd40f)['from'](_0xf7ae('0x74'),'c')[_0xf7ae('0x40')](_0xf7ae('0x75'),_0x172779)[_0xf7ae('0x40')](_0xf7ae('0x76'))[_0xf7ae('0x77')]();for(var _0x2a95b7=0x0;_0x2a95b7<_0x196d3a[_0xf7ae('0x3c')];_0x2a95b7++){_0x58776b['field'](_0xf7ae('0x78')+_0x196d3a[_0x2a95b7]['id'],_0xf7ae('0x79')+_0x196d3a[_0x2a95b7][_0xf7ae('0x72')]);}for(var _0x2a95b7=0x0;_0x2a95b7<_0x305771[_0xf7ae('0x3c')];_0x2a95b7++){_0x58776b[_0xf7ae('0x7a')](squel[_0xf7ae('0x73')]()[_0xf7ae('0x7a')](_0xf7ae('0x7b'))['from'](_0xf7ae('0x7c'))['where'](_0xf7ae('0x7d'),_0x305771[_0x2a95b7]['id'])[_0xf7ae('0x40')]('CmContactId\x20=\x20c.id'),_0xf7ae('0x7e')+_0x305771[_0x2a95b7][_0xf7ae('0x31')]);_0x58776b[_0xf7ae('0x7a')](squel[_0xf7ae('0x73')]()[_0xf7ae('0x7a')](_0xf7ae('0x7f'))[_0xf7ae('0x80')](_0xf7ae('0x7c'))[_0xf7ae('0x40')](_0xf7ae('0x7d'),_0x305771[_0x2a95b7]['id'])['where']('CmContactId\x20=\x20c.id'),_0xf7ae('0x81')+_0x305771[_0x2a95b7][_0xf7ae('0x31')]);}var _0x476626=[];_0x476626[_0xf7ae('0x64')](_0x58776b['toString']());BPromise['each'](_0x476626,handleQuery)[_0xf7ae('0x2c')](function(_0x19677d){handleQuery(_0x58776b['toString']());var _0x1ab05b=csv_results[0x0];if(!_[_0xf7ae('0x82')](_0x1ab05b)){var _0x48ceba=toCsv(_0x1ab05b);var _0x5156e3=Date['now']();fs[_0xf7ae('0x83')](util[_0xf7ae('0x84')](_0xf7ae('0x85'),_0x172779,_0x5156e3),_0x48ceba);_0x7edeca[_0xf7ae('0x86')](_0xf7ae('0x87'),_0xf7ae('0x88')+util[_0xf7ae('0x84')](_0xf7ae('0x89'),_0x172779,_0x5156e3));_0x7edeca[_0xf7ae('0x86')](_0xf7ae('0x8a'),_0xf7ae('0x8b'));return _0x7edeca['download'](util['format']('/tmp/list_%d_%s.csv',_0x172779,_0x5156e3));}else{return _0x7edeca['sendStatus'](0xcc);}});});});};exports[_0xf7ae('0x8c')]=function(_0x19a799,_0x4a4931,_0x5774f4){var _0x14df76;delete _0x19a799[_0xf7ae('0x55')]['id'];return db[_0xf7ae('0x33')][_0xf7ae('0x5c')]({'where':{'id':_0x19a799[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x4a4931,null))[_0xf7ae('0x2c')](function(_0x5b2942){if(_0x5b2942){return db['sequelize']['transaction'](function(_0x3a7a5e){return db[_0xf7ae('0x71')][_0xf7ae('0x4e')](_0x19a799[_0xf7ae('0x55')],{'transaction':_0x3a7a5e})[_0xf7ae('0x2c')](function(_0x59d9df){_0x14df76=_0x59d9df;return _0x5b2942['addCustomFields'](_0x59d9df,{'transaction':_0x3a7a5e});})[_0xf7ae('0x2c')](function(){var _0x6661a8={'type':db[_0xf7ae('0x8d')][_0xf7ae('0x8e')],'transaction':_0x3a7a5e};switch(_0x19a799[_0xf7ae('0x55')][_0xf7ae('0x34')]){case _0xf7ae('0x8f'):_0x6661a8[_0xf7ae('0x34')]=db[_0xf7ae('0x8d')]['TEXT'];break;case'number':_0x6661a8[_0xf7ae('0x34')]=db[_0xf7ae('0x8d')][_0xf7ae('0x90')];break;case'switch':_0x6661a8['type']=db['Sequelize'][_0xf7ae('0x91')];_0x6661a8[_0xf7ae('0x92')]=![];break;default:}return db[_0xf7ae('0x93')][_0xf7ae('0x94')][_0xf7ae('0x95')](_0xf7ae('0x74'),util[_0xf7ae('0x84')]('cf_%s',_0x14df76['id']),_0x6661a8);})[_0xf7ae('0x2c')](function(){return _0x14df76;});});}})[_0xf7ae('0x2c')](respondWithResult(_0x4a4931,null))[_0xf7ae('0x48')](handleError(_0x4a4931,null));};exports[_0xf7ae('0x96')]=function(_0x1379c1,_0x405a1c,_0x3b1261){var _0xc4d7f={};var _0x290fef={};var _0x1325e5;var _0x36cadf;return db[_0xf7ae('0x33')][_0xf7ae('0x5c')]({'where':{'id':_0x1379c1[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x405a1c,null))['then'](function(_0x2a4bc2){if(_0x2a4bc2){_0x1325e5=_0x2a4bc2;_0x290fef[_0xf7ae('0x36')]=_[_0xf7ae('0x38')](db[_0xf7ae('0x71')][_0xf7ae('0x4a')]);_0x290fef[_0xf7ae('0x37')]=_[_0xf7ae('0x38')](_0x1379c1[_0xf7ae('0x37')]);_0x290fef[_0xf7ae('0x39')]=_[_0xf7ae('0x4b')](_0x290fef['model'],_0x290fef[_0xf7ae('0x37')]);_0xc4d7f['attributes']=_[_0xf7ae('0x4b')](_0x290fef['model'],qs[_0xf7ae('0x3a')](_0x1379c1['query']['fields']));_0xc4d7f['attributes']=_0xc4d7f[_0xf7ae('0x3b')]['length']?_0xc4d7f['attributes']:_0x290fef['model'];_0xc4d7f['order']=qs[_0xf7ae('0x3f')](_0x1379c1[_0xf7ae('0x37')][_0xf7ae('0x3f')]);_0xc4d7f[_0xf7ae('0x40')]=qs[_0xf7ae('0x39')](_['pick'](_0x1379c1['query'],_0x290fef[_0xf7ae('0x39')]));_0xc4d7f[_0xf7ae('0x40')]=_[_0xf7ae('0x42')](_0xc4d7f[_0xf7ae('0x40')],{'$or':[{'ListId':_0x2a4bc2['id']},{'ListId':null}]});if(_0x1379c1['query'][_0xf7ae('0x41')]){_0xc4d7f['where']=_[_0xf7ae('0x42')](_0xc4d7f['where'],{'$or':_[_0xf7ae('0x32')](_0xc4d7f[_0xf7ae('0x3b')],function(_0x17ec1f){var _0x130d42={};_0x130d42[_0x17ec1f]={'$like':'%'+_0x1379c1['query'][_0xf7ae('0x41')]+'%'};return _0x130d42;})});}_0xc4d7f=_['merge']({},_0xc4d7f,_0x1379c1['options']);return db[_0xf7ae('0x71')][_0xf7ae('0x97')](_0xc4d7f);}})[_0xf7ae('0x2c')](respondWithResult(_0x405a1c,null))[_0xf7ae('0x48')](handleError(_0x405a1c,null));};exports[_0xf7ae('0x98')]=function(_0x35c031,_0x246bb3){return db['CmCustomField'][_0xf7ae('0x97')]({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x246bb3,null))[_0xf7ae('0x2c')](function(_0x57e797){return _0x57e797;})['then'](respondWithResult(_0x246bb3,null))[_0xf7ae('0x48')](handleError(_0x246bb3,null));};exports[_0xf7ae('0x99')]=function(_0x3d7e40,_0x584975,_0xae51c8){return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x3d7e40['params']['id']}})['then'](handleEntityNotFound(_0x584975,null))[_0xf7ae('0x2c')](function(_0xbe9df9){if(_0xbe9df9){return _0xbe9df9[_0xf7ae('0x99')](_0x3d7e40[_0xf7ae('0x55')][_0xf7ae('0x5f')],_[_0xf7ae('0x9a')](_0x3d7e40[_0xf7ae('0x55')],[_0xf7ae('0x5f'),'id'])||{})['spread'](function(_0x49766f){for(var _0x408c2e=0x0;_0x408c2e<_0x3d7e40[_0xf7ae('0x55')][_0xf7ae('0x5f')]['length'];_0x408c2e+=0x1){socket[_0xf7ae('0x9b')](_0xf7ae('0x9c'),{'UserId':Number(_0x3d7e40[_0xf7ae('0x55')][_0xf7ae('0x5f')][_0x408c2e]),'CmListId':Number(_0x3d7e40[_0xf7ae('0x56')]['id'])});}return _0x49766f;});}})['then'](respondWithResult(_0x584975,null))[_0xf7ae('0x48')](handleError(_0x584975,null));};exports[_0xf7ae('0x9d')]=function(_0x3a0f90,_0x7acf0,_0x158676){return db[_0xf7ae('0x33')][_0xf7ae('0x4d')]({'where':{'id':_0x3a0f90[_0xf7ae('0x56')]['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x7acf0,null))['then'](function(_0x16b969){if(_0x16b969){return _0x16b969[_0xf7ae('0x9d')](_0x3a0f90[_0xf7ae('0x37')][_0xf7ae('0x5f')])['then'](function(){if(_['isArray'](_0x3a0f90[_0xf7ae('0x37')]['ids'])){for(var _0x58600b=0x0;_0x58600b<_0x3a0f90[_0xf7ae('0x37')][_0xf7ae('0x5f')][_0xf7ae('0x3c')];_0x58600b+=0x1){socket[_0xf7ae('0x9b')](_0xf7ae('0x9e'),{'UserId':Number(_0x3a0f90[_0xf7ae('0x37')][_0xf7ae('0x5f')][_0x58600b]),'CmListId':Number(_0x3a0f90[_0xf7ae('0x56')]['id'])});}}else{socket[_0xf7ae('0x9b')](_0xf7ae('0x9e'),{'UserId':Number(_0x3a0f90[_0xf7ae('0x37')]['ids']),'CmListId':Number(_0x3a0f90[_0xf7ae('0x56')]['id'])});}});}})[_0xf7ae('0x2c')](respondWithStatusCode(_0x7acf0,null))['catch'](handleError(_0x7acf0,null));};exports['getAgents']=function(_0x120466,_0x16bb1e,_0x22b355){var _0x157f10={};var _0x116f01={};var _0x22f579;var _0x1dab48;return db[_0xf7ae('0x33')][_0xf7ae('0x5c')]({'where':{'id':_0x120466['params']['id']}})[_0xf7ae('0x2c')](handleEntityNotFound(_0x16bb1e,null))[_0xf7ae('0x2c')](function(_0x16d412){if(_0x16d412){_0x22f579=_0x16d412;_0x116f01[_0xf7ae('0x36')]=_[_0xf7ae('0x38')](db[_0xf7ae('0x9f')][_0xf7ae('0x4a')]);_0x116f01[_0xf7ae('0x37')]=_[_0xf7ae('0x38')](_0x120466[_0xf7ae('0x37')]);_0x116f01['filters']=_[_0xf7ae('0x4b')](_0x116f01[_0xf7ae('0x36')],_0x116f01[_0xf7ae('0x37')]);_0x157f10[_0xf7ae('0x3b')]=_[_0xf7ae('0x4b')](_0x116f01[_0xf7ae('0x36')],qs[_0xf7ae('0x3a')](_0x120466[_0xf7ae('0x37')][_0xf7ae('0x3a')]));_0x157f10[_0xf7ae('0x3b')]=_0x157f10[_0xf7ae('0x3b')][_0xf7ae('0x3c')]?_0x157f10[_0xf7ae('0x3b')]:_0x116f01[_0xf7ae('0x36')];_0x157f10[_0xf7ae('0x3e')]=qs['sort'](_0x120466['query'][_0xf7ae('0x3f')]);_0x157f10[_0xf7ae('0x40')]=qs[_0xf7ae('0x39')](_[_0xf7ae('0xa0')](_0x120466[_0xf7ae('0x37')],_0x116f01['filters']));if(_0x120466[_0xf7ae('0x37')][_0xf7ae('0x41')]){_0x157f10[_0xf7ae('0x40')]=_['merge'](_0x157f10['where'],{'$or':_[_0xf7ae('0x32')](_0x157f10[_0xf7ae('0x3b')],function(_0x3a6f01){var _0x12dff9={};_0x12dff9[_0x3a6f01]={'$like':'%'+_0x120466[_0xf7ae('0x37')][_0xf7ae('0x41')]+'%'};return _0x12dff9;})});}_0x157f10=_[_0xf7ae('0x42')]({},_0x157f10,_0x120466[_0xf7ae('0x44')]);return _0x22f579['getAgents'](_0x157f10);}})['then'](function(_0x284df6){if(_0x284df6){_0x1dab48=_0x284df6[_0xf7ae('0x3c')];if(!_0x120466[_0xf7ae('0x37')][_0xf7ae('0x5d')](_0xf7ae('0x3d'))){_0x157f10[_0xf7ae('0x25')]=qs[_0xf7ae('0x25')](_0x120466[_0xf7ae('0x37')][_0xf7ae('0x25')]);_0x157f10['offset']=qs[_0xf7ae('0x22')](_0x120466[_0xf7ae('0x37')][_0xf7ae('0x22')]);}return _0x22f579['getAgents'](_0x157f10);}})[_0xf7ae('0x2c')](function(_0x100302){if(_0x100302){return _0x100302?{'count':_0x1dab48,'rows':_0x100302}:null;}})[_0xf7ae('0x2c')](respondWithResult(_0x16bb1e,null))[_0xf7ae('0x48')](handleError(_0x16bb1e,null));};function handleQuery(_0x509f3a){logger['info'](_0x509f3a);return db[_0xf7ae('0x93')][_0xf7ae('0x37')](_0x509f3a)['spread'](function(_0x5b2ff4){csv_results[_0xf7ae('0x64')](_0x5b2ff4);})[_0xf7ae('0x48')](function(_0x4b7595){logger[_0xf7ae('0x53')](_0x4b7595[_0xf7ae('0x69')]);});}