Built motion from commit 52c8a02d.|2.6.29
[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 _0x230c=['each','omit','success','dataValues','errors','Malformed\x20request\x20syntax','CmCustomField','CustomFields','concat','format','cf_%d','raw','getContacts','getContactsCsv','ContactItemType','OrderBy','alias','select','from','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','field','c.cf_','item','cm_contact_has_items','CmContactId\x20=\x20c.id','additionalPhone_','description_additionalPhone_','toString','isEmpty','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','list_%d_%s.csv','Content-type','text/csv','download','addCustomField','transaction','addCustomFields','TEXT','Sequelize','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','getGlobalCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','info','sequelize','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','lodash','squel','crypto','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./cmList.socket','register','status','end','json','undefined','limit','count','offset','set','apply','reject','save','update','then','destroy','get','UserProfileResource','sendStatus','stack','name','send','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','CmList','includeAll','include','show','params','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Lists','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','catch','describe','addDisposition','findOne','Disposition','nolimit','ListId','findAll','rows','removeDispositions','ids','addContacts','CmContact','tags','join','isArray','push'];(function(_0x226692,_0x4ffcda){var _0x1ee994=function(_0x1a650d){while(--_0x1a650d){_0x226692['push'](_0x226692['shift']());}};_0x1ee994(++_0x4ffcda);}(_0x230c,0xed));var _0xc230=function(_0x5627e1,_0x1b2dbf){_0x5627e1=_0x5627e1-0x0;var _0x2f013f=_0x230c[_0x5627e1];return _0x2f013f;};'use strict';var emlformat=require(_0xc230('0x0'));var rimraf=require(_0xc230('0x1'));var zipdir=require(_0xc230('0x2'));var jsonpatch=require(_0xc230('0x3'));var rp=require(_0xc230('0x4'));var moment=require(_0xc230('0x5'));var BPromise=require(_0xc230('0x6'));var Mustache=require(_0xc230('0x7'));var util=require(_0xc230('0x8'));var path=require(_0xc230('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc230('0xa'));var squel=require(_0xc230('0xb'));var crypto=require(_0xc230('0xc'));var jsforce=require(_0xc230('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xc230('0xe'));var querystring=require(_0xc230('0xf'));var Papa=require('papaparse');var Redis=require(_0xc230('0x10'));var authService=require(_0xc230('0x11'));var qs=require(_0xc230('0x12'));var as=require(_0xc230('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc230('0x14'))(_0xc230('0x15'));var utils=require(_0xc230('0x16'));var config=require(_0xc230('0x17'));var licenseUtil=require(_0xc230('0x18'));var db=require('../../mysqldb')['db'];var csv_results;config[_0xc230('0x19')]=_[_0xc230('0x1a')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xc230('0x1b'))(new Redis(config[_0xc230('0x19')]));require(_0xc230('0x1c'))[_0xc230('0x1d')](socket);function respondWithStatusCode(_0x29c612,_0x1f279f){_0x1f279f=_0x1f279f||0xcc;return function(_0x794e3c){if(_0x794e3c){return _0x29c612['sendStatus'](_0x1f279f);}return _0x29c612[_0xc230('0x1e')](_0x1f279f)[_0xc230('0x1f')]();};}function respondWithResult(_0x4b9846,_0x5a7526){_0x5a7526=_0x5a7526||0xc8;return function(_0x1a1c26){if(_0x1a1c26){return _0x4b9846['status'](_0x5a7526)[_0xc230('0x20')](_0x1a1c26);}};}function respondWithFilteredResult(_0x2d4090,_0x560040){return function(_0x137b81){if(_0x137b81){var _0x2c8b0b=typeof _0x560040['offset']===_0xc230('0x21')&&typeof _0x560040[_0xc230('0x22')]==='undefined';var _0x47cc50=_0x137b81[_0xc230('0x23')];var _0x393e20=_0x2c8b0b?0x0:_0x560040[_0xc230('0x24')];var _0x2b4a3f=_0x2c8b0b?_0x137b81[_0xc230('0x23')]:_0x560040[_0xc230('0x24')]+_0x560040[_0xc230('0x22')];var _0x246716;if(_0x2b4a3f>=_0x47cc50){_0x2b4a3f=_0x47cc50;_0x246716=0xc8;}else{_0x246716=0xce;}_0x2d4090['status'](_0x246716);return _0x2d4090[_0xc230('0x25')]('Content-Range',_0x393e20+'-'+_0x2b4a3f+'/'+_0x47cc50)[_0xc230('0x20')](_0x137b81);}return null;};}function patchUpdates(_0x29c3cd){return function(_0x39a58e){try{jsonpatch[_0xc230('0x26')](_0x39a58e,_0x29c3cd,!![]);}catch(_0x45aae2){return BPromise[_0xc230('0x27')](_0x45aae2);}return _0x39a58e[_0xc230('0x28')]();};}function saveUpdates(_0x4d8752,_0x53c4cf){return function(_0x34a577){if(_0x34a577){return _0x34a577[_0xc230('0x29')](_0x4d8752)[_0xc230('0x2a')](function(_0x5d1418){return _0x5d1418;});}return null;};}function removeEntity(_0x3ae41c,_0x44feba){return function(_0x104dc0){if(_0x104dc0){return _0x104dc0[_0xc230('0x2b')]()[_0xc230('0x2a')](function(){var _0x42f0cd=_0x104dc0[_0xc230('0x2c')]({'plain':!![]});var _0x2a9d06='Lists';return db[_0xc230('0x2d')][_0xc230('0x2b')]({'where':{'type':_0x2a9d06,'resourceId':_0x42f0cd['id']}})['then'](function(){return _0x104dc0;});})[_0xc230('0x2a')](function(){_0x3ae41c[_0xc230('0x1e')](0xcc)[_0xc230('0x1f')]();});}};}function handleEntityNotFound(_0x1cc773,_0x1ddd7c){return function(_0x20957f){if(!_0x20957f){_0x1cc773[_0xc230('0x2e')](0x194);}return _0x20957f;};}function handleError(_0x4c1b0f,_0x5e0d7b){_0x5e0d7b=_0x5e0d7b||0x1f4;return function(_0x136c7e){logger['error'](_0x136c7e[_0xc230('0x2f')]);if(_0x136c7e[_0xc230('0x30')]){delete _0x136c7e[_0xc230('0x30')];}_0x4c1b0f[_0xc230('0x1e')](_0x5e0d7b)[_0xc230('0x31')](_0x136c7e);};}exports['index']=function(_0x1b5e9b,_0x416d3f){var _0x2d3ea0={},_0x105630={},_0x311408={'count':0x0,'rows':[]};var _0xddf718=_['map'](db['CmList'][_0xc230('0x32')],function(_0x21c04f){return{'name':_0x21c04f[_0xc230('0x33')],'type':_0x21c04f[_0xc230('0x34')][_0xc230('0x35')]};});_0x105630['model']=_[_0xc230('0x36')](_0xddf718,_0xc230('0x30'));_0x105630[_0xc230('0x37')]=_[_0xc230('0x38')](_0x1b5e9b[_0xc230('0x37')]);_0x105630[_0xc230('0x39')]=_[_0xc230('0x3a')](_0x105630[_0xc230('0x3b')],_0x105630[_0xc230('0x37')]);_0x2d3ea0[_0xc230('0x3c')]=_[_0xc230('0x3a')](_0x105630[_0xc230('0x3b')],qs[_0xc230('0x3d')](_0x1b5e9b[_0xc230('0x37')]['fields']));_0x2d3ea0[_0xc230('0x3c')]=_0x2d3ea0[_0xc230('0x3c')][_0xc230('0x3e')]?_0x2d3ea0[_0xc230('0x3c')]:_0x105630[_0xc230('0x3b')];if(!_0x1b5e9b[_0xc230('0x37')][_0xc230('0x3f')]('nolimit')){_0x2d3ea0['limit']=qs['limit'](_0x1b5e9b[_0xc230('0x37')][_0xc230('0x22')]);_0x2d3ea0[_0xc230('0x24')]=qs[_0xc230('0x24')](_0x1b5e9b['query'][_0xc230('0x24')]);}_0x2d3ea0[_0xc230('0x40')]=qs[_0xc230('0x41')](_0x1b5e9b[_0xc230('0x37')]['sort']);_0x2d3ea0[_0xc230('0x42')]=qs['filters'](_[_0xc230('0x43')](_0x1b5e9b[_0xc230('0x37')],_0x105630[_0xc230('0x39')]),_0xddf718);if(_0x1b5e9b[_0xc230('0x37')][_0xc230('0x44')]){_0x2d3ea0[_0xc230('0x42')]=_[_0xc230('0x45')](_0x2d3ea0['where'],{'$or':_['map'](_0xddf718,function(_0x2ad993){if(_0x2ad993[_0xc230('0x34')]!=='VIRTUAL'){var _0x3504cf={};_0x3504cf[_0x2ad993[_0xc230('0x30')]]={'$like':'%'+_0x1b5e9b[_0xc230('0x37')][_0xc230('0x44')]+'%'};return _0x3504cf;}})});}_0x2d3ea0=_[_0xc230('0x45')]({},_0x2d3ea0,_0x1b5e9b['options']);var _0x398140={'where':_0x2d3ea0[_0xc230('0x42')]};return db[_0xc230('0x46')][_0xc230('0x23')](_0x398140)[_0xc230('0x2a')](function(_0x37b657){_0x311408[_0xc230('0x23')]=_0x37b657;if(_0x1b5e9b[_0xc230('0x37')][_0xc230('0x47')]){_0x2d3ea0[_0xc230('0x48')]=[{'all':!![]}];}return db['CmList']['findAll'](_0x2d3ea0);})['then'](function(_0x4874c6){_0x311408['rows']=_0x4874c6;return _0x311408;})[_0xc230('0x2a')](respondWithFilteredResult(_0x416d3f,_0x2d3ea0))['catch'](handleError(_0x416d3f,null));};exports[_0xc230('0x49')]=function(_0x1253f1,_0x8f6139){var _0x4e250b={'raw':![],'where':{'id':_0x1253f1[_0xc230('0x4a')]['id']}},_0x2536ba={};_0x2536ba['model']=_[_0xc230('0x38')](db['CmList'][_0xc230('0x32')]);_0x2536ba[_0xc230('0x37')]=_['keys'](_0x1253f1[_0xc230('0x37')]);_0x2536ba['filters']=_[_0xc230('0x3a')](_0x2536ba[_0xc230('0x3b')],_0x2536ba[_0xc230('0x37')]);_0x4e250b[_0xc230('0x3c')]=_['intersection'](_0x2536ba['model'],qs[_0xc230('0x3d')](_0x1253f1['query'][_0xc230('0x3d')]));_0x4e250b[_0xc230('0x3c')]=_0x4e250b[_0xc230('0x3c')][_0xc230('0x3e')]?_0x4e250b[_0xc230('0x3c')]:_0x2536ba[_0xc230('0x3b')];if(_0x1253f1[_0xc230('0x37')][_0xc230('0x47')]){_0x4e250b[_0xc230('0x48')]=[{'all':!![]}];}_0x4e250b=_['merge']({},_0x4e250b,_0x1253f1[_0xc230('0x4b')]);return db[_0xc230('0x46')]['find'](_0x4e250b)[_0xc230('0x2a')](handleEntityNotFound(_0x8f6139,null))[_0xc230('0x2a')](respondWithResult(_0x8f6139,null))['catch'](handleError(_0x8f6139,null));};exports[_0xc230('0x4c')]=function(_0x4463df,_0xf5e87e){return db[_0xc230('0x46')]['create'](_0x4463df[_0xc230('0x4d')],{})[_0xc230('0x2a')](function(_0x3fcd2f){var _0x1ef747=_0x4463df[_0xc230('0x4e')]['get']({'plain':!![]});if(!_0x1ef747)throw new Error(_0xc230('0x4f'));if(_0x1ef747[_0xc230('0x50')]===_0xc230('0x4e')){var _0x43203e=_0x3fcd2f[_0xc230('0x2c')]({'plain':!![]});var _0x34892b=_0xc230('0x51');return db[_0xc230('0x52')][_0xc230('0x53')]({'where':{'name':_0x34892b,'userProfileId':_0x1ef747[_0xc230('0x54')]},'raw':!![]})[_0xc230('0x2a')](function(_0x201bd6){if(_0x201bd6&&_0x201bd6[_0xc230('0x55')]===0x0){return db[_0xc230('0x2d')][_0xc230('0x4c')]({'name':_0x43203e[_0xc230('0x30')],'resourceId':_0x43203e['id'],'type':_0x201bd6[_0xc230('0x30')],'sectionId':_0x201bd6['id']},{})[_0xc230('0x2a')](function(){return _0x3fcd2f;});}else{return _0x3fcd2f;}})['catch'](function(_0x4cb189){logger[_0xc230('0x56')](_0xc230('0x57'),_0x4cb189);throw _0x4cb189;});}return _0x3fcd2f;})[_0xc230('0x2a')](respondWithResult(_0xf5e87e,0xc9))[_0xc230('0x58')](handleError(_0xf5e87e,null));};exports[_0xc230('0x29')]=function(_0x8b9314,_0x295963){if(_0x8b9314['body']['id']){delete _0x8b9314[_0xc230('0x4d')]['id'];}return db['CmList']['find']({'where':{'id':_0x8b9314[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x295963,null))['then'](saveUpdates(_0x8b9314[_0xc230('0x4d')],null))[_0xc230('0x2a')](respondWithResult(_0x295963,null))['catch'](handleError(_0x295963,null));};exports[_0xc230('0x2b')]=function(_0x21d7ea,_0x5dfd00){return db[_0xc230('0x46')][_0xc230('0x53')]({'where':{'id':_0x21d7ea[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x5dfd00,null))[_0xc230('0x2a')](removeEntity(_0x5dfd00,null))['catch'](handleError(_0x5dfd00,null));};exports['describe']=function(_0x8d6c0b,_0x3045c5){return db[_0xc230('0x46')][_0xc230('0x59')]()[_0xc230('0x2a')](respondWithResult(_0x3045c5,null))[_0xc230('0x58')](handleError(_0x3045c5,null));};exports[_0xc230('0x5a')]=function(_0x3f5293,_0x249c42,_0x25b209){if(_0x3f5293['body']['id']){delete _0x3f5293[_0xc230('0x4d')]['id'];}return db[_0xc230('0x46')]['find']({'where':{'id':_0x3f5293[_0xc230('0x4a')]['id']}})['then'](handleEntityNotFound(_0x249c42,null))[_0xc230('0x2a')](function(_0x1328a7){if(_0x1328a7){_0x3f5293['body']['ListId']=_0x1328a7['id'];return db['Disposition']['create'](_0x3f5293[_0xc230('0x4d')]);}})['then'](respondWithResult(_0x249c42,null))[_0xc230('0x58')](handleError(_0x249c42,null));};exports['getDispositions']=function(_0x141f1b,_0x5d929e,_0x2e2efe){var _0x4bb962={'raw':![],'where':{}};var _0x15379f={};var _0x40a371={'count':0x0,'rows':[]};return db[_0xc230('0x46')][_0xc230('0x5b')]({'where':{'id':_0x141f1b[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x5d929e,null))[_0xc230('0x2a')](function(_0x4a8c40){if(_0x4a8c40){_0x15379f[_0xc230('0x3b')]=_['keys'](db[_0xc230('0x5c')]['rawAttributes']);_0x15379f['query']=_[_0xc230('0x38')](_0x141f1b['query']);_0x15379f[_0xc230('0x39')]=_[_0xc230('0x3a')](_0x15379f[_0xc230('0x3b')],_0x15379f['query']);_0x4bb962[_0xc230('0x3c')]=_[_0xc230('0x3a')](_0x15379f[_0xc230('0x3b')],qs['fields'](_0x141f1b[_0xc230('0x37')][_0xc230('0x3d')]));_0x4bb962[_0xc230('0x3c')]=_0x4bb962[_0xc230('0x3c')][_0xc230('0x3e')]?_0x4bb962['attributes']:_0x15379f['model'];if(!_0x141f1b[_0xc230('0x37')][_0xc230('0x3f')](_0xc230('0x5d'))){_0x4bb962[_0xc230('0x22')]=qs[_0xc230('0x22')](_0x141f1b[_0xc230('0x37')][_0xc230('0x22')]);_0x4bb962[_0xc230('0x24')]=qs[_0xc230('0x24')](_0x141f1b[_0xc230('0x37')][_0xc230('0x24')]);}_0x4bb962[_0xc230('0x40')]=qs['sort'](_0x141f1b[_0xc230('0x37')][_0xc230('0x41')]);_0x4bb962['where']=qs[_0xc230('0x39')](_[_0xc230('0x43')](_0x141f1b[_0xc230('0x37')],_0x15379f[_0xc230('0x39')]));_0x4bb962['where'][_0xc230('0x5e')]=_0x4a8c40['id'];if(_0x141f1b[_0xc230('0x37')][_0xc230('0x44')]){_0x4bb962[_0xc230('0x42')]=_[_0xc230('0x45')](_0x4bb962[_0xc230('0x42')],{'$or':_[_0xc230('0x36')](_0x4bb962[_0xc230('0x3c')],function(_0x44e853){var _0x2c02bf={};_0x2c02bf[_0x44e853]={'$like':'%'+_0x141f1b[_0xc230('0x37')]['filter']+'%'};return _0x2c02bf;})});}_0x4bb962=_[_0xc230('0x45')]({},_0x4bb962,_0x141f1b['options']);return db[_0xc230('0x5c')][_0xc230('0x23')]({'where':_0x4bb962['where']})[_0xc230('0x2a')](function(_0x4ba121){_0x40a371[_0xc230('0x23')]=_0x4ba121;if(_0x141f1b[_0xc230('0x37')][_0xc230('0x47')]){_0x4bb962[_0xc230('0x48')]=[{'all':!![]}];}return db['Disposition'][_0xc230('0x5f')](_0x4bb962);})[_0xc230('0x2a')](function(_0x4c156a){_0x40a371[_0xc230('0x60')]=_0x4c156a;return _0x40a371;});}})[_0xc230('0x2a')](respondWithFilteredResult(_0x5d929e,_0x4bb962))[_0xc230('0x58')](handleError(_0x5d929e,null));};exports[_0xc230('0x61')]=function(_0x1e02dd,_0x32f6ac,_0x1b818b){return db['CmList'][_0xc230('0x53')]({'where':{'id':_0x1e02dd[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x32f6ac,null))[_0xc230('0x2a')](function(_0x44d053){if(_0x44d053){return _0x44d053['removeDispositions'](_0x1e02dd['query'][_0xc230('0x62')]);}})[_0xc230('0x2a')](respondWithStatusCode(_0x32f6ac,null))[_0xc230('0x58')](handleError(_0x32f6ac,null));};exports[_0xc230('0x63')]=function(_0x1c147,_0xb59783,_0x497fc3){return db['CmList'][_0xc230('0x53')]({'where':{'id':_0x1c147[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0xb59783,null))[_0xc230('0x2a')](function(_0xa9827e){if(_0xa9827e){var _0x5b00fa=[];var _0x1ea35d={'success':[],'errors':[]};return db[_0xc230('0x64')][_0xc230('0x59')]()[_0xc230('0x2a')](function(_0x4a37ad){if(_0x1c147[_0xc230('0x4d')]['tags']&&_['isArray'](_0x1c147[_0xc230('0x4d')]['tags'])){if(_0x1c147[_0xc230('0x4d')][_0xc230('0x65')][_0xc230('0x3e')]){_0x1c147['body'][_0xc230('0x65')]=_0x1c147['body'][_0xc230('0x65')][_0xc230('0x66')](';')+';';}else{_0x1c147[_0xc230('0x4d')][_0xc230('0x65')]=null;}}else{_0x1c147['body'][_0xc230('0x65')]=null;}if(_0x1c147['body']&&_[_0xc230('0x67')](_0x1c147[_0xc230('0x4d')])){for(var _0x25f524=0x0;_0x25f524<_0x1c147[_0xc230('0x4d')][_0xc230('0x3e')];_0x25f524+=0x1){_0x1c147[_0xc230('0x4d')][_0x25f524][_0xc230('0x5e')]=_0x1c147[_0xc230('0x4a')]['id'];_0x5b00fa[_0xc230('0x68')](_0x1c147[_0xc230('0x4d')][_0x25f524]);}return BPromise[_0xc230('0x69')](_0x5b00fa,function(_0x5d400d){return db[_0xc230('0x64')][_0xc230('0x4c')](_[_0xc230('0x6a')](_0x5d400d,[_0xc230('0x62'),'id'])||{},{'fields':_[_0xc230('0x38')](_0x4a37ad),'raw':!![]})[_0xc230('0x2a')](function(_0x4d414c){_0x1ea35d[_0xc230('0x6b')][_0xc230('0x68')](_0x4d414c[_0xc230('0x6c')]);})[_0xc230('0x58')](function(_0x3caa0b){_0x1ea35d[_0xc230('0x6d')][_0xc230('0x68')]({'data':_0x5d400d,'error':_0x3caa0b['message']});});})['then'](function(_0x24c8ca){return _0x1ea35d;})[_0xc230('0x58')](function(_0x53d4f4){return _0x53d4f4;});}else{_0xb59783[_0xc230('0x1e')](0x190)[_0xc230('0x20')]({'message':_0xc230('0x6e')});}});}})[_0xc230('0x2a')](respondWithResult(_0xb59783,null))[_0xc230('0x58')](handleError(_0xb59783,null));};exports['getContacts']=function(_0x3f064f,_0x4757ed,_0x3b50c0){var _0xd5b7e6;return db[_0xc230('0x46')][_0xc230('0x53')]({'where':{'id':_0x3f064f['params']['id']},'include':[{'model':db[_0xc230('0x6f')],'as':_0xc230('0x70')}]})[_0xc230('0x2a')](handleEntityNotFound(_0x4757ed,null))[_0xc230('0x2a')](function(_0x10c0bb){if(_0x10c0bb){_0xd5b7e6=_0x10c0bb;return db['CmContact'][_0xc230('0x32')];}})[_0xc230('0x2a')](function(_0x2a8251){if(_0x2a8251){var _0x3d8247={};var _0x513026={};_0x513026[_0xc230('0x3b')]=_[_0xc230('0x71')](_[_0xc230('0x38')](_0x2a8251),_[_0xc230('0x36')](_0xd5b7e6['CustomFields'],function(_0x4d5d96){return util[_0xc230('0x72')](_0xc230('0x73'),_0x4d5d96['id']);}));_0x513026[_0xc230('0x37')]=_[_0xc230('0x38')](_0x3f064f[_0xc230('0x37')]);_0x513026[_0xc230('0x39')]=_[_0xc230('0x3a')](_0x513026[_0xc230('0x3b')],_0x513026[_0xc230('0x37')]);_0x3d8247[_0xc230('0x3c')]=_[_0xc230('0x3a')](_0x513026['model'],qs[_0xc230('0x3d')](_0x3f064f['query']['fields']));_0x3d8247['attributes']=_0x3d8247[_0xc230('0x3c')]['length']?_0x3d8247[_0xc230('0x3c')]:_0x513026[_0xc230('0x3b')];if(!_0x3f064f['query'][_0xc230('0x3f')]('nolimit')){_0x3d8247['limit']=qs[_0xc230('0x22')](_0x3f064f[_0xc230('0x37')][_0xc230('0x22')]);_0x3d8247[_0xc230('0x24')]=qs[_0xc230('0x24')](_0x3f064f[_0xc230('0x37')][_0xc230('0x24')]);}_0x3d8247[_0xc230('0x40')]=qs['sort'](_0x3f064f[_0xc230('0x37')][_0xc230('0x41')]);_0x3d8247[_0xc230('0x42')]=qs['filters'](_['pick'](_0x3f064f[_0xc230('0x37')],_0x513026[_0xc230('0x39')]));_0x3d8247[_0xc230('0x74')]=!![];if(_0x3f064f[_0xc230('0x37')][_0xc230('0x44')]){_0x3d8247[_0xc230('0x42')]=_['merge'](_0x3d8247[_0xc230('0x42')],{'$or':_[_0xc230('0x36')](_0x3d8247['attributes'],function(_0x5d8545){var _0x49b84e={};_0x49b84e[_0x5d8545]={'$like':'%'+_0x3f064f[_0xc230('0x37')]['filter']+'%'};return _0x49b84e;})});}_0x3d8247=_[_0xc230('0x45')]({},_0x3d8247,_0x3f064f['options']);return _0xd5b7e6[_0xc230('0x75')](_0x3d8247);}})[_0xc230('0x2a')](respondWithResult(_0x4757ed,null))[_0xc230('0x58')](handleError(_0x4757ed,null));};exports[_0xc230('0x76')]=function(_0x24a0a5,_0xc382c5,_0x17327b){var _0x3078f8;var _0x16500c;var _0x3843b1;var _0x3f0df2=_0x24a0a5[_0xc230('0x4a')]['id'];csv_results=[];return db[_0xc230('0x77')][_0xc230('0x5f')]({'attributes':['id',_0xc230('0x30')],'raw':!![],'order':[_0xc230('0x78')]})['then'](function(_0x435d1d){_0x3078f8=_0x435d1d;var _0x26097c=_[_0xc230('0x38')](db[_0xc230('0x64')][_0xc230('0x32')]);return db['CmCustomField'][_0xc230('0x5f')]({'raw':!![],'attributes':['id',_0xc230('0x79')]})[_0xc230('0x2a')](function(_0x3b621e){_0x16500c=_0x3b621e;var _0xb7f115=squel[_0xc230('0x7a')]()[_0xc230('0x3d')](_0x26097c)[_0xc230('0x7b')]('cm_contacts','c')['where'](_0xc230('0x7c'),_0x3f0df2)[_0xc230('0x42')](_0xc230('0x7d'))[_0xc230('0x7e')]();for(var _0x54e96d=0x0;_0x54e96d<_0x16500c[_0xc230('0x3e')];_0x54e96d++){_0xb7f115[_0xc230('0x7f')](_0xc230('0x80')+_0x16500c[_0x54e96d]['id'],'customField_'+_0x16500c[_0x54e96d][_0xc230('0x79')]);}for(var _0x54e96d=0x0;_0x54e96d<_0x3078f8['length'];_0x54e96d++){_0xb7f115[_0xc230('0x7f')](squel[_0xc230('0x7a')]()['field'](_0xc230('0x81'))[_0xc230('0x7b')](_0xc230('0x82'))['where']('ItemTypeId\x20=\x20?',_0x3078f8[_0x54e96d]['id'])[_0xc230('0x42')](_0xc230('0x83')),_0xc230('0x84')+_0x3078f8[_0x54e96d]['name']);_0xb7f115[_0xc230('0x7f')](squel[_0xc230('0x7a')]()[_0xc230('0x7f')]('description')[_0xc230('0x7b')](_0xc230('0x82'))['where']('ItemTypeId\x20=\x20?',_0x3078f8[_0x54e96d]['id'])['where']('CmContactId\x20=\x20c.id'),_0xc230('0x85')+_0x3078f8[_0x54e96d][_0xc230('0x30')]);}var _0x3a3eb1=[];_0x3a3eb1[_0xc230('0x68')](_0xb7f115['toString']());BPromise[_0xc230('0x69')](_0x3a3eb1,handleQuery)[_0xc230('0x2a')](function(_0x6f0d6d){handleQuery(_0xb7f115[_0xc230('0x86')]());var _0x4592fa=csv_results[0x0];if(!_[_0xc230('0x87')](_0x4592fa)){var _0x2a70a5=toCsv(_0x4592fa);var _0x3e01d6=Date[_0xc230('0x88')]();fs[_0xc230('0x89')](util['format'](_0xc230('0x8a'),_0x3f0df2,_0x3e01d6),_0x2a70a5);_0xc382c5[_0xc230('0x8b')](_0xc230('0x8c'),'attachment;\x20filename='+util['format'](_0xc230('0x8d'),_0x3f0df2,_0x3e01d6));_0xc382c5[_0xc230('0x8b')](_0xc230('0x8e'),_0xc230('0x8f'));return _0xc382c5[_0xc230('0x90')](util['format'](_0xc230('0x8a'),_0x3f0df2,_0x3e01d6));}else{return _0xc382c5[_0xc230('0x2e')](0xcc);}});});});};exports[_0xc230('0x91')]=function(_0x126740,_0x48ab2b,_0x5287af){var _0x36e394;delete _0x126740[_0xc230('0x4d')]['id'];return db['CmList'][_0xc230('0x5b')]({'where':{'id':_0x126740[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x48ab2b,null))[_0xc230('0x2a')](function(_0x37682e){if(_0x37682e){return db['sequelize'][_0xc230('0x92')](function(_0x5dfa5f){return db[_0xc230('0x6f')][_0xc230('0x4c')](_0x126740[_0xc230('0x4d')],{'transaction':_0x5dfa5f})['then'](function(_0x4ff107){_0x36e394=_0x4ff107;return _0x37682e[_0xc230('0x93')](_0x4ff107,{'transaction':_0x5dfa5f});})[_0xc230('0x2a')](function(){var _0xca82bc={'type':db['Sequelize'][_0xc230('0x94')],'transaction':_0x5dfa5f};switch(_0x126740['body']['type']){case'text':_0xca82bc[_0xc230('0x34')]=db[_0xc230('0x95')][_0xc230('0x94')];break;case _0xc230('0x96'):_0xca82bc[_0xc230('0x34')]=db[_0xc230('0x95')][_0xc230('0x97')];break;case _0xc230('0x98'):_0xca82bc['type']=db[_0xc230('0x95')]['BOOLEAN'];_0xca82bc[_0xc230('0x99')]=![];break;default:}return db['sequelize'][_0xc230('0x9a')][_0xc230('0x9b')](_0xc230('0x9c'),util[_0xc230('0x72')](_0xc230('0x9d'),_0x36e394['id']),_0xca82bc);})[_0xc230('0x2a')](function(){return _0x36e394;});});}})[_0xc230('0x2a')](respondWithResult(_0x48ab2b,null))[_0xc230('0x58')](handleError(_0x48ab2b,null));};exports[_0xc230('0x9e')]=function(_0x1af7e7,_0x2e2920,_0x5e21ef){var _0x35430c={};var _0x41cdb1={};var _0x38ef62;var _0x55a1eb;return db[_0xc230('0x46')][_0xc230('0x5b')]({'where':{'id':_0x1af7e7[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x2e2920,null))['then'](function(_0x577957){if(_0x577957){_0x38ef62=_0x577957;_0x41cdb1[_0xc230('0x3b')]=_[_0xc230('0x38')](db[_0xc230('0x6f')][_0xc230('0x32')]);_0x41cdb1['query']=_[_0xc230('0x38')](_0x1af7e7[_0xc230('0x37')]);_0x41cdb1['filters']=_[_0xc230('0x3a')](_0x41cdb1[_0xc230('0x3b')],_0x41cdb1[_0xc230('0x37')]);_0x35430c['attributes']=_[_0xc230('0x3a')](_0x41cdb1[_0xc230('0x3b')],qs[_0xc230('0x3d')](_0x1af7e7[_0xc230('0x37')]['fields']));_0x35430c[_0xc230('0x3c')]=_0x35430c[_0xc230('0x3c')][_0xc230('0x3e')]?_0x35430c['attributes']:_0x41cdb1[_0xc230('0x3b')];_0x35430c['order']=qs[_0xc230('0x41')](_0x1af7e7[_0xc230('0x37')]['sort']);_0x35430c[_0xc230('0x42')]=qs[_0xc230('0x39')](_[_0xc230('0x43')](_0x1af7e7[_0xc230('0x37')],_0x41cdb1[_0xc230('0x39')]));_0x35430c[_0xc230('0x42')]=_['merge'](_0x35430c[_0xc230('0x42')],{'$or':[{'ListId':_0x577957['id']},{'ListId':null}]});if(_0x1af7e7[_0xc230('0x37')][_0xc230('0x44')]){_0x35430c[_0xc230('0x42')]=_[_0xc230('0x45')](_0x35430c[_0xc230('0x42')],{'$or':_['map'](_0x35430c[_0xc230('0x3c')],function(_0x998c1e){var _0x192de1={};_0x192de1[_0x998c1e]={'$like':'%'+_0x1af7e7[_0xc230('0x37')]['filter']+'%'};return _0x192de1;})});}_0x35430c=_[_0xc230('0x45')]({},_0x35430c,_0x1af7e7['options']);return db[_0xc230('0x6f')]['findAndCountAll'](_0x35430c);}})[_0xc230('0x2a')](respondWithResult(_0x2e2920,null))[_0xc230('0x58')](handleError(_0x2e2920,null));};exports[_0xc230('0x9f')]=function(_0x38a753,_0x428ff3){return db[_0xc230('0x6f')][_0xc230('0xa0')]({'where':{'ListId':null}})[_0xc230('0x2a')](handleEntityNotFound(_0x428ff3,null))['then'](function(_0x560557){return _0x560557;})[_0xc230('0x2a')](respondWithResult(_0x428ff3,null))[_0xc230('0x58')](handleError(_0x428ff3,null));};exports[_0xc230('0xa1')]=function(_0x3913a2,_0x3c1d22,_0x190f29){return db[_0xc230('0x46')][_0xc230('0x53')]({'where':{'id':_0x3913a2['params']['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x3c1d22,null))['then'](function(_0x584994){if(_0x584994){return _0x584994['addAgents'](_0x3913a2['body'][_0xc230('0x62')],_['omit'](_0x3913a2[_0xc230('0x4d')],[_0xc230('0x62'),'id'])||{})[_0xc230('0xa2')](function(_0x2e8585){for(var _0x111343=0x0;_0x111343<_0x3913a2['body'][_0xc230('0x62')][_0xc230('0x3e')];_0x111343+=0x1){socket[_0xc230('0xa3')](_0xc230('0xa4'),{'UserId':Number(_0x3913a2['body'][_0xc230('0x62')][_0x111343]),'CmListId':Number(_0x3913a2['params']['id'])});}return _0x2e8585;});}})[_0xc230('0x2a')](respondWithResult(_0x3c1d22,null))[_0xc230('0x58')](handleError(_0x3c1d22,null));};exports[_0xc230('0xa5')]=function(_0x5b88fc,_0x54a4c6,_0x5e54e1){return db[_0xc230('0x46')]['find']({'where':{'id':_0x5b88fc[_0xc230('0x4a')]['id']}})[_0xc230('0x2a')](handleEntityNotFound(_0x54a4c6,null))[_0xc230('0x2a')](function(_0x36127f){if(_0x36127f){return _0x36127f['removeAgents'](_0x5b88fc[_0xc230('0x37')]['ids'])[_0xc230('0x2a')](function(){if(_[_0xc230('0x67')](_0x5b88fc[_0xc230('0x37')][_0xc230('0x62')])){for(var _0x444f5c=0x0;_0x444f5c<_0x5b88fc['query']['ids']['length'];_0x444f5c+=0x1){socket[_0xc230('0xa3')](_0xc230('0xa6'),{'UserId':Number(_0x5b88fc[_0xc230('0x37')][_0xc230('0x62')][_0x444f5c]),'CmListId':Number(_0x5b88fc[_0xc230('0x4a')]['id'])});}}else{socket[_0xc230('0xa3')](_0xc230('0xa6'),{'UserId':Number(_0x5b88fc[_0xc230('0x37')][_0xc230('0x62')]),'CmListId':Number(_0x5b88fc[_0xc230('0x4a')]['id'])});}});}})[_0xc230('0x2a')](respondWithStatusCode(_0x54a4c6,null))[_0xc230('0x58')](handleError(_0x54a4c6,null));};exports[_0xc230('0xa7')]=function(_0x168d90,_0x156e01,_0x4f8d18){var _0x1446eb={};var _0x189288={};var _0x3785e9;var _0x6405b0;return db['CmList']['findOne']({'where':{'id':_0x168d90[_0xc230('0x4a')]['id']}})['then'](handleEntityNotFound(_0x156e01,null))['then'](function(_0xc4b1dd){if(_0xc4b1dd){_0x3785e9=_0xc4b1dd;_0x189288[_0xc230('0x3b')]=_[_0xc230('0x38')](db[_0xc230('0xa8')]['rawAttributes']);_0x189288[_0xc230('0x37')]=_[_0xc230('0x38')](_0x168d90[_0xc230('0x37')]);_0x189288[_0xc230('0x39')]=_['intersection'](_0x189288[_0xc230('0x3b')],_0x189288[_0xc230('0x37')]);_0x1446eb[_0xc230('0x3c')]=_['intersection'](_0x189288[_0xc230('0x3b')],qs[_0xc230('0x3d')](_0x168d90[_0xc230('0x37')][_0xc230('0x3d')]));_0x1446eb[_0xc230('0x3c')]=_0x1446eb[_0xc230('0x3c')]['length']?_0x1446eb[_0xc230('0x3c')]:_0x189288[_0xc230('0x3b')];_0x1446eb[_0xc230('0x40')]=qs[_0xc230('0x41')](_0x168d90[_0xc230('0x37')]['sort']);_0x1446eb[_0xc230('0x42')]=qs['filters'](_[_0xc230('0x43')](_0x168d90['query'],_0x189288[_0xc230('0x39')]));if(_0x168d90[_0xc230('0x37')][_0xc230('0x44')]){_0x1446eb[_0xc230('0x42')]=_[_0xc230('0x45')](_0x1446eb[_0xc230('0x42')],{'$or':_['map'](_0x1446eb['attributes'],function(_0x38825f){var _0x20148e={};_0x20148e[_0x38825f]={'$like':'%'+_0x168d90[_0xc230('0x37')]['filter']+'%'};return _0x20148e;})});}_0x1446eb=_[_0xc230('0x45')]({},_0x1446eb,_0x168d90[_0xc230('0x4b')]);return _0x3785e9['getAgents'](_0x1446eb);}})[_0xc230('0x2a')](function(_0x3839b3){if(_0x3839b3){_0x6405b0=_0x3839b3[_0xc230('0x3e')];if(!_0x168d90[_0xc230('0x37')]['hasOwnProperty'](_0xc230('0x5d'))){_0x1446eb['limit']=qs['limit'](_0x168d90[_0xc230('0x37')]['limit']);_0x1446eb[_0xc230('0x24')]=qs[_0xc230('0x24')](_0x168d90[_0xc230('0x37')]['offset']);}return _0x3785e9[_0xc230('0xa7')](_0x1446eb);}})['then'](function(_0xd5551f){if(_0xd5551f){return _0xd5551f?{'count':_0x6405b0,'rows':_0xd5551f}:null;}})[_0xc230('0x2a')](respondWithResult(_0x156e01,null))[_0xc230('0x58')](handleError(_0x156e01,null));};function handleQuery(_0x3a7705){logger[_0xc230('0xa9')](_0x3a7705);return db[_0xc230('0xaa')]['query'](_0x3a7705)[_0xc230('0xa2')](function(_0x50256c){csv_results[_0xc230('0x68')](_0x50256c);})[_0xc230('0x58')](function(_0x40a77){logger[_0xc230('0x56')](_0x40a77['message']);});}