50a03e9b6efcdc16113d2bef994d81bfb1baaa97
[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 _0xe42c=['addCustomFields','Sequelize','TEXT','text','INTEGER','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./cmList.socket','register','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','UserProfileResource','then','end','error','stack','name','send','index','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','map','VIRTUAL','options','CmList','includeAll','findAll','rows','catch','show','params','include','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','Lists','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ListId','getDispositions','findOne','Disposition','order','pick','removeDispositions','ids','addContacts','CmContact','isArray','tags','join','push','omit','success','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','concat','format','cf_%d','raw','getContactsCsv','rawAttributes','writeFileSync','/tmp/list_%d_%s.csv','Content-disposition','list_%d_%s.csv','Content-type','text/csv','download','addCustomField','sequelize','transaction'];(function(_0x1b0f9b,_0x5c3245){var _0x1017e2=function(_0x480a9c){while(--_0x480a9c){_0x1b0f9b['push'](_0x1b0f9b['shift']());}};_0x1017e2(++_0x5c3245);}(_0xe42c,0x149));var _0xce42=function(_0x2a8e13,_0x5260b7){_0x2a8e13=_0x2a8e13-0x0;var _0x1c8efc=_0xe42c[_0x2a8e13];return _0x1c8efc;};'use strict';var emlformat=require(_0xce42('0x0'));var rimraf=require(_0xce42('0x1'));var zipdir=require(_0xce42('0x2'));var jsonpatch=require(_0xce42('0x3'));var rp=require(_0xce42('0x4'));var moment=require(_0xce42('0x5'));var BPromise=require(_0xce42('0x6'));var Mustache=require(_0xce42('0x7'));var util=require(_0xce42('0x8'));var path=require('path');var sox=require(_0xce42('0x9'));var csv=require(_0xce42('0xa'));var ejs=require(_0xce42('0xb'));var fs=require('fs');var fs_extra=require(_0xce42('0xc'));var _=require(_0xce42('0xd'));var squel=require(_0xce42('0xe'));var crypto=require(_0xce42('0xf'));var jsforce=require(_0xce42('0x10'));var deskjs=require(_0xce42('0x11'));var toCsv=require(_0xce42('0xa'));var querystring=require(_0xce42('0x12'));var Papa=require(_0xce42('0x13'));var Redis=require(_0xce42('0x14'));var authService=require(_0xce42('0x15'));var qs=require(_0xce42('0x16'));var as=require(_0xce42('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xce42('0x18'))('api');var utils=require(_0xce42('0x19'));var config=require('../../config/environment');var licenseUtil=require(_0xce42('0x1a'));var db=require(_0xce42('0x1b'))['db'];config['redis']=_[_0xce42('0x1c')](config[_0xce42('0x1d')],{'host':'localhost','port':0x18eb});var socket=require(_0xce42('0x1e'))(new Redis(config[_0xce42('0x1d')]));require(_0xce42('0x1f'))[_0xce42('0x20')](socket);function respondWithStatusCode(_0xc34917,_0x5177ef){_0x5177ef=_0x5177ef||0xcc;return function(_0x30bd76){if(_0x30bd76){return _0xc34917[_0xce42('0x21')](_0x5177ef);}return _0xc34917['status'](_0x5177ef)['end']();};}function respondWithResult(_0x4a6ca8,_0x280d8a){_0x280d8a=_0x280d8a||0xc8;return function(_0x5cb82b){if(_0x5cb82b){return _0x4a6ca8[_0xce42('0x22')](_0x280d8a)[_0xce42('0x23')](_0x5cb82b);}};}function respondWithFilteredResult(_0x5314e5,_0x425c14){return function(_0x45eec6){if(_0x45eec6){var _0x51e18b=typeof _0x425c14[_0xce42('0x24')]===_0xce42('0x25')&&typeof _0x425c14[_0xce42('0x26')]===_0xce42('0x25');var _0x2f742c=_0x45eec6[_0xce42('0x27')];var _0x1c3815=_0x51e18b?0x0:_0x425c14[_0xce42('0x24')];var _0x33be88=_0x51e18b?_0x45eec6[_0xce42('0x27')]:_0x425c14['offset']+_0x425c14['limit'];var _0x214906;if(_0x33be88>=_0x2f742c){_0x33be88=_0x2f742c;_0x214906=0xc8;}else{_0x214906=0xce;}_0x5314e5[_0xce42('0x22')](_0x214906);return _0x5314e5[_0xce42('0x28')](_0xce42('0x29'),_0x1c3815+'-'+_0x33be88+'/'+_0x2f742c)[_0xce42('0x23')](_0x45eec6);}return null;};}function patchUpdates(_0x24253f){return function(_0x395093){try{jsonpatch[_0xce42('0x2a')](_0x395093,_0x24253f,!![]);}catch(_0x2b4044){return BPromise[_0xce42('0x2b')](_0x2b4044);}return _0x395093[_0xce42('0x2c')]();};}function saveUpdates(_0x522572,_0x1a6be6){return function(_0x329755){if(_0x329755){return _0x329755[_0xce42('0x2d')](_0x522572)['then'](function(_0x4405b9){return _0x4405b9;});}return null;};}function removeEntity(_0x3b8cc3,_0x9784a8){return function(_0x59dc19){if(_0x59dc19){return _0x59dc19[_0xce42('0x2e')]()['then'](function(){var _0x292ce4=_0x59dc19['get']({'plain':!![]});var _0x4bf5b7='Lists';return db[_0xce42('0x2f')][_0xce42('0x2e')]({'where':{'type':_0x4bf5b7,'resourceId':_0x292ce4['id']}})['then'](function(){return _0x59dc19;});})[_0xce42('0x30')](function(){_0x3b8cc3[_0xce42('0x22')](0xcc)[_0xce42('0x31')]();});}};}function handleEntityNotFound(_0x2c9baf,_0x30161c){return function(_0x59f6ea){if(!_0x59f6ea){_0x2c9baf[_0xce42('0x21')](0x194);}return _0x59f6ea;};}function handleError(_0x198a6b,_0xbdb1d2){_0xbdb1d2=_0xbdb1d2||0x1f4;return function(_0x2e3003){logger[_0xce42('0x32')](_0x2e3003[_0xce42('0x33')]);if(_0x2e3003[_0xce42('0x34')]){delete _0x2e3003[_0xce42('0x34')];}_0x198a6b[_0xce42('0x22')](_0xbdb1d2)[_0xce42('0x35')](_0x2e3003);};}exports[_0xce42('0x36')]=function(_0x59239b,_0x41bd9a){var _0x405a3e={},_0x34bce4={},_0x38f673={'count':0x0,'rows':[]};var _0x9e31cb=_['map'](db['CmList']['rawAttributes'],function(_0x209a1d){return{'name':_0x209a1d[_0xce42('0x37')],'type':_0x209a1d[_0xce42('0x38')][_0xce42('0x39')]};});_0x34bce4[_0xce42('0x3a')]=_['map'](_0x9e31cb,_0xce42('0x34'));_0x34bce4['query']=_[_0xce42('0x3b')](_0x59239b[_0xce42('0x3c')]);_0x34bce4[_0xce42('0x3d')]=_[_0xce42('0x3e')](_0x34bce4[_0xce42('0x3a')],_0x34bce4[_0xce42('0x3c')]);_0x405a3e[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0x34bce4['model'],qs[_0xce42('0x40')](_0x59239b[_0xce42('0x3c')]['fields']));_0x405a3e[_0xce42('0x3f')]=_0x405a3e['attributes'][_0xce42('0x41')]?_0x405a3e[_0xce42('0x3f')]:_0x34bce4[_0xce42('0x3a')];if(!_0x59239b[_0xce42('0x3c')][_0xce42('0x42')](_0xce42('0x43'))){_0x405a3e[_0xce42('0x26')]=qs['limit'](_0x59239b[_0xce42('0x3c')]['limit']);_0x405a3e[_0xce42('0x24')]=qs[_0xce42('0x24')](_0x59239b[_0xce42('0x3c')][_0xce42('0x24')]);}_0x405a3e['order']=qs[_0xce42('0x44')](_0x59239b[_0xce42('0x3c')][_0xce42('0x44')]);_0x405a3e[_0xce42('0x45')]=qs[_0xce42('0x3d')](_['pick'](_0x59239b[_0xce42('0x3c')],_0x34bce4[_0xce42('0x3d')]),_0x9e31cb);if(_0x59239b['query'][_0xce42('0x46')]){_0x405a3e[_0xce42('0x45')]=_[_0xce42('0x47')](_0x405a3e[_0xce42('0x45')],{'$or':_[_0xce42('0x48')](_0x9e31cb,function(_0x51c85e){if(_0x51c85e[_0xce42('0x38')]!==_0xce42('0x49')){var _0x4ac894={};_0x4ac894[_0x51c85e['name']]={'$like':'%'+_0x59239b['query'][_0xce42('0x46')]+'%'};return _0x4ac894;}})});}_0x405a3e=_['merge']({},_0x405a3e,_0x59239b[_0xce42('0x4a')]);var _0x16b2d7={'where':_0x405a3e[_0xce42('0x45')]};return db[_0xce42('0x4b')][_0xce42('0x27')](_0x16b2d7)[_0xce42('0x30')](function(_0x5d6ace){_0x38f673[_0xce42('0x27')]=_0x5d6ace;if(_0x59239b['query'][_0xce42('0x4c')]){_0x405a3e['include']=[{'all':!![]}];}return db['CmList'][_0xce42('0x4d')](_0x405a3e);})['then'](function(_0x1e3cb1){_0x38f673[_0xce42('0x4e')]=_0x1e3cb1;return _0x38f673;})[_0xce42('0x30')](respondWithFilteredResult(_0x41bd9a,_0x405a3e))[_0xce42('0x4f')](handleError(_0x41bd9a,null));};exports[_0xce42('0x50')]=function(_0x5da9db,_0x34e99a){var _0xbbb04b={'raw':![],'where':{'id':_0x5da9db[_0xce42('0x51')]['id']}},_0x937d6={};_0x937d6[_0xce42('0x3a')]=_[_0xce42('0x3b')](db[_0xce42('0x4b')]['rawAttributes']);_0x937d6[_0xce42('0x3c')]=_['keys'](_0x5da9db['query']);_0x937d6['filters']=_[_0xce42('0x3e')](_0x937d6[_0xce42('0x3a')],_0x937d6[_0xce42('0x3c')]);_0xbbb04b[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0x937d6[_0xce42('0x3a')],qs[_0xce42('0x40')](_0x5da9db['query'][_0xce42('0x40')]));_0xbbb04b[_0xce42('0x3f')]=_0xbbb04b[_0xce42('0x3f')]['length']?_0xbbb04b[_0xce42('0x3f')]:_0x937d6['model'];if(_0x5da9db[_0xce42('0x3c')]['includeAll']){_0xbbb04b[_0xce42('0x52')]=[{'all':!![]}];}_0xbbb04b=_[_0xce42('0x47')]({},_0xbbb04b,_0x5da9db[_0xce42('0x4a')]);return db[_0xce42('0x4b')]['find'](_0xbbb04b)[_0xce42('0x30')](handleEntityNotFound(_0x34e99a,null))['then'](respondWithResult(_0x34e99a,null))['catch'](handleError(_0x34e99a,null));};exports[_0xce42('0x53')]=function(_0x2f5ebc,_0x4ecc1a){return db[_0xce42('0x4b')][_0xce42('0x53')](_0x2f5ebc[_0xce42('0x54')],{})[_0xce42('0x30')](function(_0x4bb250){var _0x2ddd1c=_0x2f5ebc[_0xce42('0x55')][_0xce42('0x56')]({'plain':!![]});if(!_0x2ddd1c)throw new Error(_0xce42('0x57'));if(_0x2ddd1c['role']==='user'){var _0x202929=_0x4bb250[_0xce42('0x56')]({'plain':!![]});var _0x145f34=_0xce42('0x58');return db['UserProfileSection'][_0xce42('0x59')]({'where':{'name':_0x145f34,'userProfileId':_0x2ddd1c[_0xce42('0x5a')]},'raw':!![]})['then'](function(_0x487435){if(_0x487435&&_0x487435[_0xce42('0x5b')]===0x0){return db['UserProfileResource'][_0xce42('0x53')]({'name':_0x202929[_0xce42('0x34')],'resourceId':_0x202929['id'],'type':_0x487435['name'],'sectionId':_0x487435['id']},{})[_0xce42('0x30')](function(){return _0x4bb250;});}else{return _0x4bb250;}})[_0xce42('0x4f')](function(_0x587ca7){logger['error'](_0xce42('0x5c'),_0x587ca7);throw _0x587ca7;});}return _0x4bb250;})[_0xce42('0x30')](respondWithResult(_0x4ecc1a,0xc9))[_0xce42('0x4f')](handleError(_0x4ecc1a,null));};exports[_0xce42('0x2d')]=function(_0x128ddd,_0x1bcb0d){if(_0x128ddd[_0xce42('0x54')]['id']){delete _0x128ddd['body']['id'];}return db['CmList']['find']({'where':{'id':_0x128ddd[_0xce42('0x51')]['id']}})['then'](handleEntityNotFound(_0x1bcb0d,null))[_0xce42('0x30')](saveUpdates(_0x128ddd[_0xce42('0x54')],null))[_0xce42('0x30')](respondWithResult(_0x1bcb0d,null))[_0xce42('0x4f')](handleError(_0x1bcb0d,null));};exports[_0xce42('0x2e')]=function(_0x2c9070,_0x67ac06){return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x2c9070[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x67ac06,null))[_0xce42('0x30')](removeEntity(_0x67ac06,null))[_0xce42('0x4f')](handleError(_0x67ac06,null));};exports[_0xce42('0x5d')]=function(_0x20c4c8,_0x1e9ded){return db[_0xce42('0x4b')][_0xce42('0x5d')]()['then'](respondWithResult(_0x1e9ded,null))['catch'](handleError(_0x1e9ded,null));};exports[_0xce42('0x5e')]=function(_0x56d046,_0x32e52e,_0x2557a5){if(_0x56d046[_0xce42('0x54')]['id']){delete _0x56d046[_0xce42('0x54')]['id'];}return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x56d046['params']['id']}})['then'](handleEntityNotFound(_0x32e52e,null))['then'](function(_0x1263b9){if(_0x1263b9){_0x56d046['body'][_0xce42('0x5f')]=_0x1263b9['id'];return db['Disposition'][_0xce42('0x53')](_0x56d046[_0xce42('0x54')]);}})[_0xce42('0x30')](respondWithResult(_0x32e52e,null))[_0xce42('0x4f')](handleError(_0x32e52e,null));};exports[_0xce42('0x60')]=function(_0x10568f,_0x51e6d5,_0x27e333){var _0x440a3d={'raw':![],'where':{}};var _0x19582a={};var _0x530178={'count':0x0,'rows':[]};return db[_0xce42('0x4b')][_0xce42('0x61')]({'where':{'id':_0x10568f[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x51e6d5,null))['then'](function(_0x1e44ff){if(_0x1e44ff){_0x19582a[_0xce42('0x3a')]=_['keys'](db[_0xce42('0x62')]['rawAttributes']);_0x19582a['query']=_[_0xce42('0x3b')](_0x10568f[_0xce42('0x3c')]);_0x19582a[_0xce42('0x3d')]=_[_0xce42('0x3e')](_0x19582a[_0xce42('0x3a')],_0x19582a[_0xce42('0x3c')]);_0x440a3d[_0xce42('0x3f')]=_['intersection'](_0x19582a['model'],qs[_0xce42('0x40')](_0x10568f[_0xce42('0x3c')][_0xce42('0x40')]));_0x440a3d[_0xce42('0x3f')]=_0x440a3d['attributes'][_0xce42('0x41')]?_0x440a3d[_0xce42('0x3f')]:_0x19582a['model'];if(!_0x10568f[_0xce42('0x3c')]['hasOwnProperty'](_0xce42('0x43'))){_0x440a3d[_0xce42('0x26')]=qs[_0xce42('0x26')](_0x10568f[_0xce42('0x3c')][_0xce42('0x26')]);_0x440a3d[_0xce42('0x24')]=qs[_0xce42('0x24')](_0x10568f['query'][_0xce42('0x24')]);}_0x440a3d[_0xce42('0x63')]=qs[_0xce42('0x44')](_0x10568f['query']['sort']);_0x440a3d[_0xce42('0x45')]=qs[_0xce42('0x3d')](_[_0xce42('0x64')](_0x10568f[_0xce42('0x3c')],_0x19582a['filters']));_0x440a3d[_0xce42('0x45')][_0xce42('0x5f')]=_0x1e44ff['id'];if(_0x10568f[_0xce42('0x3c')]['filter']){_0x440a3d['where']=_['merge'](_0x440a3d[_0xce42('0x45')],{'$or':_[_0xce42('0x48')](_0x440a3d['attributes'],function(_0xc3808f){var _0x55e379={};_0x55e379[_0xc3808f]={'$like':'%'+_0x10568f[_0xce42('0x3c')][_0xce42('0x46')]+'%'};return _0x55e379;})});}_0x440a3d=_[_0xce42('0x47')]({},_0x440a3d,_0x10568f[_0xce42('0x4a')]);return db[_0xce42('0x62')]['count']({'where':_0x440a3d['where']})[_0xce42('0x30')](function(_0x46ee97){_0x530178[_0xce42('0x27')]=_0x46ee97;if(_0x10568f[_0xce42('0x3c')]['includeAll']){_0x440a3d['include']=[{'all':!![]}];}return db[_0xce42('0x62')][_0xce42('0x4d')](_0x440a3d);})[_0xce42('0x30')](function(_0x95cb95){_0x530178[_0xce42('0x4e')]=_0x95cb95;return _0x530178;});}})[_0xce42('0x30')](respondWithFilteredResult(_0x51e6d5,_0x440a3d))[_0xce42('0x4f')](handleError(_0x51e6d5,null));};exports[_0xce42('0x65')]=function(_0x315e9d,_0x2e7c3a,_0x3fe897){return db[_0xce42('0x4b')]['find']({'where':{'id':_0x315e9d[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x2e7c3a,null))[_0xce42('0x30')](function(_0x147d09){if(_0x147d09){return _0x147d09[_0xce42('0x65')](_0x315e9d[_0xce42('0x3c')][_0xce42('0x66')]);}})[_0xce42('0x30')](respondWithStatusCode(_0x2e7c3a,null))[_0xce42('0x4f')](handleError(_0x2e7c3a,null));};exports[_0xce42('0x67')]=function(_0x14d0cf,_0x3ea4fa,_0x2922e3){return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x14d0cf[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x3ea4fa,null))[_0xce42('0x30')](function(_0x10e00e){if(_0x10e00e){var _0x4bc413=[];var _0x256442={'success':[],'errors':[]};return db[_0xce42('0x68')][_0xce42('0x5d')]()['then'](function(_0x3b9fe7){if(_0x14d0cf[_0xce42('0x54')]['tags']&&_[_0xce42('0x69')](_0x14d0cf[_0xce42('0x54')][_0xce42('0x6a')])){if(_0x14d0cf[_0xce42('0x54')]['tags'][_0xce42('0x41')]){_0x14d0cf[_0xce42('0x54')]['tags']=_0x14d0cf[_0xce42('0x54')][_0xce42('0x6a')][_0xce42('0x6b')](';')+';';}else{_0x14d0cf[_0xce42('0x54')][_0xce42('0x6a')]=null;}}else{_0x14d0cf[_0xce42('0x54')]['tags']=null;}if(_0x14d0cf['body']&&_['isArray'](_0x14d0cf[_0xce42('0x54')])){for(var _0x24a0fa=0x0;_0x24a0fa<_0x14d0cf[_0xce42('0x54')][_0xce42('0x41')];_0x24a0fa+=0x1){_0x14d0cf[_0xce42('0x54')][_0x24a0fa]['ListId']=_0x14d0cf['params']['id'];_0x4bc413[_0xce42('0x6c')](_0x14d0cf['body'][_0x24a0fa]);}return BPromise['each'](_0x4bc413,function(_0x68ef26){return db[_0xce42('0x68')][_0xce42('0x53')](_[_0xce42('0x6d')](_0x68ef26,[_0xce42('0x66'),'id'])||{},{'fields':_[_0xce42('0x3b')](_0x3b9fe7),'raw':!![]})[_0xce42('0x30')](function(_0x225f88){_0x256442[_0xce42('0x6e')][_0xce42('0x6c')](_0x225f88['dataValues']);})[_0xce42('0x4f')](function(_0x310fe1){_0x256442[_0xce42('0x6f')]['push']({'data':_0x68ef26,'error':_0x310fe1[_0xce42('0x70')]});});})[_0xce42('0x30')](function(_0x2b4b70){return _0x256442;})[_0xce42('0x4f')](function(_0x676092){return _0x676092;});}else{_0x3ea4fa[_0xce42('0x22')](0x190)['json']({'message':_0xce42('0x71')});}});}})[_0xce42('0x30')](respondWithResult(_0x3ea4fa,null))['catch'](handleError(_0x3ea4fa,null));};exports[_0xce42('0x72')]=function(_0x573dd3,_0x3de9df,_0x313421){var _0x408266;return db['CmList']['find']({'where':{'id':_0x573dd3[_0xce42('0x51')]['id']},'include':[{'model':db[_0xce42('0x73')],'as':_0xce42('0x74')}]})[_0xce42('0x30')](handleEntityNotFound(_0x3de9df,null))[_0xce42('0x30')](function(_0x7d54a1){if(_0x7d54a1){_0x408266=_0x7d54a1;return db[_0xce42('0x68')]['rawAttributes'];}})[_0xce42('0x30')](function(_0x35ef20){if(_0x35ef20){var _0x3a5088={};var _0x1e77d6={};_0x1e77d6[_0xce42('0x3a')]=_[_0xce42('0x75')](_[_0xce42('0x3b')](_0x35ef20),_[_0xce42('0x48')](_0x408266[_0xce42('0x74')],function(_0x144d70){return util[_0xce42('0x76')](_0xce42('0x77'),_0x144d70['id']);}));_0x1e77d6['query']=_[_0xce42('0x3b')](_0x573dd3['query']);_0x1e77d6['filters']=_[_0xce42('0x3e')](_0x1e77d6['model'],_0x1e77d6[_0xce42('0x3c')]);_0x3a5088[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0x1e77d6[_0xce42('0x3a')],qs[_0xce42('0x40')](_0x573dd3['query']['fields']));_0x3a5088[_0xce42('0x3f')]=_0x3a5088['attributes'][_0xce42('0x41')]?_0x3a5088['attributes']:_0x1e77d6[_0xce42('0x3a')];if(!_0x573dd3[_0xce42('0x3c')][_0xce42('0x42')]('nolimit')){_0x3a5088[_0xce42('0x26')]=qs[_0xce42('0x26')](_0x573dd3[_0xce42('0x3c')]['limit']);_0x3a5088[_0xce42('0x24')]=qs['offset'](_0x573dd3[_0xce42('0x3c')][_0xce42('0x24')]);}_0x3a5088[_0xce42('0x63')]=qs['sort'](_0x573dd3[_0xce42('0x3c')][_0xce42('0x44')]);_0x3a5088[_0xce42('0x45')]=qs[_0xce42('0x3d')](_[_0xce42('0x64')](_0x573dd3[_0xce42('0x3c')],_0x1e77d6[_0xce42('0x3d')]));_0x3a5088[_0xce42('0x78')]=!![];if(_0x573dd3['query'][_0xce42('0x46')]){_0x3a5088[_0xce42('0x45')]=_[_0xce42('0x47')](_0x3a5088[_0xce42('0x45')],{'$or':_['map'](_0x3a5088['attributes'],function(_0xbfbbc2){var _0x48474e={};_0x48474e[_0xbfbbc2]={'$like':'%'+_0x573dd3[_0xce42('0x3c')]['filter']+'%'};return _0x48474e;})});}_0x3a5088=_[_0xce42('0x47')]({},_0x3a5088,_0x573dd3[_0xce42('0x4a')]);return _0x408266[_0xce42('0x72')](_0x3a5088);}})['then'](respondWithResult(_0x3de9df,null))[_0xce42('0x4f')](handleError(_0x3de9df,null));};exports[_0xce42('0x79')]=function(_0x35c0d6,_0x1dedd5,_0x2d6778){var _0x457812;return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x35c0d6[_0xce42('0x51')]['id']},'include':[{'model':db['CmCustomField'],'as':_0xce42('0x74')}]})[_0xce42('0x30')](handleEntityNotFound(_0x1dedd5,null))[_0xce42('0x30')](function(_0x2acb7e){if(_0x2acb7e){_0x457812=_0x2acb7e;return db['CmContact'][_0xce42('0x7a')];}})[_0xce42('0x30')](function(_0x5062d7){if(_0x5062d7){var _0x2ec912={};var _0x1bf03d={};_0x1bf03d[_0xce42('0x3a')]=_[_0xce42('0x75')](_[_0xce42('0x3b')](_0x5062d7),_[_0xce42('0x48')](_0x457812[_0xce42('0x74')],function(_0x1dd050){return util[_0xce42('0x76')](_0xce42('0x77'),_0x1dd050['id']);}));_0x1bf03d['query']=_['keys'](_0x35c0d6['query']);_0x1bf03d[_0xce42('0x3d')]=_[_0xce42('0x3e')](_0x1bf03d[_0xce42('0x3a')],_0x1bf03d['query']);_0x2ec912[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0x1bf03d[_0xce42('0x3a')],qs[_0xce42('0x40')](_0x35c0d6[_0xce42('0x3c')][_0xce42('0x40')]));_0x2ec912['attributes']=_0x2ec912[_0xce42('0x3f')][_0xce42('0x41')]?_0x2ec912[_0xce42('0x3f')]:_0x1bf03d['model'];if(!_0x35c0d6[_0xce42('0x3c')]['hasOwnProperty'](_0xce42('0x43'))){_0x2ec912[_0xce42('0x26')]=qs[_0xce42('0x26')](_0x35c0d6['query']['limit']);_0x2ec912[_0xce42('0x24')]=qs[_0xce42('0x24')](_0x35c0d6['query'][_0xce42('0x24')]);}_0x2ec912[_0xce42('0x63')]=qs['sort'](_0x35c0d6['query'][_0xce42('0x44')]);_0x2ec912[_0xce42('0x45')]=qs['filters'](_[_0xce42('0x64')](_0x35c0d6[_0xce42('0x3c')],_0x1bf03d[_0xce42('0x3d')]));_0x2ec912[_0xce42('0x78')]=!![];if(_0x35c0d6[_0xce42('0x3c')][_0xce42('0x46')]){_0x2ec912[_0xce42('0x45')]=_['merge'](_0x2ec912[_0xce42('0x45')],{'$or':_[_0xce42('0x48')](_0x2ec912[_0xce42('0x3f')],function(_0x5a9ff7){var _0x1e3188={};_0x1e3188[_0x5a9ff7]={'$like':'%'+_0x35c0d6[_0xce42('0x3c')][_0xce42('0x46')]+'%'};return _0x1e3188;})});}_0x2ec912=_['merge']({},_0x2ec912,_0x35c0d6[_0xce42('0x4a')]);return _0x457812[_0xce42('0x72')](_0x2ec912);}})[_0xce42('0x30')](function(_0x4ba5b6){if(!_['isEmpty'](_0x4ba5b6)){var _0x45254b=toCsv(_0x4ba5b6);var _0x1db6ce=Date['now']();fs[_0xce42('0x7b')](util['format'](_0xce42('0x7c'),_0x457812['id'],_0x1db6ce),_0x45254b);_0x1dedd5['setHeader'](_0xce42('0x7d'),'attachment;\x20filename='+util[_0xce42('0x76')](_0xce42('0x7e'),_0x457812['id'],_0x1db6ce));_0x1dedd5['setHeader'](_0xce42('0x7f'),_0xce42('0x80'));return _0x1dedd5[_0xce42('0x81')](util['format']('/tmp/list_%d_%s.csv',_0x457812['id'],_0x1db6ce));}else{return _0x1dedd5['sendStatus'](0xcc);}})[_0xce42('0x4f')](handleError(_0x1dedd5,null));};exports[_0xce42('0x82')]=function(_0xd58333,_0x2a8855,_0x3581e0){var _0x429e17;delete _0xd58333['body']['id'];return db[_0xce42('0x4b')][_0xce42('0x61')]({'where':{'id':_0xd58333['params']['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x2a8855,null))[_0xce42('0x30')](function(_0x36e52c){if(_0x36e52c){return db[_0xce42('0x83')][_0xce42('0x84')](function(_0x137eca){return db[_0xce42('0x73')]['create'](_0xd58333['body'],{'transaction':_0x137eca})[_0xce42('0x30')](function(_0x4f0b76){_0x429e17=_0x4f0b76;return _0x36e52c[_0xce42('0x85')](_0x4f0b76,{'transaction':_0x137eca});})[_0xce42('0x30')](function(){var _0x2687e3={'type':db[_0xce42('0x86')][_0xce42('0x87')],'transaction':_0x137eca};switch(_0xd58333[_0xce42('0x54')][_0xce42('0x38')]){case _0xce42('0x88'):_0x2687e3[_0xce42('0x38')]=db[_0xce42('0x86')][_0xce42('0x87')];break;case'number':_0x2687e3['type']=db[_0xce42('0x86')][_0xce42('0x89')];break;case'switch':_0x2687e3[_0xce42('0x38')]=db[_0xce42('0x86')][_0xce42('0x8a')];_0x2687e3[_0xce42('0x8b')]=![];break;default:}return db[_0xce42('0x83')][_0xce42('0x8c')][_0xce42('0x8d')](_0xce42('0x8e'),util[_0xce42('0x76')](_0xce42('0x8f'),_0x429e17['id']),_0x2687e3);})[_0xce42('0x30')](function(){return _0x429e17;});});}})['then'](respondWithResult(_0x2a8855,null))[_0xce42('0x4f')](handleError(_0x2a8855,null));};exports[_0xce42('0x90')]=function(_0x549991,_0x1cc16c,_0x10194a){var _0x18e9dd={};var _0x3a4cc3={};var _0x4c274f;var _0x155ae5;return db[_0xce42('0x4b')][_0xce42('0x61')]({'where':{'id':_0x549991[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x1cc16c,null))[_0xce42('0x30')](function(_0xb0ccf6){if(_0xb0ccf6){_0x4c274f=_0xb0ccf6;_0x3a4cc3[_0xce42('0x3a')]=_[_0xce42('0x3b')](db[_0xce42('0x73')][_0xce42('0x7a')]);_0x3a4cc3['query']=_[_0xce42('0x3b')](_0x549991[_0xce42('0x3c')]);_0x3a4cc3['filters']=_[_0xce42('0x3e')](_0x3a4cc3[_0xce42('0x3a')],_0x3a4cc3[_0xce42('0x3c')]);_0x18e9dd[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0x3a4cc3[_0xce42('0x3a')],qs[_0xce42('0x40')](_0x549991[_0xce42('0x3c')][_0xce42('0x40')]));_0x18e9dd[_0xce42('0x3f')]=_0x18e9dd['attributes'][_0xce42('0x41')]?_0x18e9dd[_0xce42('0x3f')]:_0x3a4cc3[_0xce42('0x3a')];_0x18e9dd[_0xce42('0x63')]=qs[_0xce42('0x44')](_0x549991['query'][_0xce42('0x44')]);_0x18e9dd['where']=qs[_0xce42('0x3d')](_[_0xce42('0x64')](_0x549991[_0xce42('0x3c')],_0x3a4cc3['filters']));_0x18e9dd[_0xce42('0x45')]=_[_0xce42('0x47')](_0x18e9dd[_0xce42('0x45')],{'$or':[{'ListId':_0xb0ccf6['id']},{'ListId':null}]});if(_0x549991[_0xce42('0x3c')][_0xce42('0x46')]){_0x18e9dd[_0xce42('0x45')]=_['merge'](_0x18e9dd['where'],{'$or':_[_0xce42('0x48')](_0x18e9dd[_0xce42('0x3f')],function(_0x3cab30){var _0x25de6d={};_0x25de6d[_0x3cab30]={'$like':'%'+_0x549991[_0xce42('0x3c')][_0xce42('0x46')]+'%'};return _0x25de6d;})});}_0x18e9dd=_[_0xce42('0x47')]({},_0x18e9dd,_0x549991['options']);return db[_0xce42('0x73')][_0xce42('0x91')](_0x18e9dd);}})['then'](respondWithResult(_0x1cc16c,null))[_0xce42('0x4f')](handleError(_0x1cc16c,null));};exports[_0xce42('0x92')]=function(_0x544cce,_0x1e6630,_0x412136){return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x544cce['params']['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x1e6630,null))['then'](function(_0x5f4b5e){if(_0x5f4b5e){return _0x5f4b5e[_0xce42('0x92')](_0x544cce[_0xce42('0x54')][_0xce42('0x66')],_[_0xce42('0x6d')](_0x544cce['body'],[_0xce42('0x66'),'id'])||{})[_0xce42('0x93')](function(_0x3176d2){for(var _0x26999c=0x0;_0x26999c<_0x544cce['body']['ids'][_0xce42('0x41')];_0x26999c+=0x1){socket[_0xce42('0x94')](_0xce42('0x95'),{'UserId':Number(_0x544cce[_0xce42('0x54')][_0xce42('0x66')][_0x26999c]),'CmListId':Number(_0x544cce['params']['id'])});}return _0x3176d2;});}})[_0xce42('0x30')](respondWithResult(_0x1e6630,null))[_0xce42('0x4f')](handleError(_0x1e6630,null));};exports[_0xce42('0x96')]=function(_0x55a856,_0x57e282,_0x4c7d58){return db[_0xce42('0x4b')][_0xce42('0x59')]({'where':{'id':_0x55a856[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x57e282,null))[_0xce42('0x30')](function(_0x13e83b){if(_0x13e83b){return _0x13e83b[_0xce42('0x96')](_0x55a856[_0xce42('0x3c')][_0xce42('0x66')])[_0xce42('0x30')](function(){if(_[_0xce42('0x69')](_0x55a856[_0xce42('0x3c')][_0xce42('0x66')])){for(var _0x7afdbf=0x0;_0x7afdbf<_0x55a856[_0xce42('0x3c')][_0xce42('0x66')]['length'];_0x7afdbf+=0x1){socket[_0xce42('0x94')](_0xce42('0x97'),{'UserId':Number(_0x55a856['query']['ids'][_0x7afdbf]),'CmListId':Number(_0x55a856[_0xce42('0x51')]['id'])});}}else{socket['emit'](_0xce42('0x97'),{'UserId':Number(_0x55a856[_0xce42('0x3c')][_0xce42('0x66')]),'CmListId':Number(_0x55a856['params']['id'])});}});}})['then'](respondWithStatusCode(_0x57e282,null))['catch'](handleError(_0x57e282,null));};exports[_0xce42('0x98')]=function(_0x4ba60b,_0x474679,_0x3085f0){var _0xd342e7={};var _0xba9e3a={};var _0x59586c;var _0x5810c8;return db[_0xce42('0x4b')]['findOne']({'where':{'id':_0x4ba60b[_0xce42('0x51')]['id']}})[_0xce42('0x30')](handleEntityNotFound(_0x474679,null))[_0xce42('0x30')](function(_0x44cc52){if(_0x44cc52){_0x59586c=_0x44cc52;_0xba9e3a[_0xce42('0x3a')]=_['keys'](db[_0xce42('0x99')][_0xce42('0x7a')]);_0xba9e3a[_0xce42('0x3c')]=_['keys'](_0x4ba60b[_0xce42('0x3c')]);_0xba9e3a[_0xce42('0x3d')]=_[_0xce42('0x3e')](_0xba9e3a['model'],_0xba9e3a[_0xce42('0x3c')]);_0xd342e7[_0xce42('0x3f')]=_[_0xce42('0x3e')](_0xba9e3a['model'],qs[_0xce42('0x40')](_0x4ba60b[_0xce42('0x3c')]['fields']));_0xd342e7[_0xce42('0x3f')]=_0xd342e7['attributes'][_0xce42('0x41')]?_0xd342e7[_0xce42('0x3f')]:_0xba9e3a['model'];_0xd342e7[_0xce42('0x63')]=qs[_0xce42('0x44')](_0x4ba60b[_0xce42('0x3c')][_0xce42('0x44')]);_0xd342e7[_0xce42('0x45')]=qs[_0xce42('0x3d')](_[_0xce42('0x64')](_0x4ba60b[_0xce42('0x3c')],_0xba9e3a[_0xce42('0x3d')]));if(_0x4ba60b[_0xce42('0x3c')]['filter']){_0xd342e7['where']=_[_0xce42('0x47')](_0xd342e7[_0xce42('0x45')],{'$or':_[_0xce42('0x48')](_0xd342e7[_0xce42('0x3f')],function(_0x5b54f6){var _0x1f85aa={};_0x1f85aa[_0x5b54f6]={'$like':'%'+_0x4ba60b[_0xce42('0x3c')]['filter']+'%'};return _0x1f85aa;})});}_0xd342e7=_[_0xce42('0x47')]({},_0xd342e7,_0x4ba60b[_0xce42('0x4a')]);return _0x59586c[_0xce42('0x98')](_0xd342e7);}})[_0xce42('0x30')](function(_0x9350e6){if(_0x9350e6){_0x5810c8=_0x9350e6['length'];if(!_0x4ba60b['query'][_0xce42('0x42')](_0xce42('0x43'))){_0xd342e7[_0xce42('0x26')]=qs[_0xce42('0x26')](_0x4ba60b['query']['limit']);_0xd342e7['offset']=qs['offset'](_0x4ba60b[_0xce42('0x3c')][_0xce42('0x24')]);}return _0x59586c[_0xce42('0x98')](_0xd342e7);}})[_0xce42('0x30')](function(_0x296ed3){if(_0x296ed3){return _0x296ed3?{'count':_0x5810c8,'rows':_0x296ed3}:null;}})[_0xce42('0x30')](respondWithResult(_0x474679,null))[_0xce42('0x4f')](handleError(_0x474679,null));};