Built motion from commit fd055180.|2.6.30
[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 _0x7b5c=['name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','count','include','CmList','findAll','rows','catch','params','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ListId','getDispositions','findOne','Disposition','removeDispositions','addContacts','CmContact','isArray','tags','join','push','each','omit','ids','success','dataValues','errors','message','Malformed\x20request\x20syntax','CmCustomField','CustomFields','concat','format','getContactsCsv','ContactItemType','OrderBy','alias','select','cm_contacts','c.ListId\x20=\x20?','distinct','field','c.cf_','customField_','item','from','cm_contact_has_items','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','description','isEmpty','now','writeFileSync','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','text/csv','/tmp/list_%d_%s.csv','addCustomField','addCustomFields','TEXT','text','Sequelize','INTEGER','switch','BOOLEAN','defaultValue','sequelize','queryInterface','cf_%s','getCustomFields','findAndCountAll','getGlobalCustomFields','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','info','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','update','then','destroy','Lists','UserProfileResource','sendStatus'];(function(_0x19364f,_0x89ae19){var _0x498a70=function(_0x1e547e){while(--_0x1e547e){_0x19364f['push'](_0x19364f['shift']());}};_0x498a70(++_0x89ae19);}(_0x7b5c,0x11c));var _0xc7b5=function(_0x505a5c,_0x5a8f6f){_0x505a5c=_0x505a5c-0x0;var _0x3d14fc=_0x7b5c[_0x505a5c];return _0x3d14fc;};'use strict';var emlformat=require(_0xc7b5('0x0'));var rimraf=require(_0xc7b5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc7b5('0x2'));var rp=require(_0xc7b5('0x3'));var moment=require(_0xc7b5('0x4'));var BPromise=require(_0xc7b5('0x5'));var Mustache=require('mustache');var util=require(_0xc7b5('0x6'));var path=require(_0xc7b5('0x7'));var sox=require(_0xc7b5('0x8'));var csv=require(_0xc7b5('0x9'));var ejs=require(_0xc7b5('0xa'));var fs=require('fs');var fs_extra=require(_0xc7b5('0xb'));var _=require(_0xc7b5('0xc'));var squel=require(_0xc7b5('0xd'));var crypto=require('crypto');var jsforce=require(_0xc7b5('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xc7b5('0x9'));var querystring=require(_0xc7b5('0xf'));var Papa=require(_0xc7b5('0x10'));var Redis=require('ioredis');var authService=require(_0xc7b5('0x11'));var qs=require(_0xc7b5('0x12'));var as=require(_0xc7b5('0x13'));var hardwareService=require(_0xc7b5('0x14'));var logger=require(_0xc7b5('0x15'))(_0xc7b5('0x16'));var utils=require(_0xc7b5('0x17'));var config=require(_0xc7b5('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xc7b5('0x19'))['db'];var csv_results;config['redis']=_[_0xc7b5('0x1a')](config[_0xc7b5('0x1b')],{'host':_0xc7b5('0x1c'),'port':0x18eb});var socket=require(_0xc7b5('0x1d'))(new Redis(config['redis']));require('./cmList.socket')[_0xc7b5('0x1e')](socket);function respondWithStatusCode(_0x4d62db,_0x443962){_0x443962=_0x443962||0xcc;return function(_0x4ce803){if(_0x4ce803){return _0x4d62db['sendStatus'](_0x443962);}return _0x4d62db[_0xc7b5('0x1f')](_0x443962)[_0xc7b5('0x20')]();};}function respondWithResult(_0x3b0dc3,_0x3071be){_0x3071be=_0x3071be||0xc8;return function(_0x2fcf9a){if(_0x2fcf9a){return _0x3b0dc3['status'](_0x3071be)[_0xc7b5('0x21')](_0x2fcf9a);}};}function respondWithFilteredResult(_0x1d5d9e,_0x297255){return function(_0x558523){if(_0x558523){var _0x5d46c8=typeof _0x297255[_0xc7b5('0x22')]===_0xc7b5('0x23')&&typeof _0x297255[_0xc7b5('0x24')]==='undefined';var _0x2c33bc=_0x558523['count'];var _0xcc010=_0x5d46c8?0x0:_0x297255[_0xc7b5('0x22')];var _0x9be3e3=_0x5d46c8?_0x558523['count']:_0x297255['offset']+_0x297255[_0xc7b5('0x24')];var _0x52c22a;if(_0x9be3e3>=_0x2c33bc){_0x9be3e3=_0x2c33bc;_0x52c22a=0xc8;}else{_0x52c22a=0xce;}_0x1d5d9e['status'](_0x52c22a);return _0x1d5d9e[_0xc7b5('0x25')](_0xc7b5('0x26'),_0xcc010+'-'+_0x9be3e3+'/'+_0x2c33bc)[_0xc7b5('0x21')](_0x558523);}return null;};}function patchUpdates(_0x41c172){return function(_0x24f9db){try{jsonpatch[_0xc7b5('0x27')](_0x24f9db,_0x41c172,!![]);}catch(_0x5b0755){return BPromise[_0xc7b5('0x28')](_0x5b0755);}return _0x24f9db[_0xc7b5('0x29')]();};}function saveUpdates(_0x341832,_0x484792){return function(_0x1f2608){if(_0x1f2608){return _0x1f2608[_0xc7b5('0x2a')](_0x341832)[_0xc7b5('0x2b')](function(_0x3d6c94){return _0x3d6c94;});}return null;};}function removeEntity(_0x593bdf,_0x24c408){return function(_0x42aa7b){if(_0x42aa7b){return _0x42aa7b[_0xc7b5('0x2c')]()['then'](function(){var _0x4d9b5e=_0x42aa7b['get']({'plain':!![]});var _0x20abe9=_0xc7b5('0x2d');return db[_0xc7b5('0x2e')][_0xc7b5('0x2c')]({'where':{'type':_0x20abe9,'resourceId':_0x4d9b5e['id']}})[_0xc7b5('0x2b')](function(){return _0x42aa7b;});})[_0xc7b5('0x2b')](function(){_0x593bdf[_0xc7b5('0x1f')](0xcc)[_0xc7b5('0x20')]();});}};}function handleEntityNotFound(_0x334e0a,_0x1d29d1){return function(_0x1b8fea){if(!_0x1b8fea){_0x334e0a[_0xc7b5('0x2f')](0x194);}return _0x1b8fea;};}function handleError(_0x950e4c,_0x1403b9){_0x1403b9=_0x1403b9||0x1f4;return function(_0x22e1b2){logger['error'](_0x22e1b2['stack']);if(_0x22e1b2[_0xc7b5('0x30')]){delete _0x22e1b2[_0xc7b5('0x30')];}_0x950e4c['status'](_0x1403b9)['send'](_0x22e1b2);};}exports[_0xc7b5('0x31')]=function(_0x1e5714,_0x51d7e1){var _0x525850={},_0x2bd40f={},_0x3411b7={'count':0x0,'rows':[]};var _0x53e917=_[_0xc7b5('0x32')](db['CmList'][_0xc7b5('0x33')],function(_0x2e712e){return{'name':_0x2e712e[_0xc7b5('0x34')],'type':_0x2e712e[_0xc7b5('0x35')][_0xc7b5('0x36')]};});_0x2bd40f[_0xc7b5('0x37')]=_[_0xc7b5('0x32')](_0x53e917,'name');_0x2bd40f[_0xc7b5('0x38')]=_[_0xc7b5('0x39')](_0x1e5714[_0xc7b5('0x38')]);_0x2bd40f[_0xc7b5('0x3a')]=_['intersection'](_0x2bd40f[_0xc7b5('0x37')],_0x2bd40f['query']);_0x525850['attributes']=_[_0xc7b5('0x3b')](_0x2bd40f[_0xc7b5('0x37')],qs[_0xc7b5('0x3c')](_0x1e5714['query'][_0xc7b5('0x3c')]));_0x525850[_0xc7b5('0x3d')]=_0x525850['attributes'][_0xc7b5('0x3e')]?_0x525850[_0xc7b5('0x3d')]:_0x2bd40f[_0xc7b5('0x37')];if(!_0x1e5714[_0xc7b5('0x38')][_0xc7b5('0x3f')](_0xc7b5('0x40'))){_0x525850[_0xc7b5('0x24')]=qs['limit'](_0x1e5714[_0xc7b5('0x38')][_0xc7b5('0x24')]);_0x525850[_0xc7b5('0x22')]=qs[_0xc7b5('0x22')](_0x1e5714[_0xc7b5('0x38')][_0xc7b5('0x22')]);}_0x525850[_0xc7b5('0x41')]=qs[_0xc7b5('0x42')](_0x1e5714[_0xc7b5('0x38')][_0xc7b5('0x42')]);_0x525850[_0xc7b5('0x43')]=qs[_0xc7b5('0x3a')](_[_0xc7b5('0x44')](_0x1e5714[_0xc7b5('0x38')],_0x2bd40f['filters']),_0x53e917);if(_0x1e5714[_0xc7b5('0x38')]['filter']){_0x525850[_0xc7b5('0x43')]=_[_0xc7b5('0x45')](_0x525850[_0xc7b5('0x43')],{'$or':_['map'](_0x53e917,function(_0x577301){if(_0x577301[_0xc7b5('0x35')]!==_0xc7b5('0x46')){var _0x5516f6={};_0x5516f6[_0x577301[_0xc7b5('0x30')]]={'$like':'%'+_0x1e5714[_0xc7b5('0x38')][_0xc7b5('0x47')]+'%'};return _0x5516f6;}})});}_0x525850=_['merge']({},_0x525850,_0x1e5714[_0xc7b5('0x48')]);var _0x4ec432={'where':_0x525850[_0xc7b5('0x43')]};return db['CmList']['count'](_0x4ec432)[_0xc7b5('0x2b')](function(_0x3fc202){_0x3411b7[_0xc7b5('0x49')]=_0x3fc202;if(_0x1e5714['query']['includeAll']){_0x525850[_0xc7b5('0x4a')]=[{'all':!![]}];}return db[_0xc7b5('0x4b')][_0xc7b5('0x4c')](_0x525850);})[_0xc7b5('0x2b')](function(_0x4cd319){_0x3411b7[_0xc7b5('0x4d')]=_0x4cd319;return _0x3411b7;})[_0xc7b5('0x2b')](respondWithFilteredResult(_0x51d7e1,_0x525850))[_0xc7b5('0x4e')](handleError(_0x51d7e1,null));};exports['show']=function(_0x43cf6c,_0xd8d7a4){var _0x178536={'raw':![],'where':{'id':_0x43cf6c[_0xc7b5('0x4f')]['id']}},_0x2e3aae={};_0x2e3aae['model']=_[_0xc7b5('0x39')](db[_0xc7b5('0x4b')][_0xc7b5('0x33')]);_0x2e3aae['query']=_[_0xc7b5('0x39')](_0x43cf6c[_0xc7b5('0x38')]);_0x2e3aae[_0xc7b5('0x3a')]=_[_0xc7b5('0x3b')](_0x2e3aae[_0xc7b5('0x37')],_0x2e3aae[_0xc7b5('0x38')]);_0x178536[_0xc7b5('0x3d')]=_[_0xc7b5('0x3b')](_0x2e3aae[_0xc7b5('0x37')],qs[_0xc7b5('0x3c')](_0x43cf6c[_0xc7b5('0x38')][_0xc7b5('0x3c')]));_0x178536['attributes']=_0x178536[_0xc7b5('0x3d')][_0xc7b5('0x3e')]?_0x178536[_0xc7b5('0x3d')]:_0x2e3aae[_0xc7b5('0x37')];if(_0x43cf6c[_0xc7b5('0x38')][_0xc7b5('0x50')]){_0x178536[_0xc7b5('0x4a')]=[{'all':!![]}];}_0x178536=_[_0xc7b5('0x45')]({},_0x178536,_0x43cf6c['options']);return db[_0xc7b5('0x4b')][_0xc7b5('0x51')](_0x178536)[_0xc7b5('0x2b')](handleEntityNotFound(_0xd8d7a4,null))[_0xc7b5('0x2b')](respondWithResult(_0xd8d7a4,null))[_0xc7b5('0x4e')](handleError(_0xd8d7a4,null));};exports[_0xc7b5('0x52')]=function(_0x117dda,_0x3300da){return db[_0xc7b5('0x4b')][_0xc7b5('0x52')](_0x117dda[_0xc7b5('0x53')],{})[_0xc7b5('0x2b')](function(_0x2179f9){var _0xfdfd70=_0x117dda[_0xc7b5('0x54')][_0xc7b5('0x55')]({'plain':!![]});if(!_0xfdfd70)throw new Error(_0xc7b5('0x56'));if(_0xfdfd70['role']===_0xc7b5('0x54')){var _0x4c454=_0x2179f9['get']({'plain':!![]});var _0x2e401e=_0xc7b5('0x2d');return db[_0xc7b5('0x57')][_0xc7b5('0x51')]({'where':{'name':_0x2e401e,'userProfileId':_0xfdfd70['userProfileId']},'raw':!![]})[_0xc7b5('0x2b')](function(_0x1cfe77){if(_0x1cfe77&&_0x1cfe77[_0xc7b5('0x58')]===0x0){return db[_0xc7b5('0x2e')][_0xc7b5('0x52')]({'name':_0x4c454[_0xc7b5('0x30')],'resourceId':_0x4c454['id'],'type':_0x1cfe77[_0xc7b5('0x30')],'sectionId':_0x1cfe77['id']},{})[_0xc7b5('0x2b')](function(){return _0x2179f9;});}else{return _0x2179f9;}})[_0xc7b5('0x4e')](function(_0x4da7af){logger[_0xc7b5('0x59')](_0xc7b5('0x5a'),_0x4da7af);throw _0x4da7af;});}return _0x2179f9;})[_0xc7b5('0x2b')](respondWithResult(_0x3300da,0xc9))[_0xc7b5('0x4e')](handleError(_0x3300da,null));};exports['update']=function(_0x1d0be9,_0x285ce5){if(_0x1d0be9[_0xc7b5('0x53')]['id']){delete _0x1d0be9[_0xc7b5('0x53')]['id'];}return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x1d0be9[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x285ce5,null))[_0xc7b5('0x2b')](saveUpdates(_0x1d0be9[_0xc7b5('0x53')],null))[_0xc7b5('0x2b')](respondWithResult(_0x285ce5,null))[_0xc7b5('0x4e')](handleError(_0x285ce5,null));};exports['destroy']=function(_0x235afa,_0x3eb07e){return db[_0xc7b5('0x4b')]['find']({'where':{'id':_0x235afa[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x3eb07e,null))['then'](removeEntity(_0x3eb07e,null))[_0xc7b5('0x4e')](handleError(_0x3eb07e,null));};exports[_0xc7b5('0x5b')]=function(_0x3d3c0e,_0x2b3f07){return db[_0xc7b5('0x4b')][_0xc7b5('0x5b')]()['then'](respondWithResult(_0x2b3f07,null))[_0xc7b5('0x4e')](handleError(_0x2b3f07,null));};exports[_0xc7b5('0x5c')]=function(_0x28cec,_0x590121,_0x1d7f0e){if(_0x28cec['body']['id']){delete _0x28cec[_0xc7b5('0x53')]['id'];}return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x28cec[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x590121,null))[_0xc7b5('0x2b')](function(_0xc348e2){if(_0xc348e2){_0x28cec[_0xc7b5('0x53')][_0xc7b5('0x5d')]=_0xc348e2['id'];return db['Disposition'][_0xc7b5('0x52')](_0x28cec[_0xc7b5('0x53')]);}})[_0xc7b5('0x2b')](respondWithResult(_0x590121,null))[_0xc7b5('0x4e')](handleError(_0x590121,null));};exports[_0xc7b5('0x5e')]=function(_0x918a60,_0x25efeb,_0x11754f){var _0x5be4cb={'raw':![],'where':{}};var _0x5a4872={};var _0x1b3c9b={'count':0x0,'rows':[]};return db[_0xc7b5('0x4b')][_0xc7b5('0x5f')]({'where':{'id':_0x918a60[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x25efeb,null))[_0xc7b5('0x2b')](function(_0x4ded13){if(_0x4ded13){_0x5a4872[_0xc7b5('0x37')]=_[_0xc7b5('0x39')](db['Disposition'][_0xc7b5('0x33')]);_0x5a4872[_0xc7b5('0x38')]=_[_0xc7b5('0x39')](_0x918a60['query']);_0x5a4872[_0xc7b5('0x3a')]=_[_0xc7b5('0x3b')](_0x5a4872[_0xc7b5('0x37')],_0x5a4872['query']);_0x5be4cb[_0xc7b5('0x3d')]=_['intersection'](_0x5a4872['model'],qs[_0xc7b5('0x3c')](_0x918a60[_0xc7b5('0x38')]['fields']));_0x5be4cb['attributes']=_0x5be4cb[_0xc7b5('0x3d')][_0xc7b5('0x3e')]?_0x5be4cb[_0xc7b5('0x3d')]:_0x5a4872[_0xc7b5('0x37')];if(!_0x918a60[_0xc7b5('0x38')]['hasOwnProperty'](_0xc7b5('0x40'))){_0x5be4cb[_0xc7b5('0x24')]=qs[_0xc7b5('0x24')](_0x918a60[_0xc7b5('0x38')]['limit']);_0x5be4cb[_0xc7b5('0x22')]=qs[_0xc7b5('0x22')](_0x918a60[_0xc7b5('0x38')][_0xc7b5('0x22')]);}_0x5be4cb[_0xc7b5('0x41')]=qs['sort'](_0x918a60[_0xc7b5('0x38')][_0xc7b5('0x42')]);_0x5be4cb['where']=qs[_0xc7b5('0x3a')](_[_0xc7b5('0x44')](_0x918a60[_0xc7b5('0x38')],_0x5a4872['filters']));_0x5be4cb[_0xc7b5('0x43')]['ListId']=_0x4ded13['id'];if(_0x918a60[_0xc7b5('0x38')]['filter']){_0x5be4cb['where']=_[_0xc7b5('0x45')](_0x5be4cb[_0xc7b5('0x43')],{'$or':_[_0xc7b5('0x32')](_0x5be4cb['attributes'],function(_0x3fed15){var _0x37be0e={};_0x37be0e[_0x3fed15]={'$like':'%'+_0x918a60[_0xc7b5('0x38')][_0xc7b5('0x47')]+'%'};return _0x37be0e;})});}_0x5be4cb=_[_0xc7b5('0x45')]({},_0x5be4cb,_0x918a60[_0xc7b5('0x48')]);return db[_0xc7b5('0x60')][_0xc7b5('0x49')]({'where':_0x5be4cb['where']})['then'](function(_0x2df419){_0x1b3c9b['count']=_0x2df419;if(_0x918a60[_0xc7b5('0x38')][_0xc7b5('0x50')]){_0x5be4cb['include']=[{'all':!![]}];}return db[_0xc7b5('0x60')]['findAll'](_0x5be4cb);})[_0xc7b5('0x2b')](function(_0x41174e){_0x1b3c9b[_0xc7b5('0x4d')]=_0x41174e;return _0x1b3c9b;});}})['then'](respondWithFilteredResult(_0x25efeb,_0x5be4cb))[_0xc7b5('0x4e')](handleError(_0x25efeb,null));};exports[_0xc7b5('0x61')]=function(_0x183779,_0x5acb43,_0x50a2ab){return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x183779[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x5acb43,null))[_0xc7b5('0x2b')](function(_0x34093b){if(_0x34093b){return _0x34093b[_0xc7b5('0x61')](_0x183779[_0xc7b5('0x38')]['ids']);}})[_0xc7b5('0x2b')](respondWithStatusCode(_0x5acb43,null))[_0xc7b5('0x4e')](handleError(_0x5acb43,null));};exports[_0xc7b5('0x62')]=function(_0x2c20d1,_0x51131f,_0x3d1d9a){return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x2c20d1[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x51131f,null))['then'](function(_0x567e1d){if(_0x567e1d){var _0x30fa6b=[];var _0x2d4437={'success':[],'errors':[]};return db[_0xc7b5('0x63')][_0xc7b5('0x5b')]()['then'](function(_0x588047){if(_0x2c20d1['body']['tags']&&_[_0xc7b5('0x64')](_0x2c20d1[_0xc7b5('0x53')][_0xc7b5('0x65')])){if(_0x2c20d1[_0xc7b5('0x53')]['tags'][_0xc7b5('0x3e')]){_0x2c20d1[_0xc7b5('0x53')][_0xc7b5('0x65')]=_0x2c20d1[_0xc7b5('0x53')][_0xc7b5('0x65')][_0xc7b5('0x66')](';')+';';}else{_0x2c20d1['body'][_0xc7b5('0x65')]=null;}}else{_0x2c20d1[_0xc7b5('0x53')]['tags']=null;}if(_0x2c20d1[_0xc7b5('0x53')]&&_[_0xc7b5('0x64')](_0x2c20d1[_0xc7b5('0x53')])){for(var _0x59ef0c=0x0;_0x59ef0c<_0x2c20d1[_0xc7b5('0x53')][_0xc7b5('0x3e')];_0x59ef0c+=0x1){_0x2c20d1[_0xc7b5('0x53')][_0x59ef0c][_0xc7b5('0x5d')]=_0x2c20d1[_0xc7b5('0x4f')]['id'];_0x30fa6b[_0xc7b5('0x67')](_0x2c20d1[_0xc7b5('0x53')][_0x59ef0c]);}return BPromise[_0xc7b5('0x68')](_0x30fa6b,function(_0x906e7f){return db['CmContact']['create'](_[_0xc7b5('0x69')](_0x906e7f,[_0xc7b5('0x6a'),'id'])||{},{'fields':_['keys'](_0x588047),'raw':!![]})[_0xc7b5('0x2b')](function(_0x24546f){_0x2d4437[_0xc7b5('0x6b')][_0xc7b5('0x67')](_0x24546f[_0xc7b5('0x6c')]);})['catch'](function(_0x2f323d){_0x2d4437[_0xc7b5('0x6d')][_0xc7b5('0x67')]({'data':_0x906e7f,'error':_0x2f323d[_0xc7b5('0x6e')]});});})[_0xc7b5('0x2b')](function(_0x5168ed){return _0x2d4437;})[_0xc7b5('0x4e')](function(_0xc6dce){return _0xc6dce;});}else{_0x51131f[_0xc7b5('0x1f')](0x190)[_0xc7b5('0x21')]({'message':_0xc7b5('0x6f')});}});}})[_0xc7b5('0x2b')](respondWithResult(_0x51131f,null))['catch'](handleError(_0x51131f,null));};exports['getContacts']=function(_0x288a13,_0x1f8fc4,_0x196e9a){var _0x5de625;return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x288a13[_0xc7b5('0x4f')]['id']},'include':[{'model':db[_0xc7b5('0x70')],'as':_0xc7b5('0x71')}]})['then'](handleEntityNotFound(_0x1f8fc4,null))['then'](function(_0x319274){if(_0x319274){_0x5de625=_0x319274;return db[_0xc7b5('0x63')][_0xc7b5('0x33')];}})[_0xc7b5('0x2b')](function(_0x392ef9){if(_0x392ef9){var _0x247ddc={};var _0x232c47={};_0x232c47[_0xc7b5('0x37')]=_[_0xc7b5('0x72')](_[_0xc7b5('0x39')](_0x392ef9),_[_0xc7b5('0x32')](_0x5de625[_0xc7b5('0x71')],function(_0x57a92b){return util[_0xc7b5('0x73')]('cf_%d',_0x57a92b['id']);}));_0x232c47[_0xc7b5('0x38')]=_[_0xc7b5('0x39')](_0x288a13[_0xc7b5('0x38')]);_0x232c47[_0xc7b5('0x3a')]=_[_0xc7b5('0x3b')](_0x232c47['model'],_0x232c47[_0xc7b5('0x38')]);_0x247ddc[_0xc7b5('0x3d')]=_['intersection'](_0x232c47['model'],qs['fields'](_0x288a13['query']['fields']));_0x247ddc[_0xc7b5('0x3d')]=_0x247ddc[_0xc7b5('0x3d')][_0xc7b5('0x3e')]?_0x247ddc[_0xc7b5('0x3d')]:_0x232c47[_0xc7b5('0x37')];if(!_0x288a13[_0xc7b5('0x38')][_0xc7b5('0x3f')]('nolimit')){_0x247ddc['limit']=qs[_0xc7b5('0x24')](_0x288a13['query'][_0xc7b5('0x24')]);_0x247ddc[_0xc7b5('0x22')]=qs[_0xc7b5('0x22')](_0x288a13[_0xc7b5('0x38')][_0xc7b5('0x22')]);}_0x247ddc['order']=qs[_0xc7b5('0x42')](_0x288a13['query'][_0xc7b5('0x42')]);_0x247ddc[_0xc7b5('0x43')]=qs[_0xc7b5('0x3a')](_['pick'](_0x288a13[_0xc7b5('0x38')],_0x232c47[_0xc7b5('0x3a')]));_0x247ddc['raw']=!![];if(_0x288a13[_0xc7b5('0x38')][_0xc7b5('0x47')]){_0x247ddc[_0xc7b5('0x43')]=_[_0xc7b5('0x45')](_0x247ddc[_0xc7b5('0x43')],{'$or':_['map'](_0x247ddc[_0xc7b5('0x3d')],function(_0x53c471){var _0x4e2786={};_0x4e2786[_0x53c471]={'$like':'%'+_0x288a13['query'][_0xc7b5('0x47')]+'%'};return _0x4e2786;})});}_0x247ddc=_[_0xc7b5('0x45')]({},_0x247ddc,_0x288a13[_0xc7b5('0x48')]);return _0x5de625['getContacts'](_0x247ddc);}})[_0xc7b5('0x2b')](respondWithResult(_0x1f8fc4,null))['catch'](handleError(_0x1f8fc4,null));};exports[_0xc7b5('0x74')]=function(_0x1d2d74,_0x2aeffe,_0x40d6d7){var _0x19df80;var _0x1b0d61;var _0x3fa865;var _0x30aefc=_0x1d2d74[_0xc7b5('0x4f')]['id'];csv_results=[];return db[_0xc7b5('0x75')][_0xc7b5('0x4c')]({'attributes':['id',_0xc7b5('0x30')],'raw':!![],'order':[_0xc7b5('0x76')]})[_0xc7b5('0x2b')](function(_0x38cc33){_0x19df80=_0x38cc33;var _0x5dc280=_[_0xc7b5('0x39')](db[_0xc7b5('0x63')][_0xc7b5('0x33')]);return db['CmCustomField'][_0xc7b5('0x4c')]({'raw':!![],'attributes':['id',_0xc7b5('0x77')]})[_0xc7b5('0x2b')](function(_0x3d0080){_0x1b0d61=_0x3d0080;var _0x9629f8=squel[_0xc7b5('0x78')]()[_0xc7b5('0x3c')](_0x5dc280)['from'](_0xc7b5('0x79'),'c')['where'](_0xc7b5('0x7a'),_0x30aefc)[_0xc7b5('0x43')]('c.deletedAt\x20is\x20null')[_0xc7b5('0x7b')]();for(var _0x5f5387=0x0;_0x5f5387<_0x1b0d61[_0xc7b5('0x3e')];_0x5f5387++){_0x9629f8[_0xc7b5('0x7c')](_0xc7b5('0x7d')+_0x1b0d61[_0x5f5387]['id'],_0xc7b5('0x7e')+_0x1b0d61[_0x5f5387][_0xc7b5('0x77')]);}for(var _0x5f5387=0x0;_0x5f5387<_0x19df80[_0xc7b5('0x3e')];_0x5f5387++){_0x9629f8['field'](squel[_0xc7b5('0x78')]()['field'](_0xc7b5('0x7f'))[_0xc7b5('0x80')](_0xc7b5('0x81'))[_0xc7b5('0x43')](_0xc7b5('0x82'),_0x19df80[_0x5f5387]['id'])[_0xc7b5('0x43')](_0xc7b5('0x83')),_0xc7b5('0x84')+_0x19df80[_0x5f5387][_0xc7b5('0x30')]);_0x9629f8[_0xc7b5('0x7c')](squel[_0xc7b5('0x78')]()[_0xc7b5('0x7c')](_0xc7b5('0x85'))['from'](_0xc7b5('0x81'))['where'](_0xc7b5('0x82'),_0x19df80[_0x5f5387]['id'])[_0xc7b5('0x43')](_0xc7b5('0x83')),'description_additionalPhone_'+_0x19df80[_0x5f5387][_0xc7b5('0x30')]);}var _0x38ce42=[];_0x38ce42[_0xc7b5('0x67')](_0x9629f8['toString']());BPromise['each'](_0x38ce42,handleQuery)[_0xc7b5('0x2b')](function(_0x2117fa){handleQuery(_0x9629f8['toString']());var _0x40f541=csv_results[0x0];if(!_[_0xc7b5('0x86')](_0x40f541)){var _0xeabbdb=toCsv(_0x40f541);var _0x3fdf18=Date[_0xc7b5('0x87')]();fs[_0xc7b5('0x88')](util[_0xc7b5('0x73')]('/tmp/list_%d_%s.csv',_0x30aefc,_0x3fdf18),_0xeabbdb);_0x2aeffe[_0xc7b5('0x89')](_0xc7b5('0x8a'),_0xc7b5('0x8b')+util[_0xc7b5('0x73')](_0xc7b5('0x8c'),_0x30aefc,_0x3fdf18));_0x2aeffe[_0xc7b5('0x89')]('Content-type',_0xc7b5('0x8d'));return _0x2aeffe['download'](util[_0xc7b5('0x73')](_0xc7b5('0x8e'),_0x30aefc,_0x3fdf18));}else{return _0x2aeffe[_0xc7b5('0x2f')](0xcc);}});});});};exports[_0xc7b5('0x8f')]=function(_0x38d0cc,_0x43d98b,_0x37eb80){var _0x381acc;delete _0x38d0cc[_0xc7b5('0x53')]['id'];return db[_0xc7b5('0x4b')][_0xc7b5('0x5f')]({'where':{'id':_0x38d0cc[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x43d98b,null))[_0xc7b5('0x2b')](function(_0x54050c){if(_0x54050c){return db['sequelize']['transaction'](function(_0x47987d){return db[_0xc7b5('0x70')][_0xc7b5('0x52')](_0x38d0cc[_0xc7b5('0x53')],{'transaction':_0x47987d})['then'](function(_0x2cd357){_0x381acc=_0x2cd357;return _0x54050c[_0xc7b5('0x90')](_0x2cd357,{'transaction':_0x47987d});})[_0xc7b5('0x2b')](function(){var _0x131ea4={'type':db['Sequelize'][_0xc7b5('0x91')],'transaction':_0x47987d};switch(_0x38d0cc[_0xc7b5('0x53')][_0xc7b5('0x35')]){case _0xc7b5('0x92'):_0x131ea4[_0xc7b5('0x35')]=db['Sequelize'][_0xc7b5('0x91')];break;case'number':_0x131ea4['type']=db[_0xc7b5('0x93')][_0xc7b5('0x94')];break;case _0xc7b5('0x95'):_0x131ea4[_0xc7b5('0x35')]=db[_0xc7b5('0x93')][_0xc7b5('0x96')];_0x131ea4[_0xc7b5('0x97')]=![];break;default:}return db[_0xc7b5('0x98')][_0xc7b5('0x99')]['addColumn']('cm_contacts',util[_0xc7b5('0x73')](_0xc7b5('0x9a'),_0x381acc['id']),_0x131ea4);})['then'](function(){return _0x381acc;});});}})[_0xc7b5('0x2b')](respondWithResult(_0x43d98b,null))[_0xc7b5('0x4e')](handleError(_0x43d98b,null));};exports[_0xc7b5('0x9b')]=function(_0x303e54,_0xeb5f57,_0x33912f){var _0x359d35={};var _0x17bfe6={};var _0x485fef;var _0x3d2911;return db[_0xc7b5('0x4b')]['findOne']({'where':{'id':_0x303e54[_0xc7b5('0x4f')]['id']}})['then'](handleEntityNotFound(_0xeb5f57,null))['then'](function(_0x1b9d84){if(_0x1b9d84){_0x485fef=_0x1b9d84;_0x17bfe6[_0xc7b5('0x37')]=_[_0xc7b5('0x39')](db[_0xc7b5('0x70')]['rawAttributes']);_0x17bfe6['query']=_[_0xc7b5('0x39')](_0x303e54[_0xc7b5('0x38')]);_0x17bfe6[_0xc7b5('0x3a')]=_[_0xc7b5('0x3b')](_0x17bfe6[_0xc7b5('0x37')],_0x17bfe6[_0xc7b5('0x38')]);_0x359d35['attributes']=_[_0xc7b5('0x3b')](_0x17bfe6[_0xc7b5('0x37')],qs[_0xc7b5('0x3c')](_0x303e54[_0xc7b5('0x38')]['fields']));_0x359d35[_0xc7b5('0x3d')]=_0x359d35['attributes'][_0xc7b5('0x3e')]?_0x359d35[_0xc7b5('0x3d')]:_0x17bfe6['model'];_0x359d35[_0xc7b5('0x41')]=qs['sort'](_0x303e54[_0xc7b5('0x38')][_0xc7b5('0x42')]);_0x359d35[_0xc7b5('0x43')]=qs[_0xc7b5('0x3a')](_[_0xc7b5('0x44')](_0x303e54['query'],_0x17bfe6[_0xc7b5('0x3a')]));_0x359d35[_0xc7b5('0x43')]=_['merge'](_0x359d35[_0xc7b5('0x43')],{'$or':[{'ListId':_0x1b9d84['id']},{'ListId':null}]});if(_0x303e54[_0xc7b5('0x38')][_0xc7b5('0x47')]){_0x359d35[_0xc7b5('0x43')]=_[_0xc7b5('0x45')](_0x359d35[_0xc7b5('0x43')],{'$or':_['map'](_0x359d35['attributes'],function(_0x93353a){var _0x2c1421={};_0x2c1421[_0x93353a]={'$like':'%'+_0x303e54[_0xc7b5('0x38')][_0xc7b5('0x47')]+'%'};return _0x2c1421;})});}_0x359d35=_[_0xc7b5('0x45')]({},_0x359d35,_0x303e54[_0xc7b5('0x48')]);return db[_0xc7b5('0x70')][_0xc7b5('0x9c')](_0x359d35);}})['then'](respondWithResult(_0xeb5f57,null))[_0xc7b5('0x4e')](handleError(_0xeb5f57,null));};exports[_0xc7b5('0x9d')]=function(_0x4d5bf1,_0x1412e4){return db[_0xc7b5('0x70')][_0xc7b5('0x9c')]({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x1412e4,null))[_0xc7b5('0x2b')](function(_0x4ccdc6){return _0x4ccdc6;})[_0xc7b5('0x2b')](respondWithResult(_0x1412e4,null))[_0xc7b5('0x4e')](handleError(_0x1412e4,null));};exports[_0xc7b5('0x9e')]=function(_0x1e6eda,_0x362ce3,_0x17ae67){return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x1e6eda['params']['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x362ce3,null))[_0xc7b5('0x2b')](function(_0x1bdaf7){if(_0x1bdaf7){return _0x1bdaf7[_0xc7b5('0x9e')](_0x1e6eda[_0xc7b5('0x53')][_0xc7b5('0x6a')],_['omit'](_0x1e6eda[_0xc7b5('0x53')],[_0xc7b5('0x6a'),'id'])||{})[_0xc7b5('0x9f')](function(_0x184484){for(var _0x517364=0x0;_0x517364<_0x1e6eda[_0xc7b5('0x53')][_0xc7b5('0x6a')]['length'];_0x517364+=0x1){socket[_0xc7b5('0xa0')](_0xc7b5('0xa1'),{'UserId':Number(_0x1e6eda[_0xc7b5('0x53')][_0xc7b5('0x6a')][_0x517364]),'CmListId':Number(_0x1e6eda[_0xc7b5('0x4f')]['id'])});}return _0x184484;});}})[_0xc7b5('0x2b')](respondWithResult(_0x362ce3,null))['catch'](handleError(_0x362ce3,null));};exports['removeAgents']=function(_0x102563,_0x1563a1,_0x78258c){return db[_0xc7b5('0x4b')][_0xc7b5('0x51')]({'where':{'id':_0x102563[_0xc7b5('0x4f')]['id']}})[_0xc7b5('0x2b')](handleEntityNotFound(_0x1563a1,null))['then'](function(_0x4b65b7){if(_0x4b65b7){return _0x4b65b7[_0xc7b5('0xa2')](_0x102563['query'][_0xc7b5('0x6a')])[_0xc7b5('0x2b')](function(){if(_[_0xc7b5('0x64')](_0x102563[_0xc7b5('0x38')][_0xc7b5('0x6a')])){for(var _0x3b5374=0x0;_0x3b5374<_0x102563[_0xc7b5('0x38')][_0xc7b5('0x6a')][_0xc7b5('0x3e')];_0x3b5374+=0x1){socket[_0xc7b5('0xa0')](_0xc7b5('0xa3'),{'UserId':Number(_0x102563[_0xc7b5('0x38')][_0xc7b5('0x6a')][_0x3b5374]),'CmListId':Number(_0x102563[_0xc7b5('0x4f')]['id'])});}}else{socket[_0xc7b5('0xa0')](_0xc7b5('0xa3'),{'UserId':Number(_0x102563[_0xc7b5('0x38')][_0xc7b5('0x6a')]),'CmListId':Number(_0x102563[_0xc7b5('0x4f')]['id'])});}});}})[_0xc7b5('0x2b')](respondWithStatusCode(_0x1563a1,null))[_0xc7b5('0x4e')](handleError(_0x1563a1,null));};exports['getAgents']=function(_0x5eaf67,_0x461101,_0x1b82aa){var _0x4c0ffc={};var _0x46cf29={};var _0x6c0a10;var _0xa9a938;return db[_0xc7b5('0x4b')][_0xc7b5('0x5f')]({'where':{'id':_0x5eaf67[_0xc7b5('0x4f')]['id']}})['then'](handleEntityNotFound(_0x461101,null))['then'](function(_0x29d379){if(_0x29d379){_0x6c0a10=_0x29d379;_0x46cf29[_0xc7b5('0x37')]=_[_0xc7b5('0x39')](db['User'][_0xc7b5('0x33')]);_0x46cf29[_0xc7b5('0x38')]=_[_0xc7b5('0x39')](_0x5eaf67[_0xc7b5('0x38')]);_0x46cf29[_0xc7b5('0x3a')]=_[_0xc7b5('0x3b')](_0x46cf29['model'],_0x46cf29['query']);_0x4c0ffc[_0xc7b5('0x3d')]=_[_0xc7b5('0x3b')](_0x46cf29['model'],qs[_0xc7b5('0x3c')](_0x5eaf67[_0xc7b5('0x38')][_0xc7b5('0x3c')]));_0x4c0ffc['attributes']=_0x4c0ffc[_0xc7b5('0x3d')][_0xc7b5('0x3e')]?_0x4c0ffc[_0xc7b5('0x3d')]:_0x46cf29[_0xc7b5('0x37')];_0x4c0ffc[_0xc7b5('0x41')]=qs['sort'](_0x5eaf67['query'][_0xc7b5('0x42')]);_0x4c0ffc['where']=qs[_0xc7b5('0x3a')](_[_0xc7b5('0x44')](_0x5eaf67[_0xc7b5('0x38')],_0x46cf29['filters']));if(_0x5eaf67[_0xc7b5('0x38')][_0xc7b5('0x47')]){_0x4c0ffc[_0xc7b5('0x43')]=_[_0xc7b5('0x45')](_0x4c0ffc['where'],{'$or':_[_0xc7b5('0x32')](_0x4c0ffc[_0xc7b5('0x3d')],function(_0x404f41){var _0x2dd810={};_0x2dd810[_0x404f41]={'$like':'%'+_0x5eaf67[_0xc7b5('0x38')][_0xc7b5('0x47')]+'%'};return _0x2dd810;})});}_0x4c0ffc=_[_0xc7b5('0x45')]({},_0x4c0ffc,_0x5eaf67[_0xc7b5('0x48')]);return _0x6c0a10[_0xc7b5('0xa4')](_0x4c0ffc);}})[_0xc7b5('0x2b')](function(_0xe2e125){if(_0xe2e125){_0xa9a938=_0xe2e125[_0xc7b5('0x3e')];if(!_0x5eaf67['query'][_0xc7b5('0x3f')](_0xc7b5('0x40'))){_0x4c0ffc[_0xc7b5('0x24')]=qs[_0xc7b5('0x24')](_0x5eaf67[_0xc7b5('0x38')][_0xc7b5('0x24')]);_0x4c0ffc['offset']=qs[_0xc7b5('0x22')](_0x5eaf67[_0xc7b5('0x38')][_0xc7b5('0x22')]);}return _0x6c0a10[_0xc7b5('0xa4')](_0x4c0ffc);}})[_0xc7b5('0x2b')](function(_0x595e96){if(_0x595e96){return _0x595e96?{'count':_0xa9a938,'rows':_0x595e96}:null;}})[_0xc7b5('0x2b')](respondWithResult(_0x461101,null))['catch'](handleError(_0x461101,null));};function handleQuery(_0x39758c){logger[_0xc7b5('0xa5')](_0x39758c);return db[_0xc7b5('0x98')][_0xc7b5('0x38')](_0x39758c)[_0xc7b5('0x9f')](function(_0x45e7d2){csv_results['push'](_0x45e7d2);})['catch'](function(_0x2587f1){logger[_0xc7b5('0x59')](_0x2587f1[_0xc7b5('0x6e')]);});}