1603e6ede89ace7e46370eabe8a2f6c14bd9198b
[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 _0xb891=['undefined','count','set','apply','reject','update','destroy','then','get','Lists','UserProfileResource','end','sendStatus','error','stack','name','CmList','fieldName','type','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','VIRTUAL','filter','options','includeAll','include','rows','params','rawAttributes','merge','find','catch','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ListId','Disposition','getDispositions','findOne','findAll','removeDispositions','ids','addContacts','CmContact','isArray','tags','push','each','success','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','cf_%d','raw','concat','isEmpty','now','writeFileSync','format','/tmp/list_%d_%s.csv','Content-disposition','list_%d_%s.csv','Content-type','text/csv','download','sequelize','addCustomFields','TEXT','text','Sequelize','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','getCustomFields','findAndCountAll','addAgents','omit','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./cmList.socket','register','status','json','offset','limit'];(function(_0x3c7367,_0x1a2668){var _0x475564=function(_0x13692c){while(--_0x13692c){_0x3c7367['push'](_0x3c7367['shift']());}};_0x475564(++_0x1a2668);}(_0xb891,0x194));var _0x1b89=function(_0x256f49,_0x57e6ee){_0x256f49=_0x256f49-0x0;var _0xaa2b98=_0xb891[_0x256f49];return _0xaa2b98;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1b89('0x0'));var zipdir=require(_0x1b89('0x1'));var jsonpatch=require(_0x1b89('0x2'));var rp=require(_0x1b89('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x1b89('0x4'));var util=require(_0x1b89('0x5'));var path=require(_0x1b89('0x6'));var sox=require(_0x1b89('0x7'));var csv=require('to-csv');var ejs=require(_0x1b89('0x8'));var fs=require('fs');var fs_extra=require(_0x1b89('0x9'));var _=require(_0x1b89('0xa'));var squel=require(_0x1b89('0xb'));var crypto=require(_0x1b89('0xc'));var jsforce=require(_0x1b89('0xd'));var deskjs=require(_0x1b89('0xe'));var toCsv=require(_0x1b89('0xf'));var querystring=require(_0x1b89('0x10'));var Papa=require(_0x1b89('0x11'));var Redis=require(_0x1b89('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x1b89('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1b89('0x14'));var logger=require(_0x1b89('0x15'))(_0x1b89('0x16'));var utils=require(_0x1b89('0x17'));var config=require(_0x1b89('0x18'));var licenseUtil=require(_0x1b89('0x19'));var db=require(_0x1b89('0x1a'))['db'];config['redis']=_[_0x1b89('0x1b')](config['redis'],{'host':_0x1b89('0x1c'),'port':0x18eb});var socket=require(_0x1b89('0x1d'))(new Redis(config[_0x1b89('0x1e')]));require(_0x1b89('0x1f'))[_0x1b89('0x20')](socket);function respondWithStatusCode(_0x78a88c,_0x271f91){_0x271f91=_0x271f91||0xcc;return function(_0x22ad41){if(_0x22ad41){return _0x78a88c['sendStatus'](_0x271f91);}return _0x78a88c[_0x1b89('0x21')](_0x271f91)['end']();};}function respondWithResult(_0x1f269f,_0x5e100e){_0x5e100e=_0x5e100e||0xc8;return function(_0x3f6273){if(_0x3f6273){return _0x1f269f[_0x1b89('0x21')](_0x5e100e)[_0x1b89('0x22')](_0x3f6273);}};}function respondWithFilteredResult(_0x2191ae,_0x37f94a){return function(_0x5252c4){if(_0x5252c4){var _0xf8c453=typeof _0x37f94a[_0x1b89('0x23')]==='undefined'&&typeof _0x37f94a[_0x1b89('0x24')]===_0x1b89('0x25');var _0x1f9f32=_0x5252c4[_0x1b89('0x26')];var _0x301e70=_0xf8c453?0x0:_0x37f94a[_0x1b89('0x23')];var _0x1436d3=_0xf8c453?_0x5252c4['count']:_0x37f94a['offset']+_0x37f94a['limit'];var _0x5a109b;if(_0x1436d3>=_0x1f9f32){_0x1436d3=_0x1f9f32;_0x5a109b=0xc8;}else{_0x5a109b=0xce;}_0x2191ae[_0x1b89('0x21')](_0x5a109b);return _0x2191ae[_0x1b89('0x27')]('Content-Range',_0x301e70+'-'+_0x1436d3+'/'+_0x1f9f32)[_0x1b89('0x22')](_0x5252c4);}return null;};}function patchUpdates(_0x35521d){return function(_0x273dec){try{jsonpatch[_0x1b89('0x28')](_0x273dec,_0x35521d,!![]);}catch(_0x29a728){return BPromise[_0x1b89('0x29')](_0x29a728);}return _0x273dec['save']();};}function saveUpdates(_0x3901fa,_0x4c4a5b){return function(_0xdebf6a){if(_0xdebf6a){return _0xdebf6a[_0x1b89('0x2a')](_0x3901fa)['then'](function(_0x729595){return _0x729595;});}return null;};}function removeEntity(_0x46f6c6,_0x545931){return function(_0x439b28){if(_0x439b28){return _0x439b28[_0x1b89('0x2b')]()[_0x1b89('0x2c')](function(){var _0x1dd7b8=_0x439b28[_0x1b89('0x2d')]({'plain':!![]});var _0x53380e=_0x1b89('0x2e');return db[_0x1b89('0x2f')][_0x1b89('0x2b')]({'where':{'type':_0x53380e,'resourceId':_0x1dd7b8['id']}})[_0x1b89('0x2c')](function(){return _0x439b28;});})[_0x1b89('0x2c')](function(){_0x46f6c6[_0x1b89('0x21')](0xcc)[_0x1b89('0x30')]();});}};}function handleEntityNotFound(_0x56e66c,_0x2d743c){return function(_0x33da6b){if(!_0x33da6b){_0x56e66c[_0x1b89('0x31')](0x194);}return _0x33da6b;};}function handleError(_0x515f84,_0x3f825f){_0x3f825f=_0x3f825f||0x1f4;return function(_0x4f13b5){logger[_0x1b89('0x32')](_0x4f13b5[_0x1b89('0x33')]);if(_0x4f13b5['name']){delete _0x4f13b5[_0x1b89('0x34')];}_0x515f84[_0x1b89('0x21')](_0x3f825f)['send'](_0x4f13b5);};}exports['index']=function(_0xab456a,_0x35d46c){var _0x212889={},_0x1143a3={},_0x53c31c={'count':0x0,'rows':[]};var _0x1066a8=_['map'](db[_0x1b89('0x35')]['rawAttributes'],function(_0x413d0e){return{'name':_0x413d0e[_0x1b89('0x36')],'type':_0x413d0e[_0x1b89('0x37')]['key']};});_0x1143a3['model']=_[_0x1b89('0x38')](_0x1066a8,_0x1b89('0x34'));_0x1143a3[_0x1b89('0x39')]=_[_0x1b89('0x3a')](_0xab456a['query']);_0x1143a3[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x1143a3[_0x1b89('0x3d')],_0x1143a3['query']);_0x212889[_0x1b89('0x3e')]=_['intersection'](_0x1143a3[_0x1b89('0x3d')],qs['fields'](_0xab456a[_0x1b89('0x39')][_0x1b89('0x3f')]));_0x212889['attributes']=_0x212889[_0x1b89('0x3e')][_0x1b89('0x40')]?_0x212889[_0x1b89('0x3e')]:_0x1143a3[_0x1b89('0x3d')];if(!_0xab456a['query'][_0x1b89('0x41')](_0x1b89('0x42'))){_0x212889['limit']=qs[_0x1b89('0x24')](_0xab456a[_0x1b89('0x39')][_0x1b89('0x24')]);_0x212889[_0x1b89('0x23')]=qs[_0x1b89('0x23')](_0xab456a['query'][_0x1b89('0x23')]);}_0x212889[_0x1b89('0x43')]=qs['sort'](_0xab456a[_0x1b89('0x39')][_0x1b89('0x44')]);_0x212889['where']=qs[_0x1b89('0x3b')](_[_0x1b89('0x45')](_0xab456a[_0x1b89('0x39')],_0x1143a3[_0x1b89('0x3b')]),_0x1066a8);if(_0xab456a[_0x1b89('0x39')]['filter']){_0x212889[_0x1b89('0x46')]=_['merge'](_0x212889[_0x1b89('0x46')],{'$or':_['map'](_0x1066a8,function(_0x4e4123){if(_0x4e4123['type']!==_0x1b89('0x47')){var _0x3a333c={};_0x3a333c[_0x4e4123[_0x1b89('0x34')]]={'$like':'%'+_0xab456a[_0x1b89('0x39')][_0x1b89('0x48')]+'%'};return _0x3a333c;}})});}_0x212889=_['merge']({},_0x212889,_0xab456a[_0x1b89('0x49')]);var _0x4f10d7={'where':_0x212889['where']};return db[_0x1b89('0x35')]['count'](_0x4f10d7)[_0x1b89('0x2c')](function(_0x15c901){_0x53c31c[_0x1b89('0x26')]=_0x15c901;if(_0xab456a['query'][_0x1b89('0x4a')]){_0x212889[_0x1b89('0x4b')]=[{'all':!![]}];}return db[_0x1b89('0x35')]['findAll'](_0x212889);})[_0x1b89('0x2c')](function(_0x22a9d8){_0x53c31c[_0x1b89('0x4c')]=_0x22a9d8;return _0x53c31c;})['then'](respondWithFilteredResult(_0x35d46c,_0x212889))['catch'](handleError(_0x35d46c,null));};exports['show']=function(_0x35c055,_0x19e9b7){var _0x5a828e={'raw':![],'where':{'id':_0x35c055[_0x1b89('0x4d')]['id']}},_0x549d91={};_0x549d91[_0x1b89('0x3d')]=_['keys'](db[_0x1b89('0x35')][_0x1b89('0x4e')]);_0x549d91[_0x1b89('0x39')]=_[_0x1b89('0x3a')](_0x35c055[_0x1b89('0x39')]);_0x549d91[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x549d91[_0x1b89('0x3d')],_0x549d91['query']);_0x5a828e[_0x1b89('0x3e')]=_['intersection'](_0x549d91[_0x1b89('0x3d')],qs[_0x1b89('0x3f')](_0x35c055[_0x1b89('0x39')]['fields']));_0x5a828e[_0x1b89('0x3e')]=_0x5a828e[_0x1b89('0x3e')][_0x1b89('0x40')]?_0x5a828e[_0x1b89('0x3e')]:_0x549d91[_0x1b89('0x3d')];if(_0x35c055[_0x1b89('0x39')][_0x1b89('0x4a')]){_0x5a828e[_0x1b89('0x4b')]=[{'all':!![]}];}_0x5a828e=_[_0x1b89('0x4f')]({},_0x5a828e,_0x35c055[_0x1b89('0x49')]);return db[_0x1b89('0x35')][_0x1b89('0x50')](_0x5a828e)[_0x1b89('0x2c')](handleEntityNotFound(_0x19e9b7,null))[_0x1b89('0x2c')](respondWithResult(_0x19e9b7,null))[_0x1b89('0x51')](handleError(_0x19e9b7,null));};exports['create']=function(_0xdef9f2,_0x33ce3d){return db[_0x1b89('0x35')][_0x1b89('0x52')](_0xdef9f2[_0x1b89('0x53')],{})[_0x1b89('0x2c')](function(_0xb040e5){var _0x43616d=_0xdef9f2[_0x1b89('0x54')][_0x1b89('0x2d')]({'plain':!![]});if(!_0x43616d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x43616d[_0x1b89('0x55')]===_0x1b89('0x54')){var _0xe687c1=_0xb040e5[_0x1b89('0x2d')]({'plain':!![]});var _0x3319f7=_0x1b89('0x2e');return db[_0x1b89('0x56')][_0x1b89('0x50')]({'where':{'name':_0x3319f7,'userProfileId':_0x43616d[_0x1b89('0x57')]},'raw':!![]})[_0x1b89('0x2c')](function(_0x29f0a7){if(_0x29f0a7&&_0x29f0a7[_0x1b89('0x58')]===0x0){return db[_0x1b89('0x2f')][_0x1b89('0x52')]({'name':_0xe687c1[_0x1b89('0x34')],'resourceId':_0xe687c1['id'],'type':_0x29f0a7[_0x1b89('0x34')],'sectionId':_0x29f0a7['id']},{})[_0x1b89('0x2c')](function(){return _0xb040e5;});}else{return _0xb040e5;}})['catch'](function(_0x59a684){logger[_0x1b89('0x32')](_0x1b89('0x59'),_0x59a684);throw _0x59a684;});}return _0xb040e5;})['then'](respondWithResult(_0x33ce3d,0xc9))[_0x1b89('0x51')](handleError(_0x33ce3d,null));};exports['update']=function(_0x9449ab,_0x5853dc){if(_0x9449ab[_0x1b89('0x53')]['id']){delete _0x9449ab[_0x1b89('0x53')]['id'];}return db[_0x1b89('0x35')][_0x1b89('0x50')]({'where':{'id':_0x9449ab['params']['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x5853dc,null))[_0x1b89('0x2c')](saveUpdates(_0x9449ab[_0x1b89('0x53')],null))[_0x1b89('0x2c')](respondWithResult(_0x5853dc,null))['catch'](handleError(_0x5853dc,null));};exports[_0x1b89('0x2b')]=function(_0x4d3d30,_0x1b8424){return db['CmList'][_0x1b89('0x50')]({'where':{'id':_0x4d3d30[_0x1b89('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1b8424,null))[_0x1b89('0x2c')](removeEntity(_0x1b8424,null))[_0x1b89('0x51')](handleError(_0x1b8424,null));};exports[_0x1b89('0x5a')]=function(_0x545701,_0xb7b209){return db[_0x1b89('0x35')]['describe']()[_0x1b89('0x2c')](respondWithResult(_0xb7b209,null))[_0x1b89('0x51')](handleError(_0xb7b209,null));};exports[_0x1b89('0x5b')]=function(_0x23cdd0,_0x455631,_0x1de217){if(_0x23cdd0[_0x1b89('0x53')]['id']){delete _0x23cdd0['body']['id'];}return db['CmList'][_0x1b89('0x50')]({'where':{'id':_0x23cdd0[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x455631,null))[_0x1b89('0x2c')](function(_0x2a3cae){if(_0x2a3cae){_0x23cdd0[_0x1b89('0x53')][_0x1b89('0x5c')]=_0x2a3cae['id'];return db[_0x1b89('0x5d')]['create'](_0x23cdd0[_0x1b89('0x53')]);}})[_0x1b89('0x2c')](respondWithResult(_0x455631,null))[_0x1b89('0x51')](handleError(_0x455631,null));};exports[_0x1b89('0x5e')]=function(_0x3ccce6,_0x2bfc01,_0x504868){var _0x18a876={'raw':![],'where':{}};var _0x4428e1={};var _0x4b0536={'count':0x0,'rows':[]};return db[_0x1b89('0x35')][_0x1b89('0x5f')]({'where':{'id':_0x3ccce6[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x2bfc01,null))['then'](function(_0x4912ff){if(_0x4912ff){_0x4428e1['model']=_[_0x1b89('0x3a')](db[_0x1b89('0x5d')]['rawAttributes']);_0x4428e1[_0x1b89('0x39')]=_[_0x1b89('0x3a')](_0x3ccce6[_0x1b89('0x39')]);_0x4428e1[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x4428e1['model'],_0x4428e1[_0x1b89('0x39')]);_0x18a876[_0x1b89('0x3e')]=_[_0x1b89('0x3c')](_0x4428e1[_0x1b89('0x3d')],qs[_0x1b89('0x3f')](_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x3f')]));_0x18a876[_0x1b89('0x3e')]=_0x18a876['attributes']['length']?_0x18a876[_0x1b89('0x3e')]:_0x4428e1[_0x1b89('0x3d')];if(!_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x41')](_0x1b89('0x42'))){_0x18a876['limit']=qs[_0x1b89('0x24')](_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x24')]);_0x18a876[_0x1b89('0x23')]=qs[_0x1b89('0x23')](_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x23')]);}_0x18a876[_0x1b89('0x43')]=qs['sort'](_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x44')]);_0x18a876['where']=qs[_0x1b89('0x3b')](_[_0x1b89('0x45')](_0x3ccce6[_0x1b89('0x39')],_0x4428e1[_0x1b89('0x3b')]));_0x18a876[_0x1b89('0x46')][_0x1b89('0x5c')]=_0x4912ff['id'];if(_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x48')]){_0x18a876['where']=_[_0x1b89('0x4f')](_0x18a876[_0x1b89('0x46')],{'$or':_[_0x1b89('0x38')](_0x18a876[_0x1b89('0x3e')],function(_0x46f56a){var _0x5bdd90={};_0x5bdd90[_0x46f56a]={'$like':'%'+_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x48')]+'%'};return _0x5bdd90;})});}_0x18a876=_['merge']({},_0x18a876,_0x3ccce6[_0x1b89('0x49')]);return db[_0x1b89('0x5d')][_0x1b89('0x26')]({'where':_0x18a876[_0x1b89('0x46')]})[_0x1b89('0x2c')](function(_0x57d5ae){_0x4b0536[_0x1b89('0x26')]=_0x57d5ae;if(_0x3ccce6[_0x1b89('0x39')][_0x1b89('0x4a')]){_0x18a876[_0x1b89('0x4b')]=[{'all':!![]}];}return db[_0x1b89('0x5d')][_0x1b89('0x60')](_0x18a876);})[_0x1b89('0x2c')](function(_0x347dd2){_0x4b0536[_0x1b89('0x4c')]=_0x347dd2;return _0x4b0536;});}})[_0x1b89('0x2c')](respondWithFilteredResult(_0x2bfc01,_0x18a876))[_0x1b89('0x51')](handleError(_0x2bfc01,null));};exports['removeDispositions']=function(_0x12a224,_0x46648c,_0x4b8c43){return db['CmList'][_0x1b89('0x50')]({'where':{'id':_0x12a224[_0x1b89('0x4d')]['id']}})['then'](handleEntityNotFound(_0x46648c,null))[_0x1b89('0x2c')](function(_0x18d348){if(_0x18d348){return _0x18d348[_0x1b89('0x61')](_0x12a224[_0x1b89('0x39')][_0x1b89('0x62')]);}})[_0x1b89('0x2c')](respondWithStatusCode(_0x46648c,null))['catch'](handleError(_0x46648c,null));};exports[_0x1b89('0x63')]=function(_0xff44c,_0x4c0dce,_0x2c38cd){return db[_0x1b89('0x35')]['find']({'where':{'id':_0xff44c[_0x1b89('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4c0dce,null))['then'](function(_0x2af481){if(_0x2af481){var _0x4ff980=[];var _0x63519f={'success':[],'errors':[]};return db[_0x1b89('0x64')][_0x1b89('0x5a')]()[_0x1b89('0x2c')](function(_0x9ab216){if(_0xff44c['body']['tags']&&_[_0x1b89('0x65')](_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')])){if(_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')]['length']){_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')]=_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')]['join'](';')+';';}else{_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')]=null;}}else{_0xff44c[_0x1b89('0x53')][_0x1b89('0x66')]=null;}if(_0xff44c[_0x1b89('0x53')]&&_[_0x1b89('0x65')](_0xff44c[_0x1b89('0x53')])){for(var _0xdaa351=0x0;_0xdaa351<_0xff44c[_0x1b89('0x53')][_0x1b89('0x40')];_0xdaa351+=0x1){_0xff44c[_0x1b89('0x53')][_0xdaa351]['ListId']=_0xff44c[_0x1b89('0x4d')]['id'];_0x4ff980[_0x1b89('0x67')](_0xff44c['body'][_0xdaa351]);}return BPromise[_0x1b89('0x68')](_0x4ff980,function(_0x4fbedd){return db[_0x1b89('0x64')][_0x1b89('0x52')](_['omit'](_0x4fbedd,[_0x1b89('0x62'),'id'])||{},{'fields':_[_0x1b89('0x3a')](_0x9ab216),'raw':!![]})[_0x1b89('0x2c')](function(_0x50db9e){_0x63519f[_0x1b89('0x69')][_0x1b89('0x67')](_0x50db9e[_0x1b89('0x6a')]);})[_0x1b89('0x51')](function(_0x4f71a9){_0x63519f[_0x1b89('0x6b')][_0x1b89('0x67')]({'data':_0x4fbedd,'error':_0x4f71a9[_0x1b89('0x6c')]});});})[_0x1b89('0x2c')](function(_0x4f9dba){return _0x63519f;})[_0x1b89('0x51')](function(_0xf48d56){return _0xf48d56;});}else{_0x4c0dce[_0x1b89('0x21')](0x190)[_0x1b89('0x22')]({'message':_0x1b89('0x6d')});}});}})[_0x1b89('0x2c')](respondWithResult(_0x4c0dce,null))[_0x1b89('0x51')](handleError(_0x4c0dce,null));};exports[_0x1b89('0x6e')]=function(_0x43cfb7,_0x4c8db6,_0x2f7b18){var _0x1275c0;return db[_0x1b89('0x35')][_0x1b89('0x50')]({'where':{'id':_0x43cfb7[_0x1b89('0x4d')]['id']},'include':[{'model':db[_0x1b89('0x6f')],'as':_0x1b89('0x70')}]})[_0x1b89('0x2c')](handleEntityNotFound(_0x4c8db6,null))['then'](function(_0x1f3566){if(_0x1f3566){_0x1275c0=_0x1f3566;return db[_0x1b89('0x64')]['rawAttributes'];}})[_0x1b89('0x2c')](function(_0x9d51fe){if(_0x9d51fe){var _0x580c16={};var _0x5d9165={};_0x5d9165[_0x1b89('0x3d')]=_['concat'](_[_0x1b89('0x3a')](_0x9d51fe),_[_0x1b89('0x38')](_0x1275c0['CustomFields'],function(_0x440963){return util['format'](_0x1b89('0x71'),_0x440963['id']);}));_0x5d9165['query']=_['keys'](_0x43cfb7[_0x1b89('0x39')]);_0x5d9165[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x5d9165[_0x1b89('0x3d')],_0x5d9165[_0x1b89('0x39')]);_0x580c16[_0x1b89('0x3e')]=_[_0x1b89('0x3c')](_0x5d9165[_0x1b89('0x3d')],qs[_0x1b89('0x3f')](_0x43cfb7[_0x1b89('0x39')][_0x1b89('0x3f')]));_0x580c16[_0x1b89('0x3e')]=_0x580c16[_0x1b89('0x3e')][_0x1b89('0x40')]?_0x580c16['attributes']:_0x5d9165[_0x1b89('0x3d')];if(!_0x43cfb7[_0x1b89('0x39')][_0x1b89('0x41')](_0x1b89('0x42'))){_0x580c16[_0x1b89('0x24')]=qs[_0x1b89('0x24')](_0x43cfb7[_0x1b89('0x39')][_0x1b89('0x24')]);_0x580c16[_0x1b89('0x23')]=qs['offset'](_0x43cfb7[_0x1b89('0x39')]['offset']);}_0x580c16['order']=qs[_0x1b89('0x44')](_0x43cfb7['query'][_0x1b89('0x44')]);_0x580c16['where']=qs[_0x1b89('0x3b')](_['pick'](_0x43cfb7[_0x1b89('0x39')],_0x5d9165[_0x1b89('0x3b')]));_0x580c16[_0x1b89('0x72')]=!![];if(_0x43cfb7[_0x1b89('0x39')][_0x1b89('0x48')]){_0x580c16['where']=_[_0x1b89('0x4f')](_0x580c16[_0x1b89('0x46')],{'$or':_[_0x1b89('0x38')](_0x580c16[_0x1b89('0x3e')],function(_0x41666c){var _0x55e444={};_0x55e444[_0x41666c]={'$like':'%'+_0x43cfb7[_0x1b89('0x39')]['filter']+'%'};return _0x55e444;})});}_0x580c16=_['merge']({},_0x580c16,_0x43cfb7[_0x1b89('0x49')]);return _0x1275c0[_0x1b89('0x6e')](_0x580c16);}})['then'](respondWithResult(_0x4c8db6,null))[_0x1b89('0x51')](handleError(_0x4c8db6,null));};exports['getContactsCsv']=function(_0x5f50c2,_0x756492,_0x194c12){var _0x4898af;return db[_0x1b89('0x35')]['find']({'where':{'id':_0x5f50c2[_0x1b89('0x4d')]['id']},'include':[{'model':db[_0x1b89('0x6f')],'as':'CustomFields'}]})['then'](handleEntityNotFound(_0x756492,null))[_0x1b89('0x2c')](function(_0x3d4f38){if(_0x3d4f38){_0x4898af=_0x3d4f38;return db['CmContact'][_0x1b89('0x4e')];}})[_0x1b89('0x2c')](function(_0x30e0c9){if(_0x30e0c9){var _0x54223a={};var _0x420f06={};_0x420f06['model']=_[_0x1b89('0x73')](_[_0x1b89('0x3a')](_0x30e0c9),_[_0x1b89('0x38')](_0x4898af[_0x1b89('0x70')],function(_0x39b8fe){return util['format'](_0x1b89('0x71'),_0x39b8fe['id']);}));_0x420f06[_0x1b89('0x39')]=_[_0x1b89('0x3a')](_0x5f50c2[_0x1b89('0x39')]);_0x420f06[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x420f06[_0x1b89('0x3d')],_0x420f06[_0x1b89('0x39')]);_0x54223a[_0x1b89('0x3e')]=_['intersection'](_0x420f06[_0x1b89('0x3d')],qs[_0x1b89('0x3f')](_0x5f50c2['query'][_0x1b89('0x3f')]));_0x54223a['attributes']=_0x54223a['attributes'][_0x1b89('0x40')]?_0x54223a[_0x1b89('0x3e')]:_0x420f06['model'];if(!_0x5f50c2[_0x1b89('0x39')]['hasOwnProperty'](_0x1b89('0x42'))){_0x54223a[_0x1b89('0x24')]=qs['limit'](_0x5f50c2['query'][_0x1b89('0x24')]);_0x54223a['offset']=qs[_0x1b89('0x23')](_0x5f50c2[_0x1b89('0x39')][_0x1b89('0x23')]);}_0x54223a['order']=qs[_0x1b89('0x44')](_0x5f50c2[_0x1b89('0x39')][_0x1b89('0x44')]);_0x54223a[_0x1b89('0x46')]=qs['filters'](_['pick'](_0x5f50c2[_0x1b89('0x39')],_0x420f06['filters']));_0x54223a[_0x1b89('0x72')]=!![];if(_0x5f50c2['query'][_0x1b89('0x48')]){_0x54223a[_0x1b89('0x46')]=_[_0x1b89('0x4f')](_0x54223a['where'],{'$or':_[_0x1b89('0x38')](_0x54223a[_0x1b89('0x3e')],function(_0xea375a){var _0x21f077={};_0x21f077[_0xea375a]={'$like':'%'+_0x5f50c2[_0x1b89('0x39')]['filter']+'%'};return _0x21f077;})});}_0x54223a=_[_0x1b89('0x4f')]({},_0x54223a,_0x5f50c2[_0x1b89('0x49')]);return _0x4898af[_0x1b89('0x6e')](_0x54223a);}})['then'](function(_0x2bb54b){if(!_[_0x1b89('0x74')](_0x2bb54b)){var _0x470dc3=toCsv(_0x2bb54b);var _0x354149=Date[_0x1b89('0x75')]();fs[_0x1b89('0x76')](util[_0x1b89('0x77')](_0x1b89('0x78'),_0x4898af['id'],_0x354149),_0x470dc3);_0x756492['setHeader'](_0x1b89('0x79'),'attachment;\x20filename='+util[_0x1b89('0x77')](_0x1b89('0x7a'),_0x4898af['id'],_0x354149));_0x756492['setHeader'](_0x1b89('0x7b'),_0x1b89('0x7c'));return _0x756492[_0x1b89('0x7d')](util[_0x1b89('0x77')](_0x1b89('0x78'),_0x4898af['id'],_0x354149));}else{return _0x756492[_0x1b89('0x31')](0xcc);}})[_0x1b89('0x51')](handleError(_0x756492,null));};exports['addCustomField']=function(_0x57319c,_0x3211ee,_0x13ea86){var _0x28f274;delete _0x57319c[_0x1b89('0x53')]['id'];return db[_0x1b89('0x35')][_0x1b89('0x5f')]({'where':{'id':_0x57319c[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x3211ee,null))[_0x1b89('0x2c')](function(_0x169c8e){if(_0x169c8e){return db[_0x1b89('0x7e')]['transaction'](function(_0x395316){return db[_0x1b89('0x6f')][_0x1b89('0x52')](_0x57319c[_0x1b89('0x53')],{'transaction':_0x395316})['then'](function(_0x4b9c4c){_0x28f274=_0x4b9c4c;return _0x169c8e[_0x1b89('0x7f')](_0x4b9c4c,{'transaction':_0x395316});})[_0x1b89('0x2c')](function(){var _0x167d7c={'type':db['Sequelize'][_0x1b89('0x80')],'transaction':_0x395316};switch(_0x57319c[_0x1b89('0x53')][_0x1b89('0x37')]){case _0x1b89('0x81'):_0x167d7c[_0x1b89('0x37')]=db[_0x1b89('0x82')][_0x1b89('0x80')];break;case'number':_0x167d7c[_0x1b89('0x37')]=db[_0x1b89('0x82')]['INTEGER'];break;case _0x1b89('0x83'):_0x167d7c['type']=db['Sequelize'][_0x1b89('0x84')];_0x167d7c[_0x1b89('0x85')]=![];break;default:}return db['sequelize'][_0x1b89('0x86')][_0x1b89('0x87')](_0x1b89('0x88'),util[_0x1b89('0x77')]('cf_%s',_0x28f274['id']),_0x167d7c);})[_0x1b89('0x2c')](function(){return _0x28f274;});});}})['then'](respondWithResult(_0x3211ee,null))['catch'](handleError(_0x3211ee,null));};exports[_0x1b89('0x89')]=function(_0x25f49e,_0x485e31,_0x21465c){var _0x114388={};var _0x1ccd54={};var _0x3452c3;var _0x6fb66;return db[_0x1b89('0x35')][_0x1b89('0x5f')]({'where':{'id':_0x25f49e[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x485e31,null))['then'](function(_0x36129a){if(_0x36129a){_0x3452c3=_0x36129a;_0x1ccd54[_0x1b89('0x3d')]=_[_0x1b89('0x3a')](db[_0x1b89('0x6f')][_0x1b89('0x4e')]);_0x1ccd54['query']=_[_0x1b89('0x3a')](_0x25f49e[_0x1b89('0x39')]);_0x1ccd54['filters']=_[_0x1b89('0x3c')](_0x1ccd54[_0x1b89('0x3d')],_0x1ccd54[_0x1b89('0x39')]);_0x114388[_0x1b89('0x3e')]=_[_0x1b89('0x3c')](_0x1ccd54[_0x1b89('0x3d')],qs['fields'](_0x25f49e[_0x1b89('0x39')]['fields']));_0x114388[_0x1b89('0x3e')]=_0x114388[_0x1b89('0x3e')][_0x1b89('0x40')]?_0x114388['attributes']:_0x1ccd54[_0x1b89('0x3d')];_0x114388['order']=qs[_0x1b89('0x44')](_0x25f49e['query'][_0x1b89('0x44')]);_0x114388[_0x1b89('0x46')]=qs['filters'](_[_0x1b89('0x45')](_0x25f49e[_0x1b89('0x39')],_0x1ccd54[_0x1b89('0x3b')]));_0x114388['where']=_[_0x1b89('0x4f')](_0x114388['where'],{'$or':[{'ListId':_0x36129a['id']},{'ListId':null}]});if(_0x25f49e[_0x1b89('0x39')][_0x1b89('0x48')]){_0x114388[_0x1b89('0x46')]=_[_0x1b89('0x4f')](_0x114388[_0x1b89('0x46')],{'$or':_['map'](_0x114388['attributes'],function(_0x10919f){var _0x1e76fe={};_0x1e76fe[_0x10919f]={'$like':'%'+_0x25f49e[_0x1b89('0x39')][_0x1b89('0x48')]+'%'};return _0x1e76fe;})});}_0x114388=_[_0x1b89('0x4f')]({},_0x114388,_0x25f49e[_0x1b89('0x49')]);return db['CmCustomField'][_0x1b89('0x8a')](_0x114388);}})[_0x1b89('0x2c')](respondWithResult(_0x485e31,null))[_0x1b89('0x51')](handleError(_0x485e31,null));};exports[_0x1b89('0x8b')]=function(_0x1491fe,_0x8034b3,_0x2d73b2){return db['CmList']['find']({'where':{'id':_0x1491fe['params']['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x8034b3,null))[_0x1b89('0x2c')](function(_0x42c4a8){if(_0x42c4a8){return _0x42c4a8[_0x1b89('0x8b')](_0x1491fe['body'][_0x1b89('0x62')],_[_0x1b89('0x8c')](_0x1491fe[_0x1b89('0x53')],[_0x1b89('0x62'),'id'])||{})['spread'](function(_0x536582){for(var _0x5d44b2=0x0;_0x5d44b2<_0x1491fe[_0x1b89('0x53')]['ids'][_0x1b89('0x40')];_0x5d44b2+=0x1){socket[_0x1b89('0x8d')](_0x1b89('0x8e'),{'UserId':Number(_0x1491fe[_0x1b89('0x53')]['ids'][_0x5d44b2]),'CmListId':Number(_0x1491fe[_0x1b89('0x4d')]['id'])});}return _0x536582;});}})[_0x1b89('0x2c')](respondWithResult(_0x8034b3,null))['catch'](handleError(_0x8034b3,null));};exports[_0x1b89('0x8f')]=function(_0x485d7e,_0x495e8e,_0x778384){return db[_0x1b89('0x35')][_0x1b89('0x50')]({'where':{'id':_0x485d7e[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x495e8e,null))['then'](function(_0x39eaa3){if(_0x39eaa3){return _0x39eaa3['removeAgents'](_0x485d7e[_0x1b89('0x39')][_0x1b89('0x62')])[_0x1b89('0x2c')](function(){if(_[_0x1b89('0x65')](_0x485d7e['query'][_0x1b89('0x62')])){for(var _0x5e2df7=0x0;_0x5e2df7<_0x485d7e['query']['ids'][_0x1b89('0x40')];_0x5e2df7+=0x1){socket[_0x1b89('0x8d')]('userCmList:remove',{'UserId':Number(_0x485d7e[_0x1b89('0x39')][_0x1b89('0x62')][_0x5e2df7]),'CmListId':Number(_0x485d7e[_0x1b89('0x4d')]['id'])});}}else{socket['emit'](_0x1b89('0x90'),{'UserId':Number(_0x485d7e[_0x1b89('0x39')]['ids']),'CmListId':Number(_0x485d7e[_0x1b89('0x4d')]['id'])});}});}})[_0x1b89('0x2c')](respondWithStatusCode(_0x495e8e,null))[_0x1b89('0x51')](handleError(_0x495e8e,null));};exports[_0x1b89('0x91')]=function(_0x1113e6,_0x5ebebd,_0x366aca){var _0x320bed={};var _0x3d0505={};var _0x5a9951;var _0x4416b3;return db[_0x1b89('0x35')]['findOne']({'where':{'id':_0x1113e6[_0x1b89('0x4d')]['id']}})[_0x1b89('0x2c')](handleEntityNotFound(_0x5ebebd,null))[_0x1b89('0x2c')](function(_0x31656c){if(_0x31656c){_0x5a9951=_0x31656c;_0x3d0505['model']=_[_0x1b89('0x3a')](db[_0x1b89('0x92')][_0x1b89('0x4e')]);_0x3d0505['query']=_['keys'](_0x1113e6[_0x1b89('0x39')]);_0x3d0505[_0x1b89('0x3b')]=_[_0x1b89('0x3c')](_0x3d0505[_0x1b89('0x3d')],_0x3d0505[_0x1b89('0x39')]);_0x320bed[_0x1b89('0x3e')]=_[_0x1b89('0x3c')](_0x3d0505['model'],qs[_0x1b89('0x3f')](_0x1113e6[_0x1b89('0x39')]['fields']));_0x320bed[_0x1b89('0x3e')]=_0x320bed[_0x1b89('0x3e')]['length']?_0x320bed['attributes']:_0x3d0505[_0x1b89('0x3d')];_0x320bed['order']=qs[_0x1b89('0x44')](_0x1113e6[_0x1b89('0x39')][_0x1b89('0x44')]);_0x320bed[_0x1b89('0x46')]=qs['filters'](_['pick'](_0x1113e6[_0x1b89('0x39')],_0x3d0505['filters']));if(_0x1113e6[_0x1b89('0x39')][_0x1b89('0x48')]){_0x320bed['where']=_['merge'](_0x320bed[_0x1b89('0x46')],{'$or':_[_0x1b89('0x38')](_0x320bed[_0x1b89('0x3e')],function(_0x2db446){var _0x448be2={};_0x448be2[_0x2db446]={'$like':'%'+_0x1113e6['query'][_0x1b89('0x48')]+'%'};return _0x448be2;})});}_0x320bed=_['merge']({},_0x320bed,_0x1113e6[_0x1b89('0x49')]);return _0x5a9951[_0x1b89('0x91')](_0x320bed);}})[_0x1b89('0x2c')](function(_0x2745ce){if(_0x2745ce){_0x4416b3=_0x2745ce[_0x1b89('0x40')];if(!_0x1113e6[_0x1b89('0x39')][_0x1b89('0x41')](_0x1b89('0x42'))){_0x320bed['limit']=qs[_0x1b89('0x24')](_0x1113e6[_0x1b89('0x39')][_0x1b89('0x24')]);_0x320bed[_0x1b89('0x23')]=qs[_0x1b89('0x23')](_0x1113e6[_0x1b89('0x39')][_0x1b89('0x23')]);}return _0x5a9951[_0x1b89('0x91')](_0x320bed);}})[_0x1b89('0x2c')](function(_0x21692e){if(_0x21692e){return _0x21692e?{'count':_0x4416b3,'rows':_0x21692e}:null;}})['then'](respondWithResult(_0x5ebebd,null))[_0x1b89('0x51')](handleError(_0x5ebebd,null));};