89493b44ee424aefd4f9f064a4322d0942494bb9
[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 _0xe734=['filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','include','findAll','rows','catch','show','params','keys','includeAll','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','addDisposition','ListId','Disposition','getDispositions','findOne','removeDispositions','ids','addContacts','CmContact','describe','tags','isArray','push','each','omit','success','dataValues','errors','CmCustomField','CustomFields','concat','format','cf_%d','raw','options','getContactsCsv','getContacts','isEmpty','now','attachment;\x20filename=','list_%d_%s.csv','setHeader','Content-type','text/csv','download','/tmp/list_%d_%s.csv','addCustomField','sequelize','transaction','Sequelize','text','TEXT','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cf_%s','getCustomFields','addAgents','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','Lists','stack','name','send','map','CmList','rawAttributes','type','key','model','query'];(function(_0x2202b1,_0x4a26ed){var _0x57da5e=function(_0x1161fb){while(--_0x1161fb){_0x2202b1['push'](_0x2202b1['shift']());}};_0x57da5e(++_0x4a26ed);}(_0xe734,0xe3));var _0x4e73=function(_0x486f4a,_0x478dc7){_0x486f4a=_0x486f4a-0x0;var _0x135d99=_0xe734[_0x486f4a];return _0x135d99;};'use strict';var pdf=require(_0x4e73('0x0'));var emlformat=require(_0x4e73('0x1'));var rimraf=require(_0x4e73('0x2'));var zipdir=require(_0x4e73('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x4e73('0x4'));var moment=require(_0x4e73('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4e73('0x6'));var util=require('util');var path=require(_0x4e73('0x7'));var sox=require(_0x4e73('0x8'));var csv=require(_0x4e73('0x9'));var ejs=require(_0x4e73('0xa'));var fs=require('fs');var _=require(_0x4e73('0xb'));var squel=require('squel');var crypto=require(_0x4e73('0xc'));var jsforce=require(_0x4e73('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x4e73('0x9'));var querystring=require(_0x4e73('0xe'));var Papa=require(_0x4e73('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4e73('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4e73('0x11'));var logger=require(_0x4e73('0x12'))(_0x4e73('0x13'));var utils=require(_0x4e73('0x14'));var config=require(_0x4e73('0x15'));var licenseUtil=require(_0x4e73('0x16'));var db=require(_0x4e73('0x17'))['db'];config[_0x4e73('0x18')]=_[_0x4e73('0x19')](config[_0x4e73('0x18')],{'host':_0x4e73('0x1a'),'port':0x18eb});var socket=require(_0x4e73('0x1b'))(new Redis(config['redis']));require('./cmList.socket')[_0x4e73('0x1c')](socket);function respondWithStatusCode(_0xeb2fe7,_0x54fe6d){_0x54fe6d=_0x54fe6d||0xcc;return function(_0x2f9f8c){if(_0x2f9f8c){return _0xeb2fe7[_0x4e73('0x1d')](_0x54fe6d);}return _0xeb2fe7['status'](_0x54fe6d)[_0x4e73('0x1e')]();};}function respondWithResult(_0x311f5e,_0x417ddc){_0x417ddc=_0x417ddc||0xc8;return function(_0x3749f5){if(_0x3749f5){return _0x311f5e[_0x4e73('0x1f')](_0x417ddc)[_0x4e73('0x20')](_0x3749f5);}};}function respondWithFilteredResult(_0x247693,_0x8b216c){return function(_0x2bab26){if(_0x2bab26){var _0x40ab2d=_0x2bab26[_0x4e73('0x21')],_0x4dda5c=_0x8b216c['offset'],_0x462c3b=_0x8b216c[_0x4e73('0x22')]+_0x8b216c[_0x4e73('0x23')],_0x2ab025;if(_0x462c3b>=_0x40ab2d){_0x462c3b=_0x40ab2d;_0x2ab025=0xc8;}else{_0x2ab025=0xce;}_0x247693[_0x4e73('0x1f')](_0x2ab025);return _0x247693[_0x4e73('0x24')](_0x4e73('0x25'),_0x4dda5c+'-'+_0x462c3b+'/'+_0x40ab2d)[_0x4e73('0x20')](_0x2bab26);}return null;};}function patchUpdates(_0x4cf9ec){return function(_0x2c6e74){try{jsonpatch[_0x4e73('0x26')](_0x2c6e74,_0x4cf9ec,!![]);}catch(_0x44142a){return BPromise[_0x4e73('0x27')](_0x44142a);}return _0x2c6e74[_0x4e73('0x28')]();};}function saveUpdates(_0x8426cd,_0x33d494){return function(_0xb70537){if(_0xb70537){return _0xb70537[_0x4e73('0x29')](_0x8426cd)[_0x4e73('0x2a')](function(_0x477c71){return _0x477c71;});}return null;};}function removeEntity(_0x5dc8ba,_0xb8723c){return function(_0x3ce634){if(_0x3ce634){return _0x3ce634[_0x4e73('0x2b')]()['then'](function(){var _0x171f59=_0x3ce634['get']({'plain':!![]});var _0x4cf006=_0x4e73('0x2c');return db['UserProfileResource'][_0x4e73('0x2b')]({'where':{'type':_0x4cf006,'resourceId':_0x171f59['id']}})[_0x4e73('0x2a')](function(){return _0x3ce634;});})[_0x4e73('0x2a')](function(){_0x5dc8ba[_0x4e73('0x1f')](0xcc)[_0x4e73('0x1e')]();});}};}function handleEntityNotFound(_0x18680b,_0x21b250){return function(_0x31c8e6){if(!_0x31c8e6){_0x18680b['sendStatus'](0x194);}return _0x31c8e6;};}function handleError(_0x3062af,_0xbeb298){_0xbeb298=_0xbeb298||0x1f4;return function(_0x1bffd2){logger['error'](_0x1bffd2[_0x4e73('0x2d')]);if(_0x1bffd2[_0x4e73('0x2e')]){delete _0x1bffd2[_0x4e73('0x2e')];}_0x3062af['status'](_0xbeb298)[_0x4e73('0x2f')](_0x1bffd2);};}exports['index']=function(_0xf987ad,_0x276e36){var _0x3202da={},_0x2f5919={},_0x1050a8={'count':0x0,'rows':[]};var _0x294d8e=_[_0x4e73('0x30')](db[_0x4e73('0x31')][_0x4e73('0x32')],function(_0x17ae84){return{'name':_0x17ae84['fieldName'],'type':_0x17ae84[_0x4e73('0x33')][_0x4e73('0x34')]};});_0x2f5919[_0x4e73('0x35')]=_[_0x4e73('0x30')](_0x294d8e,_0x4e73('0x2e'));_0x2f5919[_0x4e73('0x36')]=_['keys'](_0xf987ad[_0x4e73('0x36')]);_0x2f5919[_0x4e73('0x37')]=_[_0x4e73('0x38')](_0x2f5919[_0x4e73('0x35')],_0x2f5919[_0x4e73('0x36')]);_0x3202da['attributes']=_[_0x4e73('0x38')](_0x2f5919[_0x4e73('0x35')],qs[_0x4e73('0x39')](_0xf987ad[_0x4e73('0x36')][_0x4e73('0x39')]));_0x3202da['attributes']=_0x3202da[_0x4e73('0x3a')][_0x4e73('0x3b')]?_0x3202da[_0x4e73('0x3a')]:_0x2f5919[_0x4e73('0x35')];if(!_0xf987ad[_0x4e73('0x36')][_0x4e73('0x3c')](_0x4e73('0x3d'))){_0x3202da[_0x4e73('0x23')]=qs[_0x4e73('0x23')](_0xf987ad[_0x4e73('0x36')][_0x4e73('0x23')]);_0x3202da[_0x4e73('0x22')]=qs['offset'](_0xf987ad[_0x4e73('0x36')]['offset']);}_0x3202da[_0x4e73('0x3e')]=qs[_0x4e73('0x3f')](_0xf987ad[_0x4e73('0x36')][_0x4e73('0x3f')]);_0x3202da[_0x4e73('0x40')]=qs[_0x4e73('0x37')](_[_0x4e73('0x41')](_0xf987ad['query'],_0x2f5919[_0x4e73('0x37')]),_0x294d8e);if(_0xf987ad[_0x4e73('0x36')][_0x4e73('0x42')]){_0x3202da['where']=_['merge'](_0x3202da['where'],{'$or':_[_0x4e73('0x30')](_0x294d8e,function(_0x2c1edc){if(_0x2c1edc['type']!=='VIRTUAL'){var _0x2acf81={};_0x2acf81[_0x2c1edc['name']]={'$like':'%'+_0xf987ad[_0x4e73('0x36')]['filter']+'%'};return _0x2acf81;}})});}_0x3202da=_[_0x4e73('0x43')]({},_0x3202da,_0xf987ad['options']);var _0x3cc148={'where':_0x3202da[_0x4e73('0x40')]};return db[_0x4e73('0x31')][_0x4e73('0x21')](_0x3cc148)['then'](function(_0x4d63c2){_0x1050a8[_0x4e73('0x21')]=_0x4d63c2;if(_0xf987ad[_0x4e73('0x36')]['includeAll']){_0x3202da[_0x4e73('0x44')]=[{'all':!![]}];}return db[_0x4e73('0x31')][_0x4e73('0x45')](_0x3202da);})[_0x4e73('0x2a')](function(_0x10dd55){_0x1050a8[_0x4e73('0x46')]=_0x10dd55;return _0x1050a8;})[_0x4e73('0x2a')](respondWithFilteredResult(_0x276e36,_0x3202da))[_0x4e73('0x47')](handleError(_0x276e36,null));};exports[_0x4e73('0x48')]=function(_0x707696,_0x6e343e){var _0x4cb787={'raw':![],'where':{'id':_0x707696[_0x4e73('0x49')]['id']}},_0xf5c6a={};_0xf5c6a[_0x4e73('0x35')]=_[_0x4e73('0x4a')](db[_0x4e73('0x31')]['rawAttributes']);_0xf5c6a[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x707696[_0x4e73('0x36')]);_0xf5c6a[_0x4e73('0x37')]=_[_0x4e73('0x38')](_0xf5c6a[_0x4e73('0x35')],_0xf5c6a[_0x4e73('0x36')]);_0x4cb787[_0x4e73('0x3a')]=_[_0x4e73('0x38')](_0xf5c6a[_0x4e73('0x35')],qs['fields'](_0x707696['query'][_0x4e73('0x39')]));_0x4cb787['attributes']=_0x4cb787[_0x4e73('0x3a')][_0x4e73('0x3b')]?_0x4cb787[_0x4e73('0x3a')]:_0xf5c6a[_0x4e73('0x35')];if(_0x707696['query'][_0x4e73('0x4b')]){_0x4cb787[_0x4e73('0x44')]=[{'all':!![]}];}_0x4cb787=_[_0x4e73('0x43')]({},_0x4cb787,_0x707696['options']);return db[_0x4e73('0x31')]['find'](_0x4cb787)[_0x4e73('0x2a')](handleEntityNotFound(_0x6e343e,null))['then'](respondWithResult(_0x6e343e,null))[_0x4e73('0x47')](handleError(_0x6e343e,null));};exports[_0x4e73('0x4c')]=function(_0x2a3c71,_0x42b894){return db[_0x4e73('0x31')][_0x4e73('0x4c')](_0x2a3c71[_0x4e73('0x4d')],{})[_0x4e73('0x2a')](function(_0x4a9ba6){var _0x2d39bc=_0x2a3c71[_0x4e73('0x4e')]['get']({'plain':!![]});if(!_0x2d39bc)throw new Error(_0x4e73('0x4f'));if(_0x2d39bc[_0x4e73('0x50')]===_0x4e73('0x4e')){var _0x46f512=_0x4a9ba6['get']({'plain':!![]});var _0x2fa169='Lists';return db[_0x4e73('0x51')][_0x4e73('0x52')]({'where':{'name':_0x2fa169,'userProfileId':_0x2d39bc[_0x4e73('0x53')]},'raw':!![]})[_0x4e73('0x2a')](function(_0xb8e2bb){if(_0xb8e2bb&&_0xb8e2bb['autoAssociation']===0x0){return db['UserProfileResource'][_0x4e73('0x4c')]({'name':_0x46f512[_0x4e73('0x2e')],'resourceId':_0x46f512['id'],'type':_0xb8e2bb[_0x4e73('0x2e')],'sectionId':_0xb8e2bb['id']},{})[_0x4e73('0x2a')](function(){return _0x4a9ba6;});}else{return _0x4a9ba6;}})['catch'](function(_0x44915a){logger['error'](_0x4e73('0x54'),_0x44915a);throw _0x44915a;});}return _0x4a9ba6;})['then'](respondWithResult(_0x42b894,0xc9))['catch'](handleError(_0x42b894,null));};exports[_0x4e73('0x29')]=function(_0x238240,_0x15d762){if(_0x238240['body']['id']){delete _0x238240[_0x4e73('0x4d')]['id'];}return db['CmList'][_0x4e73('0x52')]({'where':{'id':_0x238240['params']['id']}})['then'](handleEntityNotFound(_0x15d762,null))[_0x4e73('0x2a')](saveUpdates(_0x238240[_0x4e73('0x4d')],null))['then'](respondWithResult(_0x15d762,null))['catch'](handleError(_0x15d762,null));};exports['destroy']=function(_0x26d72f,_0x15ab3d){return db[_0x4e73('0x31')][_0x4e73('0x52')]({'where':{'id':_0x26d72f[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x15ab3d,null))[_0x4e73('0x2a')](removeEntity(_0x15ab3d,null))[_0x4e73('0x47')](handleError(_0x15ab3d,null));};exports['describe']=function(_0x15529a,_0x24dfa8){return db[_0x4e73('0x31')]['describe']()[_0x4e73('0x2a')](respondWithResult(_0x24dfa8,null))[_0x4e73('0x47')](handleError(_0x24dfa8,null));};exports[_0x4e73('0x55')]=function(_0x3aad0e,_0x31116a,_0x2e5e02){if(_0x3aad0e[_0x4e73('0x4d')]['id']){delete _0x3aad0e[_0x4e73('0x4d')]['id'];}return db['CmList'][_0x4e73('0x52')]({'where':{'id':_0x3aad0e[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x31116a,null))['then'](function(_0x22d59b){if(_0x22d59b){_0x3aad0e[_0x4e73('0x4d')][_0x4e73('0x56')]=_0x22d59b['id'];return db[_0x4e73('0x57')][_0x4e73('0x4c')](_0x3aad0e[_0x4e73('0x4d')]);}})['then'](respondWithResult(_0x31116a,null))[_0x4e73('0x47')](handleError(_0x31116a,null));};exports[_0x4e73('0x58')]=function(_0x7d2162,_0x311d99,_0xf21c63){var _0x29a5b7={'raw':![],'where':{}};var _0x155cda={};var _0x11071a={'count':0x0,'rows':[]};return db[_0x4e73('0x31')][_0x4e73('0x59')]({'where':{'id':_0x7d2162['params']['id']}})['then'](handleEntityNotFound(_0x311d99,null))[_0x4e73('0x2a')](function(_0x56067b){if(_0x56067b){_0x155cda[_0x4e73('0x35')]=_[_0x4e73('0x4a')](db[_0x4e73('0x57')][_0x4e73('0x32')]);_0x155cda[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x7d2162[_0x4e73('0x36')]);_0x155cda[_0x4e73('0x37')]=_[_0x4e73('0x38')](_0x155cda['model'],_0x155cda['query']);_0x29a5b7['attributes']=_['intersection'](_0x155cda[_0x4e73('0x35')],qs[_0x4e73('0x39')](_0x7d2162[_0x4e73('0x36')][_0x4e73('0x39')]));_0x29a5b7['attributes']=_0x29a5b7[_0x4e73('0x3a')]['length']?_0x29a5b7[_0x4e73('0x3a')]:_0x155cda[_0x4e73('0x35')];if(!_0x7d2162[_0x4e73('0x36')][_0x4e73('0x3c')]('nolimit')){_0x29a5b7[_0x4e73('0x23')]=qs[_0x4e73('0x23')](_0x7d2162[_0x4e73('0x36')][_0x4e73('0x23')]);_0x29a5b7[_0x4e73('0x22')]=qs[_0x4e73('0x22')](_0x7d2162[_0x4e73('0x36')]['offset']);}_0x29a5b7[_0x4e73('0x3e')]=qs[_0x4e73('0x3f')](_0x7d2162[_0x4e73('0x36')][_0x4e73('0x3f')]);_0x29a5b7[_0x4e73('0x40')]=qs[_0x4e73('0x37')](_['pick'](_0x7d2162[_0x4e73('0x36')],_0x155cda['filters']));_0x29a5b7[_0x4e73('0x40')][_0x4e73('0x56')]=_0x56067b['id'];if(_0x7d2162[_0x4e73('0x36')]['filter']){_0x29a5b7[_0x4e73('0x40')]=_[_0x4e73('0x43')](_0x29a5b7[_0x4e73('0x40')],{'$or':_[_0x4e73('0x30')](_0x29a5b7['attributes'],function(_0x56dab4){var _0x952986={};_0x952986[_0x56dab4]={'$like':'%'+_0x7d2162[_0x4e73('0x36')][_0x4e73('0x42')]+'%'};return _0x952986;})});}_0x29a5b7=_[_0x4e73('0x43')]({},_0x29a5b7,_0x7d2162['options']);return db[_0x4e73('0x57')]['count']({'where':_0x29a5b7[_0x4e73('0x40')]})[_0x4e73('0x2a')](function(_0x485cb7){_0x11071a[_0x4e73('0x21')]=_0x485cb7;if(_0x7d2162['query'][_0x4e73('0x4b')]){_0x29a5b7['include']=[{'all':!![]}];}return db['Disposition']['findAll'](_0x29a5b7);})[_0x4e73('0x2a')](function(_0x21b29c){_0x11071a[_0x4e73('0x46')]=_0x21b29c;return _0x11071a;});}})['then'](respondWithFilteredResult(_0x311d99,_0x29a5b7))[_0x4e73('0x47')](handleError(_0x311d99,null));};exports[_0x4e73('0x5a')]=function(_0x484fac,_0x1b58ab,_0x2edb41){return db[_0x4e73('0x31')]['find']({'where':{'id':_0x484fac[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x1b58ab,null))['then'](function(_0x540e4b){if(_0x540e4b){return _0x540e4b[_0x4e73('0x5a')](_0x484fac[_0x4e73('0x36')][_0x4e73('0x5b')]);}})['then'](respondWithStatusCode(_0x1b58ab,null))[_0x4e73('0x47')](handleError(_0x1b58ab,null));};exports[_0x4e73('0x5c')]=function(_0x455aba,_0x40521d,_0x1956e7){return db[_0x4e73('0x31')][_0x4e73('0x52')]({'where':{'id':_0x455aba[_0x4e73('0x49')]['id']}})['then'](handleEntityNotFound(_0x40521d,null))[_0x4e73('0x2a')](function(_0x110538){if(_0x110538){var _0x29d0cb=[];var _0x2ddf3d={'success':[],'errors':[]};return db[_0x4e73('0x5d')][_0x4e73('0x5e')]()[_0x4e73('0x2a')](function(_0x16c994){if(_0x455aba['body'][_0x4e73('0x5f')]&&_[_0x4e73('0x60')](_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')])){if(_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')][_0x4e73('0x3b')]){_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')]=_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')]['join'](';')+';';}else{_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')]=null;}}else{_0x455aba[_0x4e73('0x4d')][_0x4e73('0x5f')]=null;}if(_0x455aba['body']&&_[_0x4e73('0x60')](_0x455aba[_0x4e73('0x4d')])){for(var _0x51c42f=0x0;_0x51c42f<_0x455aba[_0x4e73('0x4d')]['length'];_0x51c42f+=0x1){_0x455aba[_0x4e73('0x4d')][_0x51c42f][_0x4e73('0x56')]=_0x455aba[_0x4e73('0x49')]['id'];_0x29d0cb[_0x4e73('0x61')](_0x455aba[_0x4e73('0x4d')][_0x51c42f]);}return BPromise[_0x4e73('0x62')](_0x29d0cb,function(_0x28c6b0){return db[_0x4e73('0x5d')][_0x4e73('0x4c')](_[_0x4e73('0x63')](_0x28c6b0,[_0x4e73('0x5b'),'id'])||{},{'fields':_[_0x4e73('0x4a')](_0x16c994),'raw':!![]})[_0x4e73('0x2a')](function(_0x2c9c5f){_0x2ddf3d[_0x4e73('0x64')][_0x4e73('0x61')](_0x2c9c5f[_0x4e73('0x65')]);})['catch'](function(_0x3eabbe){_0x2ddf3d[_0x4e73('0x66')][_0x4e73('0x61')]({'data':_0x28c6b0,'error':_0x3eabbe['message']});});})[_0x4e73('0x2a')](function(_0x37257e){return _0x2ddf3d;})[_0x4e73('0x47')](function(_0x5d1be1){return _0x5d1be1;});}else{_0x40521d[_0x4e73('0x1f')](0x190)['json']({'message':'Malformed\x20request\x20syntax'});}});}})['then'](respondWithResult(_0x40521d,null))[_0x4e73('0x47')](handleError(_0x40521d,null));};exports['getContacts']=function(_0x7bc077,_0x45471f,_0xd1e59c){var _0xf75366;return db[_0x4e73('0x31')]['find']({'where':{'id':_0x7bc077[_0x4e73('0x49')]['id']},'include':[{'model':db[_0x4e73('0x67')],'as':_0x4e73('0x68')}]})['then'](handleEntityNotFound(_0x45471f,null))[_0x4e73('0x2a')](function(_0xf168df){if(_0xf168df){_0xf75366=_0xf168df;return db[_0x4e73('0x5d')][_0x4e73('0x32')];}})['then'](function(_0x170686){if(_0x170686){var _0x45abc8={};var _0x320fb4={};_0x320fb4[_0x4e73('0x35')]=_[_0x4e73('0x69')](_[_0x4e73('0x4a')](_0x170686),_[_0x4e73('0x30')](_0xf75366['CustomFields'],function(_0x2e3469){return util[_0x4e73('0x6a')](_0x4e73('0x6b'),_0x2e3469['id']);}));_0x320fb4[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x7bc077[_0x4e73('0x36')]);_0x320fb4[_0x4e73('0x37')]=_[_0x4e73('0x38')](_0x320fb4[_0x4e73('0x35')],_0x320fb4[_0x4e73('0x36')]);_0x45abc8['attributes']=_[_0x4e73('0x38')](_0x320fb4[_0x4e73('0x35')],qs[_0x4e73('0x39')](_0x7bc077[_0x4e73('0x36')][_0x4e73('0x39')]));_0x45abc8[_0x4e73('0x3a')]=_0x45abc8[_0x4e73('0x3a')][_0x4e73('0x3b')]?_0x45abc8[_0x4e73('0x3a')]:_0x320fb4['model'];if(!_0x7bc077[_0x4e73('0x36')][_0x4e73('0x3c')]('nolimit')){_0x45abc8[_0x4e73('0x23')]=qs['limit'](_0x7bc077[_0x4e73('0x36')][_0x4e73('0x23')]);_0x45abc8['offset']=qs[_0x4e73('0x22')](_0x7bc077[_0x4e73('0x36')][_0x4e73('0x22')]);}_0x45abc8[_0x4e73('0x3e')]=qs[_0x4e73('0x3f')](_0x7bc077[_0x4e73('0x36')][_0x4e73('0x3f')]);_0x45abc8['where']=qs[_0x4e73('0x37')](_[_0x4e73('0x41')](_0x7bc077[_0x4e73('0x36')],_0x320fb4[_0x4e73('0x37')]));_0x45abc8[_0x4e73('0x6c')]=!![];if(_0x7bc077[_0x4e73('0x36')][_0x4e73('0x42')]){_0x45abc8[_0x4e73('0x40')]=_[_0x4e73('0x43')](_0x45abc8[_0x4e73('0x40')],{'$or':_[_0x4e73('0x30')](_0x45abc8[_0x4e73('0x3a')],function(_0x2eab1e){var _0x4e48a3={};_0x4e48a3[_0x2eab1e]={'$like':'%'+_0x7bc077[_0x4e73('0x36')]['filter']+'%'};return _0x4e48a3;})});}_0x45abc8=_[_0x4e73('0x43')]({},_0x45abc8,_0x7bc077[_0x4e73('0x6d')]);return _0xf75366['getContacts'](_0x45abc8);}})['then'](respondWithResult(_0x45471f,null))['catch'](handleError(_0x45471f,null));};exports[_0x4e73('0x6e')]=function(_0x263cff,_0x140f4f,_0x582136){var _0x3595b5;return db[_0x4e73('0x31')]['find']({'where':{'id':_0x263cff[_0x4e73('0x49')]['id']},'include':[{'model':db[_0x4e73('0x67')],'as':_0x4e73('0x68')}]})[_0x4e73('0x2a')](handleEntityNotFound(_0x140f4f,null))[_0x4e73('0x2a')](function(_0x4bbf31){if(_0x4bbf31){_0x3595b5=_0x4bbf31;return db[_0x4e73('0x5d')]['rawAttributes'];}})[_0x4e73('0x2a')](function(_0xc0ad47){if(_0xc0ad47){var _0x4ea0c4={};var _0x229c2f={};_0x229c2f['model']=_['concat'](_[_0x4e73('0x4a')](_0xc0ad47),_['map'](_0x3595b5[_0x4e73('0x68')],function(_0x23ae5b){return util[_0x4e73('0x6a')]('cf_%d',_0x23ae5b['id']);}));_0x229c2f[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x263cff['query']);_0x229c2f['filters']=_['intersection'](_0x229c2f[_0x4e73('0x35')],_0x229c2f[_0x4e73('0x36')]);_0x4ea0c4[_0x4e73('0x3a')]=_[_0x4e73('0x38')](_0x229c2f[_0x4e73('0x35')],qs[_0x4e73('0x39')](_0x263cff['query'][_0x4e73('0x39')]));_0x4ea0c4['attributes']=_0x4ea0c4[_0x4e73('0x3a')]['length']?_0x4ea0c4[_0x4e73('0x3a')]:_0x229c2f[_0x4e73('0x35')];if(!_0x263cff[_0x4e73('0x36')][_0x4e73('0x3c')](_0x4e73('0x3d'))){_0x4ea0c4['limit']=qs[_0x4e73('0x23')](_0x263cff['query']['limit']);_0x4ea0c4['offset']=qs[_0x4e73('0x22')](_0x263cff[_0x4e73('0x36')]['offset']);}_0x4ea0c4[_0x4e73('0x3e')]=qs[_0x4e73('0x3f')](_0x263cff[_0x4e73('0x36')][_0x4e73('0x3f')]);_0x4ea0c4[_0x4e73('0x40')]=qs['filters'](_[_0x4e73('0x41')](_0x263cff[_0x4e73('0x36')],_0x229c2f[_0x4e73('0x37')]));_0x4ea0c4[_0x4e73('0x6c')]=!![];if(_0x263cff[_0x4e73('0x36')][_0x4e73('0x42')]){_0x4ea0c4['where']=_['merge'](_0x4ea0c4['where'],{'$or':_['map'](_0x4ea0c4[_0x4e73('0x3a')],function(_0x1da4b6){var _0x3099d2={};_0x3099d2[_0x1da4b6]={'$like':'%'+_0x263cff[_0x4e73('0x36')][_0x4e73('0x42')]+'%'};return _0x3099d2;})});}_0x4ea0c4=_[_0x4e73('0x43')]({},_0x4ea0c4,_0x263cff['options']);return _0x3595b5[_0x4e73('0x6f')](_0x4ea0c4);}})['then'](function(_0x38080a){if(!_[_0x4e73('0x70')](_0x38080a)){var _0x493ee8=toCsv(_0x38080a);var _0x33f491=Date[_0x4e73('0x71')]();fs['writeFileSync'](util[_0x4e73('0x6a')]('/tmp/list_%d_%s.csv',_0x3595b5['id'],_0x33f491),_0x493ee8);_0x140f4f['setHeader']('Content-disposition',_0x4e73('0x72')+util[_0x4e73('0x6a')](_0x4e73('0x73'),_0x3595b5['id'],_0x33f491));_0x140f4f[_0x4e73('0x74')](_0x4e73('0x75'),_0x4e73('0x76'));return _0x140f4f[_0x4e73('0x77')](util[_0x4e73('0x6a')](_0x4e73('0x78'),_0x3595b5['id'],_0x33f491));}else{return _0x140f4f[_0x4e73('0x1d')](0xcc);}})[_0x4e73('0x47')](handleError(_0x140f4f,null));};exports[_0x4e73('0x79')]=function(_0x2bbb2c,_0x5210f3,_0x2bad97){var _0xd37cfb;delete _0x2bbb2c['body']['id'];return db[_0x4e73('0x31')][_0x4e73('0x59')]({'where':{'id':_0x2bbb2c[_0x4e73('0x49')]['id']}})['then'](handleEntityNotFound(_0x5210f3,null))[_0x4e73('0x2a')](function(_0x332722){if(_0x332722){return db[_0x4e73('0x7a')][_0x4e73('0x7b')](function(_0x30d23a){return db[_0x4e73('0x67')][_0x4e73('0x4c')](_0x2bbb2c[_0x4e73('0x4d')],{'transaction':_0x30d23a})[_0x4e73('0x2a')](function(_0x13efd2){_0xd37cfb=_0x13efd2;return _0x332722['addCustomFields'](_0x13efd2,{'transaction':_0x30d23a});})[_0x4e73('0x2a')](function(){var _0x3c154e={'type':db[_0x4e73('0x7c')]['TEXT'],'transaction':_0x30d23a};switch(_0x2bbb2c['body'][_0x4e73('0x33')]){case _0x4e73('0x7d'):_0x3c154e[_0x4e73('0x33')]=db[_0x4e73('0x7c')][_0x4e73('0x7e')];break;case _0x4e73('0x7f'):_0x3c154e[_0x4e73('0x33')]=db[_0x4e73('0x7c')][_0x4e73('0x80')];break;case _0x4e73('0x81'):_0x3c154e[_0x4e73('0x33')]=db[_0x4e73('0x7c')]['BOOLEAN'];_0x3c154e[_0x4e73('0x82')]=![];break;default:}return db['sequelize'][_0x4e73('0x83')][_0x4e73('0x84')]('cm_contacts',util[_0x4e73('0x6a')](_0x4e73('0x85'),_0xd37cfb['id']),_0x3c154e);})[_0x4e73('0x2a')](function(){return _0xd37cfb;});});}})[_0x4e73('0x2a')](respondWithResult(_0x5210f3,null))[_0x4e73('0x47')](handleError(_0x5210f3,null));};exports[_0x4e73('0x86')]=function(_0x5dc179,_0x54e196,_0x3c66bb){var _0x115cfd={};var _0xa37eaa={};var _0x3d0ece;var _0x5cd767;return db[_0x4e73('0x31')][_0x4e73('0x59')]({'where':{'id':_0x5dc179[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x54e196,null))[_0x4e73('0x2a')](function(_0x23c62e){if(_0x23c62e){_0x3d0ece=_0x23c62e;_0xa37eaa[_0x4e73('0x35')]=_[_0x4e73('0x4a')](db[_0x4e73('0x67')][_0x4e73('0x32')]);_0xa37eaa[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x5dc179[_0x4e73('0x36')]);_0xa37eaa['filters']=_[_0x4e73('0x38')](_0xa37eaa[_0x4e73('0x35')],_0xa37eaa['query']);_0x115cfd[_0x4e73('0x3a')]=_[_0x4e73('0x38')](_0xa37eaa['model'],qs[_0x4e73('0x39')](_0x5dc179['query'][_0x4e73('0x39')]));_0x115cfd[_0x4e73('0x3a')]=_0x115cfd[_0x4e73('0x3a')][_0x4e73('0x3b')]?_0x115cfd[_0x4e73('0x3a')]:_0xa37eaa[_0x4e73('0x35')];_0x115cfd[_0x4e73('0x3e')]=qs['sort'](_0x5dc179['query'][_0x4e73('0x3f')]);_0x115cfd[_0x4e73('0x40')]=qs[_0x4e73('0x37')](_[_0x4e73('0x41')](_0x5dc179['query'],_0xa37eaa[_0x4e73('0x37')]));_0x115cfd[_0x4e73('0x40')]=_[_0x4e73('0x43')](_0x115cfd['where'],{'$or':[{'ListId':_0x23c62e['id']},{'ListId':null}]});if(_0x5dc179[_0x4e73('0x36')][_0x4e73('0x42')]){_0x115cfd[_0x4e73('0x40')]=_[_0x4e73('0x43')](_0x115cfd[_0x4e73('0x40')],{'$or':_['map'](_0x115cfd['attributes'],function(_0x20da53){var _0x28ba30={};_0x28ba30[_0x20da53]={'$like':'%'+_0x5dc179['query'][_0x4e73('0x42')]+'%'};return _0x28ba30;})});}_0x115cfd=_[_0x4e73('0x43')]({},_0x115cfd,_0x5dc179[_0x4e73('0x6d')]);return db['CmCustomField']['findAndCountAll'](_0x115cfd);}})[_0x4e73('0x2a')](respondWithResult(_0x54e196,null))[_0x4e73('0x47')](handleError(_0x54e196,null));};exports[_0x4e73('0x87')]=function(_0x29e436,_0xb4f0f2,_0x3d88fc){return db['CmList']['find']({'where':{'id':_0x29e436[_0x4e73('0x49')]['id']}})['then'](handleEntityNotFound(_0xb4f0f2,null))[_0x4e73('0x2a')](function(_0x1c91b1){if(_0x1c91b1){return _0x1c91b1[_0x4e73('0x87')](_0x29e436[_0x4e73('0x4d')][_0x4e73('0x5b')],_[_0x4e73('0x63')](_0x29e436[_0x4e73('0x4d')],['ids','id'])||{})['spread'](function(_0x491781){for(var _0x26ed60=0x0;_0x26ed60<_0x29e436[_0x4e73('0x4d')][_0x4e73('0x5b')][_0x4e73('0x3b')];_0x26ed60+=0x1){socket[_0x4e73('0x88')](_0x4e73('0x89'),{'UserId':_0x29e436['body']['ids'][_0x26ed60],'CmListId':_0x29e436[_0x4e73('0x49')]['id']});}return _0x491781;});}})[_0x4e73('0x2a')](respondWithResult(_0xb4f0f2,null))[_0x4e73('0x47')](handleError(_0xb4f0f2,null));};exports[_0x4e73('0x8a')]=function(_0x533bfb,_0x5db1a7,_0x4d9416){return db[_0x4e73('0x31')][_0x4e73('0x52')]({'where':{'id':_0x533bfb[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x5db1a7,null))[_0x4e73('0x2a')](function(_0x2b84b9){if(_0x2b84b9){return _0x2b84b9[_0x4e73('0x8a')](_0x533bfb[_0x4e73('0x36')]['ids'])[_0x4e73('0x2a')](function(){if(_[_0x4e73('0x60')](_0x533bfb[_0x4e73('0x36')][_0x4e73('0x5b')])){for(var _0x217674=0x0;_0x217674<_0x533bfb[_0x4e73('0x36')]['ids'][_0x4e73('0x3b')];_0x217674+=0x1){socket['emit'](_0x4e73('0x8b'),{'UserId':Number(_0x533bfb[_0x4e73('0x36')][_0x4e73('0x5b')][_0x217674]),'CmListId':Number(_0x533bfb['params']['id'])});}}else{socket[_0x4e73('0x88')]('userCmList:remove',{'UserId':Number(_0x533bfb[_0x4e73('0x36')][_0x4e73('0x5b')]),'CmListId':Number(_0x533bfb[_0x4e73('0x49')]['id'])});}});}})[_0x4e73('0x2a')](respondWithStatusCode(_0x5db1a7,null))[_0x4e73('0x47')](handleError(_0x5db1a7,null));};exports[_0x4e73('0x8c')]=function(_0x3dfcb8,_0x5821b8,_0x1f0a02){var _0x5ae398={};var _0x3a13d0={};var _0x504381;var _0x15034a;return db[_0x4e73('0x31')][_0x4e73('0x59')]({'where':{'id':_0x3dfcb8[_0x4e73('0x49')]['id']}})[_0x4e73('0x2a')](handleEntityNotFound(_0x5821b8,null))[_0x4e73('0x2a')](function(_0x125c0e){if(_0x125c0e){_0x504381=_0x125c0e;_0x3a13d0[_0x4e73('0x35')]=_[_0x4e73('0x4a')](db['User'][_0x4e73('0x32')]);_0x3a13d0[_0x4e73('0x36')]=_[_0x4e73('0x4a')](_0x3dfcb8[_0x4e73('0x36')]);_0x3a13d0['filters']=_[_0x4e73('0x38')](_0x3a13d0['model'],_0x3a13d0[_0x4e73('0x36')]);_0x5ae398[_0x4e73('0x3a')]=_[_0x4e73('0x38')](_0x3a13d0[_0x4e73('0x35')],qs['fields'](_0x3dfcb8[_0x4e73('0x36')][_0x4e73('0x39')]));_0x5ae398[_0x4e73('0x3a')]=_0x5ae398[_0x4e73('0x3a')][_0x4e73('0x3b')]?_0x5ae398[_0x4e73('0x3a')]:_0x3a13d0[_0x4e73('0x35')];_0x5ae398[_0x4e73('0x3e')]=qs[_0x4e73('0x3f')](_0x3dfcb8['query'][_0x4e73('0x3f')]);_0x5ae398['where']=qs[_0x4e73('0x37')](_[_0x4e73('0x41')](_0x3dfcb8[_0x4e73('0x36')],_0x3a13d0[_0x4e73('0x37')]));if(_0x3dfcb8[_0x4e73('0x36')][_0x4e73('0x42')]){_0x5ae398[_0x4e73('0x40')]=_[_0x4e73('0x43')](_0x5ae398[_0x4e73('0x40')],{'$or':_[_0x4e73('0x30')](_0x5ae398['attributes'],function(_0x141ee1){var _0x1ebff8={};_0x1ebff8[_0x141ee1]={'$like':'%'+_0x3dfcb8[_0x4e73('0x36')][_0x4e73('0x42')]+'%'};return _0x1ebff8;})});}_0x5ae398=_[_0x4e73('0x43')]({},_0x5ae398,_0x3dfcb8[_0x4e73('0x6d')]);return _0x504381['getAgents'](_0x5ae398);}})[_0x4e73('0x2a')](function(_0x579232){if(_0x579232){_0x15034a=_0x579232[_0x4e73('0x3b')];if(!_0x3dfcb8[_0x4e73('0x36')][_0x4e73('0x3c')](_0x4e73('0x3d'))){_0x5ae398[_0x4e73('0x23')]=qs['limit'](_0x3dfcb8['query']['limit']);_0x5ae398[_0x4e73('0x22')]=qs[_0x4e73('0x22')](_0x3dfcb8[_0x4e73('0x36')][_0x4e73('0x22')]);}return _0x504381[_0x4e73('0x8c')](_0x5ae398);}})[_0x4e73('0x2a')](function(_0x44edeb){if(_0x44edeb){return _0x44edeb?{'count':_0x15034a,'rows':_0x44edeb}:null;}})[_0x4e73('0x2a')](respondWithResult(_0x5821b8,null))['catch'](handleError(_0x5821b8,null));};