Built motion from commit (unavailable).|2.5.9
[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 _0x771a=['end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','get','error','stack','name','index','CmList','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','rawAttributes','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Lists','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','params','describe','addDisposition','ListId','getDispositions','findOne','filter','Disposition','removeDispositions','addContacts','tags','isArray','join','push','each','CmContact','omit','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','concat','format','cf_%d','getContactsCsv','raw','isEmpty','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','list_%d_%s.csv','Content-type','text/csv','download','addCustomField','sequelize','transaction','addCustomFields','Sequelize','text','TEXT','INTEGER','switch','BOOLEAN','defaultValue','getCustomFields','addAgents','ids','spread','userCmList:remove','emit','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','status'];(function(_0x303cb5,_0x16c661){var _0x3e768d=function(_0x4cadfb){while(--_0x4cadfb){_0x303cb5['push'](_0x303cb5['shift']());}};_0x3e768d(++_0x16c661);}(_0x771a,0x72));var _0xa771=function(_0x334841,_0x2bbc4c){_0x334841=_0x334841-0x0;var _0x5beb4b=_0x771a[_0x334841];return _0x5beb4b;};'use strict';var pdf=require(_0xa771('0x0'));var emlformat=require(_0xa771('0x1'));var rimraf=require(_0xa771('0x2'));var zipdir=require(_0xa771('0x3'));var jsonpatch=require(_0xa771('0x4'));var rp=require('request-promise');var moment=require(_0xa771('0x5'));var BPromise=require(_0xa771('0x6'));var Mustache=require('mustache');var util=require(_0xa771('0x7'));var path=require(_0xa771('0x8'));var sox=require(_0xa771('0x9'));var csv=require(_0xa771('0xa'));var ejs=require(_0xa771('0xb'));var fs=require('fs');var _=require(_0xa771('0xc'));var squel=require('squel');var crypto=require(_0xa771('0xd'));var jsforce=require(_0xa771('0xe'));var deskjs=require(_0xa771('0xf'));var toCsv=require(_0xa771('0xa'));var querystring=require(_0xa771('0x10'));var Papa=require(_0xa771('0x11'));var Redis=require(_0xa771('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xa771('0x13'));var as=require(_0xa771('0x14'));var hardwareService=require(_0xa771('0x15'));var logger=require('../../config/logger')(_0xa771('0x16'));var utils=require('../../config/utils');var config=require(_0xa771('0x17'));var licenseUtil=require(_0xa771('0x18'));var db=require(_0xa771('0x19'))['db'];config[_0xa771('0x1a')]=_[_0xa771('0x1b')](config[_0xa771('0x1a')],{'host':_0xa771('0x1c'),'port':0x18eb});var socket=require(_0xa771('0x1d'))(new Redis(config[_0xa771('0x1a')]));require(_0xa771('0x1e'))[_0xa771('0x1f')](socket);function respondWithStatusCode(_0x3cd614,_0x2f50b2){_0x2f50b2=_0x2f50b2||0xcc;return function(_0x7847f4){if(_0x7847f4){return _0x3cd614[_0xa771('0x20')](_0x2f50b2);}return _0x3cd614[_0xa771('0x21')](_0x2f50b2)[_0xa771('0x22')]();};}function respondWithResult(_0x481b97,_0x20d015){_0x20d015=_0x20d015||0xc8;return function(_0xbecdb2){if(_0xbecdb2){return _0x481b97[_0xa771('0x21')](_0x20d015)[_0xa771('0x23')](_0xbecdb2);}};}function respondWithFilteredResult(_0x1b99f8,_0x2e0a40){return function(_0x332821){if(_0x332821){var _0xe21798=_0x332821[_0xa771('0x24')],_0x567f48=_0x2e0a40[_0xa771('0x25')],_0x2bbcd4=_0x2e0a40[_0xa771('0x25')]+_0x2e0a40[_0xa771('0x26')],_0x3e7793;if(_0x2bbcd4>=_0xe21798){_0x2bbcd4=_0xe21798;_0x3e7793=0xc8;}else{_0x3e7793=0xce;}_0x1b99f8[_0xa771('0x21')](_0x3e7793);return _0x1b99f8[_0xa771('0x27')]('Content-Range',_0x567f48+'-'+_0x2bbcd4+'/'+_0xe21798)[_0xa771('0x23')](_0x332821);}return null;};}function patchUpdates(_0x3d1dc2){return function(_0xc0ba57){try{jsonpatch[_0xa771('0x28')](_0xc0ba57,_0x3d1dc2,!![]);}catch(_0x21b52a){return BPromise[_0xa771('0x29')](_0x21b52a);}return _0xc0ba57[_0xa771('0x2a')]();};}function saveUpdates(_0x378f07,_0x2a5f26){return function(_0x742b1d){if(_0x742b1d){return _0x742b1d[_0xa771('0x2b')](_0x378f07)[_0xa771('0x2c')](function(_0x3ad3c3){return _0x3ad3c3;});}return null;};}function removeEntity(_0x55e9d6,_0x147633){return function(_0x376158){if(_0x376158){return _0x376158[_0xa771('0x2d')]()[_0xa771('0x2c')](function(){var _0x5e87e4=_0x376158[_0xa771('0x2e')]({'plain':!![]});var _0x5c5dae='Lists';return db['UserProfileResource'][_0xa771('0x2d')]({'where':{'type':_0x5c5dae,'resourceId':_0x5e87e4['id']}})['then'](function(){return _0x376158;});})[_0xa771('0x2c')](function(){_0x55e9d6[_0xa771('0x21')](0xcc)[_0xa771('0x22')]();});}};}function handleEntityNotFound(_0x299ef3,_0x332e01){return function(_0x4d7948){if(!_0x4d7948){_0x299ef3[_0xa771('0x20')](0x194);}return _0x4d7948;};}function handleError(_0x29e357,_0x1274c8){_0x1274c8=_0x1274c8||0x1f4;return function(_0x34ebab){logger[_0xa771('0x2f')](_0x34ebab[_0xa771('0x30')]);if(_0x34ebab[_0xa771('0x31')]){delete _0x34ebab[_0xa771('0x31')];}_0x29e357['status'](_0x1274c8)['send'](_0x34ebab);};}exports[_0xa771('0x32')]=function(_0x53d002,_0x23e40d){var _0x5b5851={},_0x2abd49={},_0x165421={'count':0x0,'rows':[]};var _0x4c44c6=_['map'](db[_0xa771('0x33')]['rawAttributes'],function(_0x19fee6){return{'name':_0x19fee6[_0xa771('0x34')],'type':_0x19fee6['type'][_0xa771('0x35')]};});_0x2abd49[_0xa771('0x36')]=_['map'](_0x4c44c6,_0xa771('0x31'));_0x2abd49[_0xa771('0x37')]=_[_0xa771('0x38')](_0x53d002['query']);_0x2abd49[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x2abd49[_0xa771('0x36')],_0x2abd49['query']);_0x5b5851[_0xa771('0x3b')]=_['intersection'](_0x2abd49[_0xa771('0x36')],qs[_0xa771('0x3c')](_0x53d002[_0xa771('0x37')][_0xa771('0x3c')]));_0x5b5851[_0xa771('0x3b')]=_0x5b5851[_0xa771('0x3b')][_0xa771('0x3d')]?_0x5b5851[_0xa771('0x3b')]:_0x2abd49[_0xa771('0x36')];if(!_0x53d002['query'][_0xa771('0x3e')](_0xa771('0x3f'))){_0x5b5851[_0xa771('0x26')]=qs[_0xa771('0x26')](_0x53d002[_0xa771('0x37')]['limit']);_0x5b5851[_0xa771('0x25')]=qs[_0xa771('0x25')](_0x53d002['query'][_0xa771('0x25')]);}_0x5b5851[_0xa771('0x40')]=qs['sort'](_0x53d002['query'][_0xa771('0x41')]);_0x5b5851[_0xa771('0x42')]=qs[_0xa771('0x39')](_[_0xa771('0x43')](_0x53d002[_0xa771('0x37')],_0x2abd49[_0xa771('0x39')]),_0x4c44c6);if(_0x53d002[_0xa771('0x37')]['filter']){_0x5b5851[_0xa771('0x42')]=_[_0xa771('0x44')](_0x5b5851[_0xa771('0x42')],{'$or':_[_0xa771('0x45')](_0x4c44c6,function(_0xd5bfa7){if(_0xd5bfa7[_0xa771('0x46')]!==_0xa771('0x47')){var _0x463033={};_0x463033[_0xd5bfa7[_0xa771('0x31')]]={'$like':'%'+_0x53d002[_0xa771('0x37')]['filter']+'%'};return _0x463033;}})});}_0x5b5851=_[_0xa771('0x44')]({},_0x5b5851,_0x53d002[_0xa771('0x48')]);var _0x38b315={'where':_0x5b5851[_0xa771('0x42')]};return db[_0xa771('0x33')][_0xa771('0x24')](_0x38b315)['then'](function(_0x448f3d){_0x165421[_0xa771('0x24')]=_0x448f3d;if(_0x53d002[_0xa771('0x37')][_0xa771('0x49')]){_0x5b5851[_0xa771('0x4a')]=[{'all':!![]}];}return db[_0xa771('0x33')][_0xa771('0x4b')](_0x5b5851);})[_0xa771('0x2c')](function(_0x430dc0){_0x165421[_0xa771('0x4c')]=_0x430dc0;return _0x165421;})[_0xa771('0x2c')](respondWithFilteredResult(_0x23e40d,_0x5b5851))[_0xa771('0x4d')](handleError(_0x23e40d,null));};exports[_0xa771('0x4e')]=function(_0x31b619,_0x3fabc4){var _0x147722={'raw':![],'where':{'id':_0x31b619['params']['id']}},_0x5151d7={};_0x5151d7[_0xa771('0x36')]=_['keys'](db[_0xa771('0x33')][_0xa771('0x4f')]);_0x5151d7[_0xa771('0x37')]=_['keys'](_0x31b619['query']);_0x5151d7[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x5151d7['model'],_0x5151d7[_0xa771('0x37')]);_0x147722[_0xa771('0x3b')]=_['intersection'](_0x5151d7['model'],qs[_0xa771('0x3c')](_0x31b619[_0xa771('0x37')][_0xa771('0x3c')]));_0x147722['attributes']=_0x147722['attributes']['length']?_0x147722[_0xa771('0x3b')]:_0x5151d7[_0xa771('0x36')];if(_0x31b619[_0xa771('0x37')][_0xa771('0x49')]){_0x147722['include']=[{'all':!![]}];}_0x147722=_[_0xa771('0x44')]({},_0x147722,_0x31b619[_0xa771('0x48')]);return db[_0xa771('0x33')][_0xa771('0x50')](_0x147722)['then'](handleEntityNotFound(_0x3fabc4,null))[_0xa771('0x2c')](respondWithResult(_0x3fabc4,null))['catch'](handleError(_0x3fabc4,null));};exports[_0xa771('0x51')]=function(_0x5d3d19,_0x4624c1){return db['CmList'][_0xa771('0x51')](_0x5d3d19[_0xa771('0x52')],{})['then'](function(_0x5257f8){var _0x116807=_0x5d3d19['user'][_0xa771('0x2e')]({'plain':!![]});if(!_0x116807)throw new Error(_0xa771('0x53'));if(_0x116807[_0xa771('0x54')]===_0xa771('0x55')){var _0x4978a6=_0x5257f8[_0xa771('0x2e')]({'plain':!![]});var _0x2821ba=_0xa771('0x56');return db[_0xa771('0x57')]['find']({'where':{'name':_0x2821ba,'userProfileId':_0x116807[_0xa771('0x58')]},'raw':!![]})[_0xa771('0x2c')](function(_0x13c909){if(_0x13c909&&_0x13c909[_0xa771('0x59')]===0x0){return db[_0xa771('0x5a')][_0xa771('0x51')]({'name':_0x4978a6[_0xa771('0x31')],'resourceId':_0x4978a6['id'],'type':_0x13c909[_0xa771('0x31')],'sectionId':_0x13c909['id']},{})[_0xa771('0x2c')](function(){return _0x5257f8;});}else{return _0x5257f8;}})[_0xa771('0x4d')](function(_0x105a56){logger[_0xa771('0x2f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x105a56);throw _0x105a56;});}return _0x5257f8;})[_0xa771('0x2c')](respondWithResult(_0x4624c1,0xc9))[_0xa771('0x4d')](handleError(_0x4624c1,null));};exports[_0xa771('0x2b')]=function(_0x4d82ba,_0x1ca205){if(_0x4d82ba['body']['id']){delete _0x4d82ba['body']['id'];}return db['CmList'][_0xa771('0x50')]({'where':{'id':_0x4d82ba['params']['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x1ca205,null))['then'](saveUpdates(_0x4d82ba['body'],null))['then'](respondWithResult(_0x1ca205,null))['catch'](handleError(_0x1ca205,null));};exports[_0xa771('0x2d')]=function(_0x3474c7,_0x1a0409){return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x3474c7[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x1a0409,null))['then'](removeEntity(_0x1a0409,null))[_0xa771('0x4d')](handleError(_0x1a0409,null));};exports[_0xa771('0x5c')]=function(_0x24e8c1,_0xee3db6){return db['CmList'][_0xa771('0x5c')]()[_0xa771('0x2c')](respondWithResult(_0xee3db6,null))[_0xa771('0x4d')](handleError(_0xee3db6,null));};exports[_0xa771('0x5d')]=function(_0x58b4a0,_0x3e648d,_0x451299){if(_0x58b4a0['body']['id']){delete _0x58b4a0['body']['id'];}return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x58b4a0[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x3e648d,null))[_0xa771('0x2c')](function(_0x2821bd){if(_0x2821bd){_0x58b4a0[_0xa771('0x52')][_0xa771('0x5e')]=_0x2821bd['id'];return db['Disposition']['create'](_0x58b4a0[_0xa771('0x52')]);}})[_0xa771('0x2c')](respondWithResult(_0x3e648d,null))['catch'](handleError(_0x3e648d,null));};exports[_0xa771('0x5f')]=function(_0x32e614,_0x1bc035,_0x4be087){var _0x3bb742={'raw':![],'where':{}};var _0x4d8cab={};var _0x37b91c={'count':0x0,'rows':[]};return db[_0xa771('0x33')][_0xa771('0x60')]({'where':{'id':_0x32e614['params']['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x1bc035,null))[_0xa771('0x2c')](function(_0x2527db){if(_0x2527db){_0x4d8cab[_0xa771('0x36')]=_['keys'](db['Disposition']['rawAttributes']);_0x4d8cab[_0xa771('0x37')]=_[_0xa771('0x38')](_0x32e614[_0xa771('0x37')]);_0x4d8cab[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x4d8cab['model'],_0x4d8cab[_0xa771('0x37')]);_0x3bb742[_0xa771('0x3b')]=_[_0xa771('0x3a')](_0x4d8cab[_0xa771('0x36')],qs[_0xa771('0x3c')](_0x32e614[_0xa771('0x37')][_0xa771('0x3c')]));_0x3bb742[_0xa771('0x3b')]=_0x3bb742[_0xa771('0x3b')]['length']?_0x3bb742[_0xa771('0x3b')]:_0x4d8cab['model'];if(!_0x32e614[_0xa771('0x37')]['hasOwnProperty'](_0xa771('0x3f'))){_0x3bb742[_0xa771('0x26')]=qs['limit'](_0x32e614['query'][_0xa771('0x26')]);_0x3bb742[_0xa771('0x25')]=qs[_0xa771('0x25')](_0x32e614['query'][_0xa771('0x25')]);}_0x3bb742['order']=qs[_0xa771('0x41')](_0x32e614['query']['sort']);_0x3bb742[_0xa771('0x42')]=qs[_0xa771('0x39')](_[_0xa771('0x43')](_0x32e614['query'],_0x4d8cab[_0xa771('0x39')]));_0x3bb742['where']['ListId']=_0x2527db['id'];if(_0x32e614['query'][_0xa771('0x61')]){_0x3bb742[_0xa771('0x42')]=_['merge'](_0x3bb742[_0xa771('0x42')],{'$or':_['map'](_0x3bb742[_0xa771('0x3b')],function(_0x12c7f0){var _0xe39400={};_0xe39400[_0x12c7f0]={'$like':'%'+_0x32e614[_0xa771('0x37')][_0xa771('0x61')]+'%'};return _0xe39400;})});}_0x3bb742=_[_0xa771('0x44')]({},_0x3bb742,_0x32e614['options']);return db[_0xa771('0x62')]['count']({'where':_0x3bb742['where']})[_0xa771('0x2c')](function(_0x3fd390){_0x37b91c['count']=_0x3fd390;if(_0x32e614[_0xa771('0x37')][_0xa771('0x49')]){_0x3bb742[_0xa771('0x4a')]=[{'all':!![]}];}return db[_0xa771('0x62')]['findAll'](_0x3bb742);})['then'](function(_0x1d1a79){_0x37b91c[_0xa771('0x4c')]=_0x1d1a79;return _0x37b91c;});}})[_0xa771('0x2c')](respondWithFilteredResult(_0x1bc035,_0x3bb742))['catch'](handleError(_0x1bc035,null));};exports[_0xa771('0x63')]=function(_0x192640,_0x30da05,_0x242c40){return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x192640[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x30da05,null))['then'](function(_0x4a7a73){if(_0x4a7a73){return _0x4a7a73[_0xa771('0x63')](_0x192640[_0xa771('0x37')]['ids']);}})[_0xa771('0x2c')](respondWithStatusCode(_0x30da05,null))[_0xa771('0x4d')](handleError(_0x30da05,null));};exports[_0xa771('0x64')]=function(_0x32980b,_0x568a3b,_0x56e454){return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x32980b[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x568a3b,null))[_0xa771('0x2c')](function(_0x564c4a){if(_0x564c4a){var _0xb7b37a=[];var _0x14c8fe={'success':[],'errors':[]};return db['CmContact'][_0xa771('0x5c')]()[_0xa771('0x2c')](function(_0x1c318a){if(_0x32980b[_0xa771('0x52')][_0xa771('0x65')]&&_[_0xa771('0x66')](_0x32980b['body']['tags'])){if(_0x32980b['body'][_0xa771('0x65')]['length']){_0x32980b[_0xa771('0x52')]['tags']=_0x32980b[_0xa771('0x52')]['tags'][_0xa771('0x67')](';')+';';}else{_0x32980b['body'][_0xa771('0x65')]=null;}}else{_0x32980b[_0xa771('0x52')]['tags']=null;}if(_0x32980b['body']&&_[_0xa771('0x66')](_0x32980b[_0xa771('0x52')])){for(var _0xaef1d4=0x0;_0xaef1d4<_0x32980b[_0xa771('0x52')][_0xa771('0x3d')];_0xaef1d4+=0x1){_0x32980b[_0xa771('0x52')][_0xaef1d4]['ListId']=_0x32980b[_0xa771('0x5b')]['id'];_0xb7b37a[_0xa771('0x68')](_0x32980b[_0xa771('0x52')][_0xaef1d4]);}return BPromise[_0xa771('0x69')](_0xb7b37a,function(_0x5911a7){return db[_0xa771('0x6a')]['create'](_[_0xa771('0x6b')](_0x5911a7,['ids','id'])||{},{'fields':_['keys'](_0x1c318a),'raw':!![]})[_0xa771('0x2c')](function(_0x47bb30){_0x14c8fe['success'][_0xa771('0x68')](_0x47bb30[_0xa771('0x6c')]);})[_0xa771('0x4d')](function(_0x127143){_0x14c8fe[_0xa771('0x6d')][_0xa771('0x68')]({'data':_0x5911a7,'error':_0x127143[_0xa771('0x6e')]});});})['then'](function(_0x5aa36f){return _0x14c8fe;})[_0xa771('0x4d')](function(_0x2222ae){return _0x2222ae;});}else{_0x568a3b[_0xa771('0x21')](0x190)[_0xa771('0x23')]({'message':_0xa771('0x6f')});}});}})[_0xa771('0x2c')](respondWithResult(_0x568a3b,null))[_0xa771('0x4d')](handleError(_0x568a3b,null));};exports[_0xa771('0x70')]=function(_0x1fc892,_0x42ff50,_0x28b660){var _0x480764;return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x1fc892[_0xa771('0x5b')]['id']},'include':[{'model':db[_0xa771('0x71')],'as':_0xa771('0x72')}]})[_0xa771('0x2c')](handleEntityNotFound(_0x42ff50,null))[_0xa771('0x2c')](function(_0xc61ef1){if(_0xc61ef1){_0x480764=_0xc61ef1;return db[_0xa771('0x6a')][_0xa771('0x4f')];}})['then'](function(_0x25c8e8){if(_0x25c8e8){var _0x420df2={};var _0x1d2bda={};_0x1d2bda[_0xa771('0x36')]=_[_0xa771('0x73')](_[_0xa771('0x38')](_0x25c8e8),_[_0xa771('0x45')](_0x480764[_0xa771('0x72')],function(_0x1c900e){return util[_0xa771('0x74')](_0xa771('0x75'),_0x1c900e['id']);}));_0x1d2bda[_0xa771('0x37')]=_['keys'](_0x1fc892[_0xa771('0x37')]);_0x1d2bda[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x1d2bda[_0xa771('0x36')],_0x1d2bda[_0xa771('0x37')]);_0x420df2[_0xa771('0x3b')]=_[_0xa771('0x3a')](_0x1d2bda[_0xa771('0x36')],qs['fields'](_0x1fc892['query'][_0xa771('0x3c')]));_0x420df2[_0xa771('0x3b')]=_0x420df2[_0xa771('0x3b')][_0xa771('0x3d')]?_0x420df2[_0xa771('0x3b')]:_0x1d2bda['model'];if(!_0x1fc892[_0xa771('0x37')]['hasOwnProperty'](_0xa771('0x3f'))){_0x420df2[_0xa771('0x26')]=qs['limit'](_0x1fc892[_0xa771('0x37')]['limit']);_0x420df2[_0xa771('0x25')]=qs['offset'](_0x1fc892[_0xa771('0x37')]['offset']);}_0x420df2['order']=qs[_0xa771('0x41')](_0x1fc892[_0xa771('0x37')]['sort']);_0x420df2['where']=qs[_0xa771('0x39')](_[_0xa771('0x43')](_0x1fc892[_0xa771('0x37')],_0x1d2bda[_0xa771('0x39')]));_0x420df2['raw']=!![];if(_0x1fc892[_0xa771('0x37')][_0xa771('0x61')]){_0x420df2[_0xa771('0x42')]=_[_0xa771('0x44')](_0x420df2[_0xa771('0x42')],{'$or':_[_0xa771('0x45')](_0x420df2[_0xa771('0x3b')],function(_0x38e27b){var _0x285b56={};_0x285b56[_0x38e27b]={'$like':'%'+_0x1fc892[_0xa771('0x37')][_0xa771('0x61')]+'%'};return _0x285b56;})});}_0x420df2=_[_0xa771('0x44')]({},_0x420df2,_0x1fc892[_0xa771('0x48')]);return _0x480764[_0xa771('0x70')](_0x420df2);}})[_0xa771('0x2c')](respondWithResult(_0x42ff50,null))[_0xa771('0x4d')](handleError(_0x42ff50,null));};exports[_0xa771('0x76')]=function(_0x247fcc,_0x4f2301,_0x249162){var _0x3162ca;return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x247fcc[_0xa771('0x5b')]['id']},'include':[{'model':db[_0xa771('0x71')],'as':'CustomFields'}]})[_0xa771('0x2c')](handleEntityNotFound(_0x4f2301,null))[_0xa771('0x2c')](function(_0x1b3f96){if(_0x1b3f96){_0x3162ca=_0x1b3f96;return db['CmContact'][_0xa771('0x4f')];}})['then'](function(_0x22663e){if(_0x22663e){var _0x233bf7={};var _0x49dc={};_0x49dc[_0xa771('0x36')]=_[_0xa771('0x73')](_['keys'](_0x22663e),_[_0xa771('0x45')](_0x3162ca[_0xa771('0x72')],function(_0x2c39cd){return util['format'](_0xa771('0x75'),_0x2c39cd['id']);}));_0x49dc[_0xa771('0x37')]=_[_0xa771('0x38')](_0x247fcc[_0xa771('0x37')]);_0x49dc[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x49dc[_0xa771('0x36')],_0x49dc['query']);_0x233bf7['attributes']=_[_0xa771('0x3a')](_0x49dc[_0xa771('0x36')],qs[_0xa771('0x3c')](_0x247fcc[_0xa771('0x37')][_0xa771('0x3c')]));_0x233bf7[_0xa771('0x3b')]=_0x233bf7[_0xa771('0x3b')][_0xa771('0x3d')]?_0x233bf7[_0xa771('0x3b')]:_0x49dc[_0xa771('0x36')];if(!_0x247fcc[_0xa771('0x37')]['hasOwnProperty'](_0xa771('0x3f'))){_0x233bf7[_0xa771('0x26')]=qs[_0xa771('0x26')](_0x247fcc[_0xa771('0x37')][_0xa771('0x26')]);_0x233bf7[_0xa771('0x25')]=qs[_0xa771('0x25')](_0x247fcc['query']['offset']);}_0x233bf7['order']=qs['sort'](_0x247fcc['query'][_0xa771('0x41')]);_0x233bf7['where']=qs[_0xa771('0x39')](_['pick'](_0x247fcc['query'],_0x49dc['filters']));_0x233bf7[_0xa771('0x77')]=!![];if(_0x247fcc[_0xa771('0x37')][_0xa771('0x61')]){_0x233bf7[_0xa771('0x42')]=_[_0xa771('0x44')](_0x233bf7['where'],{'$or':_[_0xa771('0x45')](_0x233bf7[_0xa771('0x3b')],function(_0x3e8ee2){var _0x2bc219={};_0x2bc219[_0x3e8ee2]={'$like':'%'+_0x247fcc[_0xa771('0x37')]['filter']+'%'};return _0x2bc219;})});}_0x233bf7=_[_0xa771('0x44')]({},_0x233bf7,_0x247fcc['options']);return _0x3162ca[_0xa771('0x70')](_0x233bf7);}})['then'](function(_0x561063){if(!_[_0xa771('0x78')](_0x561063)){var _0x2a9ecb=toCsv(_0x561063);var _0x4bc9dd=Date['now']();fs[_0xa771('0x79')](util[_0xa771('0x74')](_0xa771('0x7a'),_0x3162ca['id'],_0x4bc9dd),_0x2a9ecb);_0x4f2301[_0xa771('0x7b')](_0xa771('0x7c'),'attachment;\x20filename='+util['format'](_0xa771('0x7d'),_0x3162ca['id'],_0x4bc9dd));_0x4f2301['setHeader'](_0xa771('0x7e'),_0xa771('0x7f'));return _0x4f2301[_0xa771('0x80')](util[_0xa771('0x74')](_0xa771('0x7a'),_0x3162ca['id'],_0x4bc9dd));}else{return _0x4f2301[_0xa771('0x20')](0xcc);}})[_0xa771('0x4d')](handleError(_0x4f2301,null));};exports[_0xa771('0x81')]=function(_0x2db627,_0x55dd8c,_0x2753e1){var _0x5770aa;delete _0x2db627[_0xa771('0x52')]['id'];return db['CmList'][_0xa771('0x60')]({'where':{'id':_0x2db627[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x55dd8c,null))['then'](function(_0x20ef2c){if(_0x20ef2c){return db[_0xa771('0x82')][_0xa771('0x83')](function(_0x446881){return db[_0xa771('0x71')][_0xa771('0x51')](_0x2db627['body'],{'transaction':_0x446881})[_0xa771('0x2c')](function(_0x5c89b0){_0x5770aa=_0x5c89b0;return _0x20ef2c[_0xa771('0x84')](_0x5c89b0,{'transaction':_0x446881});})[_0xa771('0x2c')](function(){var _0x267870={'type':db[_0xa771('0x85')]['TEXT'],'transaction':_0x446881};switch(_0x2db627['body']['type']){case _0xa771('0x86'):_0x267870['type']=db['Sequelize'][_0xa771('0x87')];break;case'number':_0x267870[_0xa771('0x46')]=db['Sequelize'][_0xa771('0x88')];break;case _0xa771('0x89'):_0x267870[_0xa771('0x46')]=db['Sequelize'][_0xa771('0x8a')];_0x267870[_0xa771('0x8b')]=![];break;default:}return db[_0xa771('0x82')]['queryInterface']['addColumn']('cm_contacts',util['format']('cf_%s',_0x5770aa['id']),_0x267870);})['then'](function(){return _0x5770aa;});});}})[_0xa771('0x2c')](respondWithResult(_0x55dd8c,null))[_0xa771('0x4d')](handleError(_0x55dd8c,null));};exports[_0xa771('0x8c')]=function(_0x564366,_0x278255,_0x276fb5){var _0x471734={};var _0x351505={};var _0x5d8e2e;var _0x35524a;return db[_0xa771('0x33')][_0xa771('0x60')]({'where':{'id':_0x564366['params']['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x278255,null))[_0xa771('0x2c')](function(_0x2f2684){if(_0x2f2684){_0x5d8e2e=_0x2f2684;_0x351505[_0xa771('0x36')]=_['keys'](db[_0xa771('0x71')][_0xa771('0x4f')]);_0x351505[_0xa771('0x37')]=_['keys'](_0x564366['query']);_0x351505[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x351505[_0xa771('0x36')],_0x351505[_0xa771('0x37')]);_0x471734[_0xa771('0x3b')]=_[_0xa771('0x3a')](_0x351505['model'],qs[_0xa771('0x3c')](_0x564366['query'][_0xa771('0x3c')]));_0x471734['attributes']=_0x471734[_0xa771('0x3b')][_0xa771('0x3d')]?_0x471734[_0xa771('0x3b')]:_0x351505[_0xa771('0x36')];_0x471734['order']=qs[_0xa771('0x41')](_0x564366[_0xa771('0x37')][_0xa771('0x41')]);_0x471734[_0xa771('0x42')]=qs[_0xa771('0x39')](_[_0xa771('0x43')](_0x564366['query'],_0x351505['filters']));_0x471734[_0xa771('0x42')]=_[_0xa771('0x44')](_0x471734[_0xa771('0x42')],{'$or':[{'ListId':_0x2f2684['id']},{'ListId':null}]});if(_0x564366[_0xa771('0x37')][_0xa771('0x61')]){_0x471734[_0xa771('0x42')]=_[_0xa771('0x44')](_0x471734[_0xa771('0x42')],{'$or':_[_0xa771('0x45')](_0x471734['attributes'],function(_0x2e5b3e){var _0x5f9b9a={};_0x5f9b9a[_0x2e5b3e]={'$like':'%'+_0x564366['query'][_0xa771('0x61')]+'%'};return _0x5f9b9a;})});}_0x471734=_[_0xa771('0x44')]({},_0x471734,_0x564366[_0xa771('0x48')]);return db[_0xa771('0x71')]['findAndCountAll'](_0x471734);}})[_0xa771('0x2c')](respondWithResult(_0x278255,null))[_0xa771('0x4d')](handleError(_0x278255,null));};exports[_0xa771('0x8d')]=function(_0x5956ce,_0x5e1aa5,_0x24c090){return db[_0xa771('0x33')][_0xa771('0x50')]({'where':{'id':_0x5956ce[_0xa771('0x5b')]['id']}})['then'](handleEntityNotFound(_0x5e1aa5,null))[_0xa771('0x2c')](function(_0x58193c){if(_0x58193c){return _0x58193c[_0xa771('0x8d')](_0x5956ce[_0xa771('0x52')][_0xa771('0x8e')],_[_0xa771('0x6b')](_0x5956ce[_0xa771('0x52')],[_0xa771('0x8e'),'id'])||{})[_0xa771('0x8f')](function(_0xbad839){for(var _0x3e74a7=0x0;_0x3e74a7<_0x5956ce[_0xa771('0x52')][_0xa771('0x8e')][_0xa771('0x3d')];_0x3e74a7+=0x1){socket['emit']('userCmList:save',{'UserId':_0x5956ce[_0xa771('0x52')][_0xa771('0x8e')][_0x3e74a7],'CmListId':_0x5956ce[_0xa771('0x5b')]['id']});}return _0xbad839;});}})[_0xa771('0x2c')](respondWithResult(_0x5e1aa5,null))[_0xa771('0x4d')](handleError(_0x5e1aa5,null));};exports['removeAgents']=function(_0x54cdc9,_0x50d6d0,_0x4a5ad1){return db['CmList'][_0xa771('0x50')]({'where':{'id':_0x54cdc9[_0xa771('0x5b')]['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x50d6d0,null))['then'](function(_0x4d771d){if(_0x4d771d){return _0x4d771d['removeAgents'](_0x54cdc9[_0xa771('0x37')][_0xa771('0x8e')])['then'](function(){if(_['isArray'](_0x54cdc9[_0xa771('0x37')][_0xa771('0x8e')])){for(var _0x21ba05=0x0;_0x21ba05<_0x54cdc9[_0xa771('0x37')][_0xa771('0x8e')][_0xa771('0x3d')];_0x21ba05+=0x1){socket['emit'](_0xa771('0x90'),{'UserId':Number(_0x54cdc9[_0xa771('0x37')][_0xa771('0x8e')][_0x21ba05]),'CmListId':Number(_0x54cdc9[_0xa771('0x5b')]['id'])});}}else{socket[_0xa771('0x91')](_0xa771('0x90'),{'UserId':Number(_0x54cdc9['query']['ids']),'CmListId':Number(_0x54cdc9[_0xa771('0x5b')]['id'])});}});}})[_0xa771('0x2c')](respondWithStatusCode(_0x50d6d0,null))[_0xa771('0x4d')](handleError(_0x50d6d0,null));};exports[_0xa771('0x92')]=function(_0x1ab5d0,_0x4241db,_0xb0414a){var _0x59076b={};var _0x29d6f4={};var _0x5b3037;var _0x488f88;return db[_0xa771('0x33')]['findOne']({'where':{'id':_0x1ab5d0['params']['id']}})[_0xa771('0x2c')](handleEntityNotFound(_0x4241db,null))[_0xa771('0x2c')](function(_0x5a7379){if(_0x5a7379){_0x5b3037=_0x5a7379;_0x29d6f4[_0xa771('0x36')]=_[_0xa771('0x38')](db[_0xa771('0x93')][_0xa771('0x4f')]);_0x29d6f4[_0xa771('0x37')]=_['keys'](_0x1ab5d0[_0xa771('0x37')]);_0x29d6f4[_0xa771('0x39')]=_[_0xa771('0x3a')](_0x29d6f4['model'],_0x29d6f4[_0xa771('0x37')]);_0x59076b[_0xa771('0x3b')]=_[_0xa771('0x3a')](_0x29d6f4[_0xa771('0x36')],qs[_0xa771('0x3c')](_0x1ab5d0['query'][_0xa771('0x3c')]));_0x59076b['attributes']=_0x59076b[_0xa771('0x3b')][_0xa771('0x3d')]?_0x59076b[_0xa771('0x3b')]:_0x29d6f4[_0xa771('0x36')];_0x59076b[_0xa771('0x40')]=qs[_0xa771('0x41')](_0x1ab5d0[_0xa771('0x37')][_0xa771('0x41')]);_0x59076b[_0xa771('0x42')]=qs[_0xa771('0x39')](_[_0xa771('0x43')](_0x1ab5d0['query'],_0x29d6f4[_0xa771('0x39')]));if(_0x1ab5d0[_0xa771('0x37')][_0xa771('0x61')]){_0x59076b['where']=_[_0xa771('0x44')](_0x59076b[_0xa771('0x42')],{'$or':_[_0xa771('0x45')](_0x59076b[_0xa771('0x3b')],function(_0xf0cbe5){var _0x5eb009={};_0x5eb009[_0xf0cbe5]={'$like':'%'+_0x1ab5d0[_0xa771('0x37')][_0xa771('0x61')]+'%'};return _0x5eb009;})});}_0x59076b=_[_0xa771('0x44')]({},_0x59076b,_0x1ab5d0['options']);return _0x5b3037[_0xa771('0x92')](_0x59076b);}})[_0xa771('0x2c')](function(_0x3a9135){if(_0x3a9135){_0x488f88=_0x3a9135[_0xa771('0x3d')];if(!_0x1ab5d0[_0xa771('0x37')][_0xa771('0x3e')](_0xa771('0x3f'))){_0x59076b[_0xa771('0x26')]=qs[_0xa771('0x26')](_0x1ab5d0[_0xa771('0x37')][_0xa771('0x26')]);_0x59076b[_0xa771('0x25')]=qs[_0xa771('0x25')](_0x1ab5d0[_0xa771('0x37')]['offset']);}return _0x5b3037[_0xa771('0x92')](_0x59076b);}})[_0xa771('0x2c')](function(_0xb97ec8){if(_0xb97ec8){return _0xb97ec8?{'count':_0x488f88,'rows':_0xb97ec8}:null;}})[_0xa771('0x2c')](respondWithResult(_0x4241db,null))[_0xa771('0x4d')](handleError(_0x4241db,null));};