4e9ca57d9aaf3372c38c865068b435a715b970f7
[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 _0x5834=['INTEGER','switch','BOOLEAN','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','getGlobalCustomFields','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','./cmList.socket','register','sendStatus','status','json','undefined','count','offset','limit','set','Content-Range','apply','reject','update','destroy','then','get','Lists','UserProfileResource','end','error','stack','name','index','map','CmList','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','show','length','find','catch','create','body','role','user','userProfileId','params','describe','Disposition','getDispositions','findOne','hasOwnProperty','removeDispositions','ids','CmContact','tags','isArray','join','ListId','push','each','omit','success','dataValues','errors','message','getContacts','CmCustomField','CustomFields','concat','format','cf_%d','raw','getContactsCsv','ContactItemType','OrderBy','select','from','c.deletedAt\x20is\x20null','field','cm_contact_has_items','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','description','description_additionalPhone_','toString','isEmpty','now','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','text/csv','download','addCustomField','transaction','addCustomFields','TEXT','text','number'];(function(_0x48141e,_0x5130be){var _0x2c06bd=function(_0x46f61c){while(--_0x46f61c){_0x48141e['push'](_0x48141e['shift']());}};_0x2c06bd(++_0x5130be);}(_0x5834,0x157));var _0x4583=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x5834[_0xa464c9];return _0x3d73c4;};'use strict';var emlformat=require(_0x4583('0x0'));var rimraf=require(_0x4583('0x1'));var zipdir=require(_0x4583('0x2'));var jsonpatch=require(_0x4583('0x3'));var rp=require(_0x4583('0x4'));var moment=require(_0x4583('0x5'));var BPromise=require(_0x4583('0x6'));var Mustache=require('mustache');var util=require(_0x4583('0x7'));var path=require(_0x4583('0x8'));var sox=require(_0x4583('0x9'));var csv=require(_0x4583('0xa'));var ejs=require(_0x4583('0xb'));var fs=require('fs');var fs_extra=require(_0x4583('0xc'));var _=require(_0x4583('0xd'));var squel=require(_0x4583('0xe'));var crypto=require(_0x4583('0xf'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4583('0xa'));var querystring=require(_0x4583('0x10'));var Papa=require(_0x4583('0x11'));var Redis=require(_0x4583('0x12'));var authService=require(_0x4583('0x13'));var qs=require(_0x4583('0x14'));var as=require(_0x4583('0x15'));var hardwareService=require(_0x4583('0x16'));var logger=require(_0x4583('0x17'))('api');var utils=require(_0x4583('0x18'));var config=require(_0x4583('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x4583('0x1a'))['db'];var csv_results;config['redis']=_['defaults'](config[_0x4583('0x1b')],{'host':_0x4583('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x4583('0x1b')]));require(_0x4583('0x1d'))[_0x4583('0x1e')](socket);function respondWithStatusCode(_0x33f134,_0x24a8c3){_0x24a8c3=_0x24a8c3||0xcc;return function(_0x3ea024){if(_0x3ea024){return _0x33f134[_0x4583('0x1f')](_0x24a8c3);}return _0x33f134[_0x4583('0x20')](_0x24a8c3)['end']();};}function respondWithResult(_0x4f1630,_0x33e646){_0x33e646=_0x33e646||0xc8;return function(_0x1268fb){if(_0x1268fb){return _0x4f1630[_0x4583('0x20')](_0x33e646)[_0x4583('0x21')](_0x1268fb);}};}function respondWithFilteredResult(_0x51c6c0,_0x5897a7){return function(_0x22cae4){if(_0x22cae4){var _0x5e8cf1=typeof _0x5897a7['offset']==='undefined'&&typeof _0x5897a7['limit']===_0x4583('0x22');var _0x58d35c=_0x22cae4[_0x4583('0x23')];var _0x49ceff=_0x5e8cf1?0x0:_0x5897a7[_0x4583('0x24')];var _0xa7cac9=_0x5e8cf1?_0x22cae4['count']:_0x5897a7[_0x4583('0x24')]+_0x5897a7[_0x4583('0x25')];var _0x469313;if(_0xa7cac9>=_0x58d35c){_0xa7cac9=_0x58d35c;_0x469313=0xc8;}else{_0x469313=0xce;}_0x51c6c0['status'](_0x469313);return _0x51c6c0[_0x4583('0x26')](_0x4583('0x27'),_0x49ceff+'-'+_0xa7cac9+'/'+_0x58d35c)['json'](_0x22cae4);}return null;};}function patchUpdates(_0x44060b){return function(_0x4e5db1){try{jsonpatch[_0x4583('0x28')](_0x4e5db1,_0x44060b,!![]);}catch(_0x48a469){return BPromise[_0x4583('0x29')](_0x48a469);}return _0x4e5db1['save']();};}function saveUpdates(_0x41a993,_0x530cc1){return function(_0x10aaad){if(_0x10aaad){return _0x10aaad[_0x4583('0x2a')](_0x41a993)['then'](function(_0x557f84){return _0x557f84;});}return null;};}function removeEntity(_0x5c0339,_0x201619){return function(_0x5c09e5){if(_0x5c09e5){return _0x5c09e5[_0x4583('0x2b')]()[_0x4583('0x2c')](function(){var _0x36dcf2=_0x5c09e5[_0x4583('0x2d')]({'plain':!![]});var _0x21abf8=_0x4583('0x2e');return db[_0x4583('0x2f')][_0x4583('0x2b')]({'where':{'type':_0x21abf8,'resourceId':_0x36dcf2['id']}})[_0x4583('0x2c')](function(){return _0x5c09e5;});})['then'](function(){_0x5c0339[_0x4583('0x20')](0xcc)[_0x4583('0x30')]();});}};}function handleEntityNotFound(_0x323158,_0x231693){return function(_0x5cd95c){if(!_0x5cd95c){_0x323158[_0x4583('0x1f')](0x194);}return _0x5cd95c;};}function handleError(_0x536c22,_0x2f6db3){_0x2f6db3=_0x2f6db3||0x1f4;return function(_0xece8d9){logger[_0x4583('0x31')](_0xece8d9[_0x4583('0x32')]);if(_0xece8d9[_0x4583('0x33')]){delete _0xece8d9[_0x4583('0x33')];}_0x536c22[_0x4583('0x20')](_0x2f6db3)['send'](_0xece8d9);};}exports[_0x4583('0x34')]=function(_0x3c399b,_0x3da12d){var _0x12f26e={},_0x3a558f={},_0x5ba7e4={'count':0x0,'rows':[]};var _0x2daf96=_[_0x4583('0x35')](db[_0x4583('0x36')][_0x4583('0x37')],function(_0x11a3cb){return{'name':_0x11a3cb[_0x4583('0x38')],'type':_0x11a3cb[_0x4583('0x39')]['key']};});_0x3a558f[_0x4583('0x3a')]=_[_0x4583('0x35')](_0x2daf96,'name');_0x3a558f[_0x4583('0x3b')]=_[_0x4583('0x3c')](_0x3c399b[_0x4583('0x3b')]);_0x3a558f[_0x4583('0x3d')]=_['intersection'](_0x3a558f['model'],_0x3a558f[_0x4583('0x3b')]);_0x12f26e[_0x4583('0x3e')]=_[_0x4583('0x3f')](_0x3a558f[_0x4583('0x3a')],qs[_0x4583('0x40')](_0x3c399b[_0x4583('0x3b')][_0x4583('0x40')]));_0x12f26e[_0x4583('0x3e')]=_0x12f26e[_0x4583('0x3e')]['length']?_0x12f26e[_0x4583('0x3e')]:_0x3a558f[_0x4583('0x3a')];if(!_0x3c399b[_0x4583('0x3b')]['hasOwnProperty'](_0x4583('0x41'))){_0x12f26e['limit']=qs[_0x4583('0x25')](_0x3c399b['query'][_0x4583('0x25')]);_0x12f26e['offset']=qs[_0x4583('0x24')](_0x3c399b[_0x4583('0x3b')]['offset']);}_0x12f26e[_0x4583('0x42')]=qs[_0x4583('0x43')](_0x3c399b[_0x4583('0x3b')][_0x4583('0x43')]);_0x12f26e['where']=qs[_0x4583('0x3d')](_[_0x4583('0x44')](_0x3c399b[_0x4583('0x3b')],_0x3a558f[_0x4583('0x3d')]),_0x2daf96);if(_0x3c399b[_0x4583('0x3b')]['filter']){_0x12f26e[_0x4583('0x45')]=_[_0x4583('0x46')](_0x12f26e[_0x4583('0x45')],{'$or':_['map'](_0x2daf96,function(_0x3331f2){if(_0x3331f2['type']!==_0x4583('0x47')){var _0x1deda7={};_0x1deda7[_0x3331f2[_0x4583('0x33')]]={'$like':'%'+_0x3c399b[_0x4583('0x3b')][_0x4583('0x48')]+'%'};return _0x1deda7;}})});}_0x12f26e=_[_0x4583('0x46')]({},_0x12f26e,_0x3c399b[_0x4583('0x49')]);var _0x3dfb7f={'where':_0x12f26e['where']};return db[_0x4583('0x36')][_0x4583('0x23')](_0x3dfb7f)[_0x4583('0x2c')](function(_0x25ed15){_0x5ba7e4[_0x4583('0x23')]=_0x25ed15;if(_0x3c399b[_0x4583('0x3b')][_0x4583('0x4a')]){_0x12f26e[_0x4583('0x4b')]=[{'all':!![]}];}return db[_0x4583('0x36')][_0x4583('0x4c')](_0x12f26e);})[_0x4583('0x2c')](function(_0x5e95d8){_0x5ba7e4[_0x4583('0x4d')]=_0x5e95d8;return _0x5ba7e4;})['then'](respondWithFilteredResult(_0x3da12d,_0x12f26e))['catch'](handleError(_0x3da12d,null));};exports[_0x4583('0x4e')]=function(_0x54d776,_0x2b03f0){var _0x2f1bc3={'raw':![],'where':{'id':_0x54d776['params']['id']}},_0x2cab35={};_0x2cab35['model']=_['keys'](db[_0x4583('0x36')][_0x4583('0x37')]);_0x2cab35['query']=_[_0x4583('0x3c')](_0x54d776['query']);_0x2cab35[_0x4583('0x3d')]=_['intersection'](_0x2cab35[_0x4583('0x3a')],_0x2cab35[_0x4583('0x3b')]);_0x2f1bc3[_0x4583('0x3e')]=_[_0x4583('0x3f')](_0x2cab35['model'],qs[_0x4583('0x40')](_0x54d776[_0x4583('0x3b')][_0x4583('0x40')]));_0x2f1bc3[_0x4583('0x3e')]=_0x2f1bc3[_0x4583('0x3e')][_0x4583('0x4f')]?_0x2f1bc3['attributes']:_0x2cab35[_0x4583('0x3a')];if(_0x54d776['query']['includeAll']){_0x2f1bc3[_0x4583('0x4b')]=[{'all':!![]}];}_0x2f1bc3=_[_0x4583('0x46')]({},_0x2f1bc3,_0x54d776[_0x4583('0x49')]);return db['CmList'][_0x4583('0x50')](_0x2f1bc3)['then'](handleEntityNotFound(_0x2b03f0,null))[_0x4583('0x2c')](respondWithResult(_0x2b03f0,null))[_0x4583('0x51')](handleError(_0x2b03f0,null));};exports[_0x4583('0x52')]=function(_0x10cbea,_0x1dbe5e){return db[_0x4583('0x36')][_0x4583('0x52')](_0x10cbea[_0x4583('0x53')],{})[_0x4583('0x2c')](function(_0x1043a9){var _0x4b85b4=_0x10cbea['user']['get']({'plain':!![]});if(!_0x4b85b4)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4b85b4[_0x4583('0x54')]===_0x4583('0x55')){var _0x29f76e=_0x1043a9[_0x4583('0x2d')]({'plain':!![]});var _0x59f2e6=_0x4583('0x2e');return db['UserProfileSection'][_0x4583('0x50')]({'where':{'name':_0x59f2e6,'userProfileId':_0x4b85b4[_0x4583('0x56')]},'raw':!![]})['then'](function(_0x3f9f90){if(_0x3f9f90&&_0x3f9f90['autoAssociation']===0x0){return db[_0x4583('0x2f')][_0x4583('0x52')]({'name':_0x29f76e[_0x4583('0x33')],'resourceId':_0x29f76e['id'],'type':_0x3f9f90[_0x4583('0x33')],'sectionId':_0x3f9f90['id']},{})[_0x4583('0x2c')](function(){return _0x1043a9;});}else{return _0x1043a9;}})[_0x4583('0x51')](function(_0x108257){logger[_0x4583('0x31')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x108257);throw _0x108257;});}return _0x1043a9;})[_0x4583('0x2c')](respondWithResult(_0x1dbe5e,0xc9))['catch'](handleError(_0x1dbe5e,null));};exports['update']=function(_0xc4c377,_0x4c6f63){if(_0xc4c377[_0x4583('0x53')]['id']){delete _0xc4c377[_0x4583('0x53')]['id'];}return db['CmList'][_0x4583('0x50')]({'where':{'id':_0xc4c377[_0x4583('0x57')]['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x4c6f63,null))[_0x4583('0x2c')](saveUpdates(_0xc4c377[_0x4583('0x53')],null))[_0x4583('0x2c')](respondWithResult(_0x4c6f63,null))[_0x4583('0x51')](handleError(_0x4c6f63,null));};exports[_0x4583('0x2b')]=function(_0x291434,_0xe78d49){return db['CmList'][_0x4583('0x50')]({'where':{'id':_0x291434[_0x4583('0x57')]['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0xe78d49,null))['then'](removeEntity(_0xe78d49,null))[_0x4583('0x51')](handleError(_0xe78d49,null));};exports['describe']=function(_0x18496c,_0x7ff062){return db[_0x4583('0x36')][_0x4583('0x58')]()[_0x4583('0x2c')](respondWithResult(_0x7ff062,null))[_0x4583('0x51')](handleError(_0x7ff062,null));};exports['addDisposition']=function(_0x57dbb8,_0x4d7041,_0x14d24e){if(_0x57dbb8[_0x4583('0x53')]['id']){delete _0x57dbb8['body']['id'];}return db[_0x4583('0x36')][_0x4583('0x50')]({'where':{'id':_0x57dbb8['params']['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x4d7041,null))[_0x4583('0x2c')](function(_0x204afd){if(_0x204afd){_0x57dbb8[_0x4583('0x53')]['ListId']=_0x204afd['id'];return db[_0x4583('0x59')]['create'](_0x57dbb8[_0x4583('0x53')]);}})[_0x4583('0x2c')](respondWithResult(_0x4d7041,null))[_0x4583('0x51')](handleError(_0x4d7041,null));};exports[_0x4583('0x5a')]=function(_0xe3d736,_0x5ee8b4,_0x185a78){var _0x48e203={'raw':![],'where':{}};var _0x72289b={};var _0x2bb6b0={'count':0x0,'rows':[]};return db[_0x4583('0x36')][_0x4583('0x5b')]({'where':{'id':_0xe3d736[_0x4583('0x57')]['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x5ee8b4,null))[_0x4583('0x2c')](function(_0x5ab22a){if(_0x5ab22a){_0x72289b[_0x4583('0x3a')]=_[_0x4583('0x3c')](db[_0x4583('0x59')][_0x4583('0x37')]);_0x72289b['query']=_[_0x4583('0x3c')](_0xe3d736[_0x4583('0x3b')]);_0x72289b[_0x4583('0x3d')]=_[_0x4583('0x3f')](_0x72289b[_0x4583('0x3a')],_0x72289b[_0x4583('0x3b')]);_0x48e203[_0x4583('0x3e')]=_[_0x4583('0x3f')](_0x72289b[_0x4583('0x3a')],qs[_0x4583('0x40')](_0xe3d736[_0x4583('0x3b')][_0x4583('0x40')]));_0x48e203[_0x4583('0x3e')]=_0x48e203[_0x4583('0x3e')][_0x4583('0x4f')]?_0x48e203[_0x4583('0x3e')]:_0x72289b[_0x4583('0x3a')];if(!_0xe3d736[_0x4583('0x3b')][_0x4583('0x5c')]('nolimit')){_0x48e203[_0x4583('0x25')]=qs[_0x4583('0x25')](_0xe3d736['query'][_0x4583('0x25')]);_0x48e203[_0x4583('0x24')]=qs[_0x4583('0x24')](_0xe3d736[_0x4583('0x3b')][_0x4583('0x24')]);}_0x48e203['order']=qs[_0x4583('0x43')](_0xe3d736[_0x4583('0x3b')][_0x4583('0x43')]);_0x48e203['where']=qs[_0x4583('0x3d')](_[_0x4583('0x44')](_0xe3d736['query'],_0x72289b[_0x4583('0x3d')]));_0x48e203['where']['ListId']=_0x5ab22a['id'];if(_0xe3d736[_0x4583('0x3b')][_0x4583('0x48')]){_0x48e203[_0x4583('0x45')]=_[_0x4583('0x46')](_0x48e203[_0x4583('0x45')],{'$or':_['map'](_0x48e203['attributes'],function(_0xe3bfb8){var _0x374afb={};_0x374afb[_0xe3bfb8]={'$like':'%'+_0xe3d736[_0x4583('0x3b')]['filter']+'%'};return _0x374afb;})});}_0x48e203=_['merge']({},_0x48e203,_0xe3d736[_0x4583('0x49')]);return db[_0x4583('0x59')][_0x4583('0x23')]({'where':_0x48e203[_0x4583('0x45')]})[_0x4583('0x2c')](function(_0x36ea35){_0x2bb6b0[_0x4583('0x23')]=_0x36ea35;if(_0xe3d736['query'][_0x4583('0x4a')]){_0x48e203[_0x4583('0x4b')]=[{'all':!![]}];}return db[_0x4583('0x59')][_0x4583('0x4c')](_0x48e203);})[_0x4583('0x2c')](function(_0x234799){_0x2bb6b0[_0x4583('0x4d')]=_0x234799;return _0x2bb6b0;});}})[_0x4583('0x2c')](respondWithFilteredResult(_0x5ee8b4,_0x48e203))[_0x4583('0x51')](handleError(_0x5ee8b4,null));};exports[_0x4583('0x5d')]=function(_0x3bf1bf,_0x5b998f,_0x11b581){return db['CmList'][_0x4583('0x50')]({'where':{'id':_0x3bf1bf['params']['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x5b998f,null))[_0x4583('0x2c')](function(_0x506584){if(_0x506584){return _0x506584[_0x4583('0x5d')](_0x3bf1bf[_0x4583('0x3b')][_0x4583('0x5e')]);}})[_0x4583('0x2c')](respondWithStatusCode(_0x5b998f,null))[_0x4583('0x51')](handleError(_0x5b998f,null));};exports['addContacts']=function(_0x4c6f45,_0x5de801,_0xd06ed2){return db[_0x4583('0x36')][_0x4583('0x50')]({'where':{'id':_0x4c6f45['params']['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x5de801,null))[_0x4583('0x2c')](function(_0xd1fc54){if(_0xd1fc54){var _0x1a069d=[];var _0xc7e81={'success':[],'errors':[]};return db[_0x4583('0x5f')][_0x4583('0x58')]()['then'](function(_0x1aa6e7){if(_0x4c6f45['body'][_0x4583('0x60')]&&_[_0x4583('0x61')](_0x4c6f45['body'][_0x4583('0x60')])){if(_0x4c6f45['body'][_0x4583('0x60')][_0x4583('0x4f')]){_0x4c6f45[_0x4583('0x53')][_0x4583('0x60')]=_0x4c6f45[_0x4583('0x53')][_0x4583('0x60')][_0x4583('0x62')](';')+';';}else{_0x4c6f45[_0x4583('0x53')][_0x4583('0x60')]=null;}}else{_0x4c6f45[_0x4583('0x53')]['tags']=null;}if(_0x4c6f45[_0x4583('0x53')]&&_['isArray'](_0x4c6f45[_0x4583('0x53')])){for(var _0x43f6bb=0x0;_0x43f6bb<_0x4c6f45[_0x4583('0x53')][_0x4583('0x4f')];_0x43f6bb+=0x1){_0x4c6f45[_0x4583('0x53')][_0x43f6bb][_0x4583('0x63')]=_0x4c6f45[_0x4583('0x57')]['id'];_0x1a069d[_0x4583('0x64')](_0x4c6f45[_0x4583('0x53')][_0x43f6bb]);}return BPromise[_0x4583('0x65')](_0x1a069d,function(_0x127611){return db[_0x4583('0x5f')][_0x4583('0x52')](_[_0x4583('0x66')](_0x127611,[_0x4583('0x5e'),'id'])||{},{'fields':_[_0x4583('0x3c')](_0x1aa6e7),'raw':!![]})['then'](function(_0x506270){_0xc7e81[_0x4583('0x67')][_0x4583('0x64')](_0x506270[_0x4583('0x68')]);})[_0x4583('0x51')](function(_0x1d902b){_0xc7e81[_0x4583('0x69')][_0x4583('0x64')]({'data':_0x127611,'error':_0x1d902b[_0x4583('0x6a')]});});})[_0x4583('0x2c')](function(_0x36e8f0){return _0xc7e81;})[_0x4583('0x51')](function(_0xd9c5f4){return _0xd9c5f4;});}else{_0x5de801[_0x4583('0x20')](0x190)['json']({'message':'Malformed\x20request\x20syntax'});}});}})[_0x4583('0x2c')](respondWithResult(_0x5de801,null))['catch'](handleError(_0x5de801,null));};exports[_0x4583('0x6b')]=function(_0x17621b,_0x2f9791,_0x47c0ee){var _0x3d1a40;return db[_0x4583('0x36')][_0x4583('0x50')]({'where':{'id':_0x17621b[_0x4583('0x57')]['id']},'include':[{'model':db[_0x4583('0x6c')],'as':_0x4583('0x6d')}]})[_0x4583('0x2c')](handleEntityNotFound(_0x2f9791,null))[_0x4583('0x2c')](function(_0x3ef25c){if(_0x3ef25c){_0x3d1a40=_0x3ef25c;return db[_0x4583('0x5f')][_0x4583('0x37')];}})[_0x4583('0x2c')](function(_0x28afb2){if(_0x28afb2){var _0x333a63={};var _0x5eee63={};_0x5eee63[_0x4583('0x3a')]=_[_0x4583('0x6e')](_[_0x4583('0x3c')](_0x28afb2),_[_0x4583('0x35')](_0x3d1a40[_0x4583('0x6d')],function(_0x360be8){return util[_0x4583('0x6f')](_0x4583('0x70'),_0x360be8['id']);}));_0x5eee63[_0x4583('0x3b')]=_[_0x4583('0x3c')](_0x17621b[_0x4583('0x3b')]);_0x5eee63[_0x4583('0x3d')]=_[_0x4583('0x3f')](_0x5eee63[_0x4583('0x3a')],_0x5eee63[_0x4583('0x3b')]);_0x333a63['attributes']=_[_0x4583('0x3f')](_0x5eee63[_0x4583('0x3a')],qs[_0x4583('0x40')](_0x17621b['query'][_0x4583('0x40')]));_0x333a63['attributes']=_0x333a63[_0x4583('0x3e')][_0x4583('0x4f')]?_0x333a63[_0x4583('0x3e')]:_0x5eee63[_0x4583('0x3a')];if(!_0x17621b[_0x4583('0x3b')][_0x4583('0x5c')](_0x4583('0x41'))){_0x333a63[_0x4583('0x25')]=qs[_0x4583('0x25')](_0x17621b[_0x4583('0x3b')][_0x4583('0x25')]);_0x333a63['offset']=qs[_0x4583('0x24')](_0x17621b[_0x4583('0x3b')]['offset']);}_0x333a63[_0x4583('0x42')]=qs[_0x4583('0x43')](_0x17621b[_0x4583('0x3b')]['sort']);_0x333a63['where']=qs[_0x4583('0x3d')](_[_0x4583('0x44')](_0x17621b['query'],_0x5eee63[_0x4583('0x3d')]));_0x333a63[_0x4583('0x71')]=!![];if(_0x17621b[_0x4583('0x3b')][_0x4583('0x48')]){_0x333a63[_0x4583('0x45')]=_[_0x4583('0x46')](_0x333a63[_0x4583('0x45')],{'$or':_['map'](_0x333a63['attributes'],function(_0x4b60b9){var _0x3404f7={};_0x3404f7[_0x4b60b9]={'$like':'%'+_0x17621b['query'][_0x4583('0x48')]+'%'};return _0x3404f7;})});}_0x333a63=_[_0x4583('0x46')]({},_0x333a63,_0x17621b[_0x4583('0x49')]);return _0x3d1a40[_0x4583('0x6b')](_0x333a63);}})[_0x4583('0x2c')](respondWithResult(_0x2f9791,null))[_0x4583('0x51')](handleError(_0x2f9791,null));};exports[_0x4583('0x72')]=function(_0x183b9b,_0x6b24f4,_0x353cbf){var _0x2e90d7;var _0x2aa00f;var _0x5518ea;var _0x289610=_0x183b9b['params']['id'];csv_results=[];return db[_0x4583('0x73')]['findAll']({'attributes':['id',_0x4583('0x33')],'raw':!![],'order':[_0x4583('0x74')]})[_0x4583('0x2c')](function(_0x2d0f30){_0x2e90d7=_0x2d0f30;var _0xa9252c=_['keys'](db[_0x4583('0x5f')][_0x4583('0x37')]);return db[_0x4583('0x6c')][_0x4583('0x4c')]({'raw':!![],'attributes':['id','alias']})['then'](function(_0x2465f2){_0x2aa00f=_0x2465f2;var _0x514810=squel[_0x4583('0x75')]()[_0x4583('0x40')](_0xa9252c)[_0x4583('0x76')]('cm_contacts','c')[_0x4583('0x45')]('c.ListId\x20=\x20?',_0x289610)['where'](_0x4583('0x77'))['distinct']();for(var _0x1aa8d4=0x0;_0x1aa8d4<_0x2aa00f[_0x4583('0x4f')];_0x1aa8d4++){_0x514810[_0x4583('0x78')]('c.cf_'+_0x2aa00f[_0x1aa8d4]['id'],'customField_'+_0x2aa00f[_0x1aa8d4]['alias']);}for(var _0x1aa8d4=0x0;_0x1aa8d4<_0x2e90d7[_0x4583('0x4f')];_0x1aa8d4++){_0x514810[_0x4583('0x78')](squel[_0x4583('0x75')]()[_0x4583('0x78')]('item')['from'](_0x4583('0x79'))[_0x4583('0x45')](_0x4583('0x7a'),_0x2e90d7[_0x1aa8d4]['id'])[_0x4583('0x45')](_0x4583('0x7b')),'additionalPhone_'+_0x2e90d7[_0x1aa8d4][_0x4583('0x33')]);_0x514810[_0x4583('0x78')](squel[_0x4583('0x75')]()[_0x4583('0x78')](_0x4583('0x7c'))[_0x4583('0x76')](_0x4583('0x79'))[_0x4583('0x45')](_0x4583('0x7a'),_0x2e90d7[_0x1aa8d4]['id'])[_0x4583('0x45')](_0x4583('0x7b')),_0x4583('0x7d')+_0x2e90d7[_0x1aa8d4][_0x4583('0x33')]);}var _0x39d05d=[];_0x39d05d['push'](_0x514810[_0x4583('0x7e')]());BPromise['each'](_0x39d05d,handleQuery)[_0x4583('0x2c')](function(_0x3c0176){handleQuery(_0x514810[_0x4583('0x7e')]());var _0x6e94b7=csv_results[0x0];if(!_[_0x4583('0x7f')](_0x6e94b7)){var _0x1ff1f5=toCsv(_0x6e94b7);var _0x23e74f=Date[_0x4583('0x80')]();fs['writeFileSync'](util[_0x4583('0x6f')](_0x4583('0x81'),_0x289610,_0x23e74f),_0x1ff1f5);_0x6b24f4[_0x4583('0x82')](_0x4583('0x83'),_0x4583('0x84')+util[_0x4583('0x6f')](_0x4583('0x85'),_0x289610,_0x23e74f));_0x6b24f4[_0x4583('0x82')](_0x4583('0x86'),_0x4583('0x87'));return _0x6b24f4[_0x4583('0x88')](util['format'](_0x4583('0x81'),_0x289610,_0x23e74f));}else{return _0x6b24f4[_0x4583('0x1f')](0xcc);}});});});};exports[_0x4583('0x89')]=function(_0x41afed,_0x27359d,_0x18cdd2){var _0x4498d0;delete _0x41afed['body']['id'];return db[_0x4583('0x36')][_0x4583('0x5b')]({'where':{'id':_0x41afed['params']['id']}})['then'](handleEntityNotFound(_0x27359d,null))['then'](function(_0x4d53f8){if(_0x4d53f8){return db['sequelize'][_0x4583('0x8a')](function(_0x337ebf){return db[_0x4583('0x6c')][_0x4583('0x52')](_0x41afed[_0x4583('0x53')],{'transaction':_0x337ebf})[_0x4583('0x2c')](function(_0xda246c){_0x4498d0=_0xda246c;return _0x4d53f8[_0x4583('0x8b')](_0xda246c,{'transaction':_0x337ebf});})[_0x4583('0x2c')](function(){var _0x4a69f8={'type':db['Sequelize'][_0x4583('0x8c')],'transaction':_0x337ebf};switch(_0x41afed[_0x4583('0x53')][_0x4583('0x39')]){case _0x4583('0x8d'):_0x4a69f8[_0x4583('0x39')]=db['Sequelize'][_0x4583('0x8c')];break;case _0x4583('0x8e'):_0x4a69f8[_0x4583('0x39')]=db['Sequelize'][_0x4583('0x8f')];break;case _0x4583('0x90'):_0x4a69f8[_0x4583('0x39')]=db['Sequelize'][_0x4583('0x91')];_0x4a69f8[_0x4583('0x92')]=![];break;default:}return db[_0x4583('0x93')][_0x4583('0x94')][_0x4583('0x95')](_0x4583('0x96'),util['format'](_0x4583('0x97'),_0x4498d0['id']),_0x4a69f8);})[_0x4583('0x2c')](function(){return _0x4498d0;});});}})['then'](respondWithResult(_0x27359d,null))['catch'](handleError(_0x27359d,null));};exports[_0x4583('0x98')]=function(_0x2a51c1,_0x8d1091,_0x462ef6){var _0x5c3f18={};var _0x6731c={};var _0x24f633;var _0x3d2a84;return db['CmList']['findOne']({'where':{'id':_0x2a51c1[_0x4583('0x57')]['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x8d1091,null))[_0x4583('0x2c')](function(_0x4bcc27){if(_0x4bcc27){_0x24f633=_0x4bcc27;_0x6731c[_0x4583('0x3a')]=_['keys'](db[_0x4583('0x6c')][_0x4583('0x37')]);_0x6731c[_0x4583('0x3b')]=_['keys'](_0x2a51c1[_0x4583('0x3b')]);_0x6731c[_0x4583('0x3d')]=_['intersection'](_0x6731c[_0x4583('0x3a')],_0x6731c[_0x4583('0x3b')]);_0x5c3f18[_0x4583('0x3e')]=_[_0x4583('0x3f')](_0x6731c[_0x4583('0x3a')],qs[_0x4583('0x40')](_0x2a51c1[_0x4583('0x3b')]['fields']));_0x5c3f18[_0x4583('0x3e')]=_0x5c3f18[_0x4583('0x3e')][_0x4583('0x4f')]?_0x5c3f18['attributes']:_0x6731c[_0x4583('0x3a')];_0x5c3f18['order']=qs[_0x4583('0x43')](_0x2a51c1[_0x4583('0x3b')][_0x4583('0x43')]);_0x5c3f18[_0x4583('0x45')]=qs[_0x4583('0x3d')](_['pick'](_0x2a51c1[_0x4583('0x3b')],_0x6731c['filters']));_0x5c3f18['where']=_[_0x4583('0x46')](_0x5c3f18[_0x4583('0x45')],{'$or':[{'ListId':_0x4bcc27['id']},{'ListId':null}]});if(_0x2a51c1[_0x4583('0x3b')][_0x4583('0x48')]){_0x5c3f18[_0x4583('0x45')]=_[_0x4583('0x46')](_0x5c3f18[_0x4583('0x45')],{'$or':_[_0x4583('0x35')](_0x5c3f18[_0x4583('0x3e')],function(_0x268f8e){var _0x5db23d={};_0x5db23d[_0x268f8e]={'$like':'%'+_0x2a51c1['query'][_0x4583('0x48')]+'%'};return _0x5db23d;})});}_0x5c3f18=_['merge']({},_0x5c3f18,_0x2a51c1['options']);return db['CmCustomField'][_0x4583('0x99')](_0x5c3f18);}})['then'](respondWithResult(_0x8d1091,null))[_0x4583('0x51')](handleError(_0x8d1091,null));};exports[_0x4583('0x9a')]=function(_0x521778,_0x161124){return db[_0x4583('0x6c')][_0x4583('0x99')]({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x161124,null))[_0x4583('0x2c')](function(_0x42ad8b){return _0x42ad8b;})['then'](respondWithResult(_0x161124,null))['catch'](handleError(_0x161124,null));};exports[_0x4583('0x9b')]=function(_0x2a2c6d,_0x15de78,_0x22503a){return db[_0x4583('0x36')]['find']({'where':{'id':_0x2a2c6d[_0x4583('0x57')]['id']}})['then'](handleEntityNotFound(_0x15de78,null))[_0x4583('0x2c')](function(_0x47a718){if(_0x47a718){return _0x47a718[_0x4583('0x9b')](_0x2a2c6d[_0x4583('0x53')][_0x4583('0x5e')],_[_0x4583('0x66')](_0x2a2c6d['body'],['ids','id'])||{})[_0x4583('0x9c')](function(_0x4cf0d5){for(var _0x42a73f=0x0;_0x42a73f<_0x2a2c6d[_0x4583('0x53')][_0x4583('0x5e')]['length'];_0x42a73f+=0x1){socket[_0x4583('0x9d')](_0x4583('0x9e'),{'UserId':Number(_0x2a2c6d[_0x4583('0x53')][_0x4583('0x5e')][_0x42a73f]),'CmListId':Number(_0x2a2c6d[_0x4583('0x57')]['id'])});}return _0x4cf0d5;});}})[_0x4583('0x2c')](respondWithResult(_0x15de78,null))[_0x4583('0x51')](handleError(_0x15de78,null));};exports['removeAgents']=function(_0x18d889,_0x1038e6,_0x5d047d){return db['CmList']['find']({'where':{'id':_0x18d889[_0x4583('0x57')]['id']}})[_0x4583('0x2c')](handleEntityNotFound(_0x1038e6,null))[_0x4583('0x2c')](function(_0x4c9a7e){if(_0x4c9a7e){return _0x4c9a7e[_0x4583('0x9f')](_0x18d889[_0x4583('0x3b')][_0x4583('0x5e')])[_0x4583('0x2c')](function(){if(_[_0x4583('0x61')](_0x18d889[_0x4583('0x3b')][_0x4583('0x5e')])){for(var _0x12346e=0x0;_0x12346e<_0x18d889[_0x4583('0x3b')][_0x4583('0x5e')][_0x4583('0x4f')];_0x12346e+=0x1){socket['emit'](_0x4583('0xa0'),{'UserId':Number(_0x18d889[_0x4583('0x3b')][_0x4583('0x5e')][_0x12346e]),'CmListId':Number(_0x18d889[_0x4583('0x57')]['id'])});}}else{socket[_0x4583('0x9d')](_0x4583('0xa0'),{'UserId':Number(_0x18d889[_0x4583('0x3b')][_0x4583('0x5e')]),'CmListId':Number(_0x18d889['params']['id'])});}});}})[_0x4583('0x2c')](respondWithStatusCode(_0x1038e6,null))[_0x4583('0x51')](handleError(_0x1038e6,null));};exports[_0x4583('0xa1')]=function(_0x201585,_0x424c70,_0x26ce7f){var _0x58564d={};var _0x524dfd={};var _0x29d53b;var _0x52de8e;return db[_0x4583('0x36')][_0x4583('0x5b')]({'where':{'id':_0x201585[_0x4583('0x57')]['id']}})['then'](handleEntityNotFound(_0x424c70,null))[_0x4583('0x2c')](function(_0xb9f37b){if(_0xb9f37b){_0x29d53b=_0xb9f37b;_0x524dfd[_0x4583('0x3a')]=_[_0x4583('0x3c')](db['User'][_0x4583('0x37')]);_0x524dfd['query']=_[_0x4583('0x3c')](_0x201585['query']);_0x524dfd['filters']=_['intersection'](_0x524dfd['model'],_0x524dfd[_0x4583('0x3b')]);_0x58564d['attributes']=_[_0x4583('0x3f')](_0x524dfd[_0x4583('0x3a')],qs[_0x4583('0x40')](_0x201585[_0x4583('0x3b')][_0x4583('0x40')]));_0x58564d[_0x4583('0x3e')]=_0x58564d[_0x4583('0x3e')][_0x4583('0x4f')]?_0x58564d[_0x4583('0x3e')]:_0x524dfd[_0x4583('0x3a')];_0x58564d[_0x4583('0x42')]=qs['sort'](_0x201585[_0x4583('0x3b')]['sort']);_0x58564d[_0x4583('0x45')]=qs[_0x4583('0x3d')](_[_0x4583('0x44')](_0x201585['query'],_0x524dfd[_0x4583('0x3d')]));if(_0x201585[_0x4583('0x3b')][_0x4583('0x48')]){_0x58564d['where']=_[_0x4583('0x46')](_0x58564d[_0x4583('0x45')],{'$or':_[_0x4583('0x35')](_0x58564d[_0x4583('0x3e')],function(_0x5427a0){var _0x9ef296={};_0x9ef296[_0x5427a0]={'$like':'%'+_0x201585[_0x4583('0x3b')][_0x4583('0x48')]+'%'};return _0x9ef296;})});}_0x58564d=_[_0x4583('0x46')]({},_0x58564d,_0x201585['options']);return _0x29d53b[_0x4583('0xa1')](_0x58564d);}})['then'](function(_0x5dd236){if(_0x5dd236){_0x52de8e=_0x5dd236['length'];if(!_0x201585[_0x4583('0x3b')][_0x4583('0x5c')](_0x4583('0x41'))){_0x58564d['limit']=qs[_0x4583('0x25')](_0x201585[_0x4583('0x3b')]['limit']);_0x58564d['offset']=qs['offset'](_0x201585[_0x4583('0x3b')][_0x4583('0x24')]);}return _0x29d53b[_0x4583('0xa1')](_0x58564d);}})[_0x4583('0x2c')](function(_0x38e0b3){if(_0x38e0b3){return _0x38e0b3?{'count':_0x52de8e,'rows':_0x38e0b3}:null;}})['then'](respondWithResult(_0x424c70,null))['catch'](handleError(_0x424c70,null));};function handleQuery(_0x1398ab){logger['info'](_0x1398ab);return db['sequelize'][_0x4583('0x3b')](_0x1398ab)[_0x4583('0x9c')](function(_0x45cd5c){csv_results[_0x4583('0x64')](_0x45cd5c);})['catch'](function(_0x3fc482){logger[_0x4583('0x31')](_0x3fc482[_0x4583('0x6a')]);});}