Built motion from commit 3c2ce842.|2.6.31
[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 _0x853f=['UserProfileResource','end','error','stack','name','index','map','CmList','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','where','pick','filter','merge','VIRTUAL','includeAll','include','catch','show','params','rawAttributes','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','Disposition','getDispositions','findOne','keys','hasOwnProperty','sort','ListId','options','removeDispositions','ids','addContacts','CmContact','describe','tags','isArray','join','push','each','omit','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','concat','CustomFields','format','getContactsCsv','ContactItemType','findAll','alias','cm_contacts','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','field','c.cf_','customField_','select','item','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','cm_contact_has_items','description_additionalPhone_','toString','writeFileSync','/tmp/list_%d_%s.csv','Content-disposition','list_%d_%s.csv','setHeader','Content-type','text/csv','addCustomField','sequelize','transaction','TEXT','text','Sequelize','number','INTEGER','switch','BOOLEAN','queryInterface','addColumn','cf_%s','getCustomFields','findAndCountAll','getGlobalCustomFields','addAgents','spread','userCmList:save','removeAgents','emit','getAgents','info','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./cmList.socket','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','save','update','then','destroy','get','Lists'];(function(_0x4e77c6,_0x4c359c){var _0x3e326c=function(_0x50e425){while(--_0x50e425){_0x4e77c6['push'](_0x4e77c6['shift']());}};_0x3e326c(++_0x4c359c);}(_0x853f,0x1b6));var _0xf853=function(_0x1f182f,_0x3a461b){_0x1f182f=_0x1f182f-0x0;var _0x1671dd=_0x853f[_0x1f182f];return _0x1671dd;};'use strict';var emlformat=require(_0xf853('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xf853('0x1'));var moment=require(_0xf853('0x2'));var BPromise=require(_0xf853('0x3'));var Mustache=require(_0xf853('0x4'));var util=require(_0xf853('0x5'));var path=require(_0xf853('0x6'));var sox=require(_0xf853('0x7'));var csv=require(_0xf853('0x8'));var ejs=require(_0xf853('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf853('0xa'));var squel=require(_0xf853('0xb'));var crypto=require(_0xf853('0xc'));var jsforce=require(_0xf853('0xd'));var deskjs=require(_0xf853('0xe'));var toCsv=require(_0xf853('0x8'));var querystring=require('querystring');var Papa=require(_0xf853('0xf'));var Redis=require(_0xf853('0x10'));var authService=require(_0xf853('0x11'));var qs=require(_0xf853('0x12'));var as=require(_0xf853('0x13'));var hardwareService=require(_0xf853('0x14'));var logger=require(_0xf853('0x15'))('api');var utils=require(_0xf853('0x16'));var config=require(_0xf853('0x17'));var licenseUtil=require(_0xf853('0x18'));var db=require('../../mysqldb')['db'];var csv_results;config[_0xf853('0x19')]=_[_0xf853('0x1a')](config[_0xf853('0x19')],{'host':_0xf853('0x1b'),'port':0x18eb});var socket=require(_0xf853('0x1c'))(new Redis(config[_0xf853('0x19')]));require(_0xf853('0x1d'))['register'](socket);function respondWithStatusCode(_0x177e5b,_0x42a27a){_0x42a27a=_0x42a27a||0xcc;return function(_0xa686e9){if(_0xa686e9){return _0x177e5b[_0xf853('0x1e')](_0x42a27a);}return _0x177e5b[_0xf853('0x1f')](_0x42a27a)['end']();};}function respondWithResult(_0x5a92fa,_0x48f88f){_0x48f88f=_0x48f88f||0xc8;return function(_0x496dc2){if(_0x496dc2){return _0x5a92fa[_0xf853('0x1f')](_0x48f88f)[_0xf853('0x20')](_0x496dc2);}};}function respondWithFilteredResult(_0x31c224,_0x57d8eb){return function(_0x34997c){if(_0x34997c){var _0x4d51ba=typeof _0x57d8eb[_0xf853('0x21')]===_0xf853('0x22')&&typeof _0x57d8eb[_0xf853('0x23')]===_0xf853('0x22');var _0x1d2ade=_0x34997c[_0xf853('0x24')];var _0x2d28c2=_0x4d51ba?0x0:_0x57d8eb[_0xf853('0x21')];var _0x2343ef=_0x4d51ba?_0x34997c[_0xf853('0x24')]:_0x57d8eb[_0xf853('0x21')]+_0x57d8eb[_0xf853('0x23')];var _0x217428;if(_0x2343ef>=_0x1d2ade){_0x2343ef=_0x1d2ade;_0x217428=0xc8;}else{_0x217428=0xce;}_0x31c224[_0xf853('0x1f')](_0x217428);return _0x31c224[_0xf853('0x25')](_0xf853('0x26'),_0x2d28c2+'-'+_0x2343ef+'/'+_0x1d2ade)['json'](_0x34997c);}return null;};}function patchUpdates(_0x30c73d){return function(_0x519539){try{jsonpatch['apply'](_0x519539,_0x30c73d,!![]);}catch(_0x3c7313){return BPromise['reject'](_0x3c7313);}return _0x519539[_0xf853('0x27')]();};}function saveUpdates(_0x4049c7,_0x3f404f){return function(_0x2bd230){if(_0x2bd230){return _0x2bd230[_0xf853('0x28')](_0x4049c7)[_0xf853('0x29')](function(_0x1d9c17){return _0x1d9c17;});}return null;};}function removeEntity(_0x4329e8,_0xa89ae){return function(_0x419cdc){if(_0x419cdc){return _0x419cdc[_0xf853('0x2a')]()[_0xf853('0x29')](function(){var _0xe74191=_0x419cdc[_0xf853('0x2b')]({'plain':!![]});var _0x558726=_0xf853('0x2c');return db[_0xf853('0x2d')][_0xf853('0x2a')]({'where':{'type':_0x558726,'resourceId':_0xe74191['id']}})[_0xf853('0x29')](function(){return _0x419cdc;});})['then'](function(){_0x4329e8[_0xf853('0x1f')](0xcc)[_0xf853('0x2e')]();});}};}function handleEntityNotFound(_0xa13d62,_0x30ce2e){return function(_0x27e257){if(!_0x27e257){_0xa13d62['sendStatus'](0x194);}return _0x27e257;};}function handleError(_0xc22042,_0x385df7){_0x385df7=_0x385df7||0x1f4;return function(_0x544526){logger[_0xf853('0x2f')](_0x544526[_0xf853('0x30')]);if(_0x544526[_0xf853('0x31')]){delete _0x544526['name'];}_0xc22042[_0xf853('0x1f')](_0x385df7)['send'](_0x544526);};}exports[_0xf853('0x32')]=function(_0x39ccaa,_0x4e3994){var _0x4f7310={},_0x2b4ca5={},_0xf38f14={'count':0x0,'rows':[]};var _0x48b5f4=_[_0xf853('0x33')](db[_0xf853('0x34')]['rawAttributes'],function(_0x56428e){return{'name':_0x56428e['fieldName'],'type':_0x56428e[_0xf853('0x35')][_0xf853('0x36')]};});_0x2b4ca5[_0xf853('0x37')]=_[_0xf853('0x33')](_0x48b5f4,'name');_0x2b4ca5[_0xf853('0x38')]=_['keys'](_0x39ccaa[_0xf853('0x38')]);_0x2b4ca5[_0xf853('0x39')]=_[_0xf853('0x3a')](_0x2b4ca5[_0xf853('0x37')],_0x2b4ca5[_0xf853('0x38')]);_0x4f7310[_0xf853('0x3b')]=_[_0xf853('0x3a')](_0x2b4ca5[_0xf853('0x37')],qs[_0xf853('0x3c')](_0x39ccaa[_0xf853('0x38')][_0xf853('0x3c')]));_0x4f7310['attributes']=_0x4f7310[_0xf853('0x3b')][_0xf853('0x3d')]?_0x4f7310[_0xf853('0x3b')]:_0x2b4ca5[_0xf853('0x37')];if(!_0x39ccaa['query']['hasOwnProperty'](_0xf853('0x3e'))){_0x4f7310[_0xf853('0x23')]=qs[_0xf853('0x23')](_0x39ccaa[_0xf853('0x38')][_0xf853('0x23')]);_0x4f7310[_0xf853('0x21')]=qs[_0xf853('0x21')](_0x39ccaa['query'][_0xf853('0x21')]);}_0x4f7310[_0xf853('0x3f')]=qs['sort'](_0x39ccaa[_0xf853('0x38')]['sort']);_0x4f7310[_0xf853('0x40')]=qs[_0xf853('0x39')](_[_0xf853('0x41')](_0x39ccaa['query'],_0x2b4ca5[_0xf853('0x39')]),_0x48b5f4);if(_0x39ccaa['query'][_0xf853('0x42')]){_0x4f7310[_0xf853('0x40')]=_[_0xf853('0x43')](_0x4f7310[_0xf853('0x40')],{'$or':_[_0xf853('0x33')](_0x48b5f4,function(_0x365354){if(_0x365354[_0xf853('0x35')]!==_0xf853('0x44')){var _0x4dd437={};_0x4dd437[_0x365354[_0xf853('0x31')]]={'$like':'%'+_0x39ccaa['query'][_0xf853('0x42')]+'%'};return _0x4dd437;}})});}_0x4f7310=_[_0xf853('0x43')]({},_0x4f7310,_0x39ccaa['options']);var _0x50e666={'where':_0x4f7310[_0xf853('0x40')]};return db[_0xf853('0x34')]['count'](_0x50e666)['then'](function(_0x4cc099){_0xf38f14[_0xf853('0x24')]=_0x4cc099;if(_0x39ccaa[_0xf853('0x38')][_0xf853('0x45')]){_0x4f7310[_0xf853('0x46')]=[{'all':!![]}];}return db[_0xf853('0x34')]['findAll'](_0x4f7310);})[_0xf853('0x29')](function(_0x31dd66){_0xf38f14['rows']=_0x31dd66;return _0xf38f14;})[_0xf853('0x29')](respondWithFilteredResult(_0x4e3994,_0x4f7310))[_0xf853('0x47')](handleError(_0x4e3994,null));};exports[_0xf853('0x48')]=function(_0x29d2af,_0xa9d063){var _0x530540={'raw':![],'where':{'id':_0x29d2af[_0xf853('0x49')]['id']}},_0xdca133={};_0xdca133[_0xf853('0x37')]=_['keys'](db[_0xf853('0x34')][_0xf853('0x4a')]);_0xdca133[_0xf853('0x38')]=_['keys'](_0x29d2af[_0xf853('0x38')]);_0xdca133['filters']=_[_0xf853('0x3a')](_0xdca133[_0xf853('0x37')],_0xdca133[_0xf853('0x38')]);_0x530540['attributes']=_['intersection'](_0xdca133[_0xf853('0x37')],qs[_0xf853('0x3c')](_0x29d2af['query'][_0xf853('0x3c')]));_0x530540[_0xf853('0x3b')]=_0x530540['attributes'][_0xf853('0x3d')]?_0x530540[_0xf853('0x3b')]:_0xdca133[_0xf853('0x37')];if(_0x29d2af[_0xf853('0x38')][_0xf853('0x45')]){_0x530540[_0xf853('0x46')]=[{'all':!![]}];}_0x530540=_[_0xf853('0x43')]({},_0x530540,_0x29d2af['options']);return db['CmList'][_0xf853('0x4b')](_0x530540)[_0xf853('0x29')](handleEntityNotFound(_0xa9d063,null))[_0xf853('0x29')](respondWithResult(_0xa9d063,null))[_0xf853('0x47')](handleError(_0xa9d063,null));};exports[_0xf853('0x4c')]=function(_0x4867f3,_0x1ea6ee){return db[_0xf853('0x34')]['create'](_0x4867f3['body'],{})[_0xf853('0x29')](function(_0x43dc69){var _0x4ab28a=_0x4867f3[_0xf853('0x4d')]['get']({'plain':!![]});if(!_0x4ab28a)throw new Error(_0xf853('0x4e'));if(_0x4ab28a[_0xf853('0x4f')]===_0xf853('0x4d')){var _0x10e4c0=_0x43dc69['get']({'plain':!![]});var _0x1eae0b=_0xf853('0x2c');return db[_0xf853('0x50')][_0xf853('0x4b')]({'where':{'name':_0x1eae0b,'userProfileId':_0x4ab28a[_0xf853('0x51')]},'raw':!![]})[_0xf853('0x29')](function(_0x143703){if(_0x143703&&_0x143703['autoAssociation']===0x0){return db[_0xf853('0x2d')]['create']({'name':_0x10e4c0[_0xf853('0x31')],'resourceId':_0x10e4c0['id'],'type':_0x143703['name'],'sectionId':_0x143703['id']},{})[_0xf853('0x29')](function(){return _0x43dc69;});}else{return _0x43dc69;}})[_0xf853('0x47')](function(_0x216955){logger[_0xf853('0x2f')](_0xf853('0x52'),_0x216955);throw _0x216955;});}return _0x43dc69;})['then'](respondWithResult(_0x1ea6ee,0xc9))[_0xf853('0x47')](handleError(_0x1ea6ee,null));};exports[_0xf853('0x28')]=function(_0x353df0,_0x1334eb){if(_0x353df0['body']['id']){delete _0x353df0[_0xf853('0x53')]['id'];}return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x353df0['params']['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x1334eb,null))[_0xf853('0x29')](saveUpdates(_0x353df0[_0xf853('0x53')],null))[_0xf853('0x29')](respondWithResult(_0x1334eb,null))[_0xf853('0x47')](handleError(_0x1334eb,null));};exports['destroy']=function(_0x256884,_0x14539a){return db['CmList'][_0xf853('0x4b')]({'where':{'id':_0x256884[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x14539a,null))[_0xf853('0x29')](removeEntity(_0x14539a,null))['catch'](handleError(_0x14539a,null));};exports['describe']=function(_0x286e1d,_0x623fa){return db['CmList']['describe']()[_0xf853('0x29')](respondWithResult(_0x623fa,null))[_0xf853('0x47')](handleError(_0x623fa,null));};exports['addDisposition']=function(_0x411014,_0x488504,_0x4f0d87){if(_0x411014[_0xf853('0x53')]['id']){delete _0x411014[_0xf853('0x53')]['id'];}return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x411014['params']['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x488504,null))[_0xf853('0x29')](function(_0x21c92e){if(_0x21c92e){_0x411014[_0xf853('0x53')]['ListId']=_0x21c92e['id'];return db[_0xf853('0x54')][_0xf853('0x4c')](_0x411014[_0xf853('0x53')]);}})[_0xf853('0x29')](respondWithResult(_0x488504,null))[_0xf853('0x47')](handleError(_0x488504,null));};exports[_0xf853('0x55')]=function(_0x126853,_0xe9578b,_0x48fa7f){var _0x261b3b={'raw':![],'where':{}};var _0x748f9e={};var _0xbac05a={'count':0x0,'rows':[]};return db['CmList'][_0xf853('0x56')]({'where':{'id':_0x126853[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0xe9578b,null))[_0xf853('0x29')](function(_0x5e05eb){if(_0x5e05eb){_0x748f9e['model']=_[_0xf853('0x57')](db[_0xf853('0x54')][_0xf853('0x4a')]);_0x748f9e[_0xf853('0x38')]=_[_0xf853('0x57')](_0x126853[_0xf853('0x38')]);_0x748f9e['filters']=_[_0xf853('0x3a')](_0x748f9e[_0xf853('0x37')],_0x748f9e[_0xf853('0x38')]);_0x261b3b[_0xf853('0x3b')]=_[_0xf853('0x3a')](_0x748f9e[_0xf853('0x37')],qs[_0xf853('0x3c')](_0x126853[_0xf853('0x38')][_0xf853('0x3c')]));_0x261b3b[_0xf853('0x3b')]=_0x261b3b[_0xf853('0x3b')][_0xf853('0x3d')]?_0x261b3b[_0xf853('0x3b')]:_0x748f9e['model'];if(!_0x126853[_0xf853('0x38')][_0xf853('0x58')]('nolimit')){_0x261b3b[_0xf853('0x23')]=qs[_0xf853('0x23')](_0x126853[_0xf853('0x38')][_0xf853('0x23')]);_0x261b3b[_0xf853('0x21')]=qs[_0xf853('0x21')](_0x126853['query'][_0xf853('0x21')]);}_0x261b3b[_0xf853('0x3f')]=qs[_0xf853('0x59')](_0x126853[_0xf853('0x38')]['sort']);_0x261b3b[_0xf853('0x40')]=qs[_0xf853('0x39')](_['pick'](_0x126853[_0xf853('0x38')],_0x748f9e[_0xf853('0x39')]));_0x261b3b[_0xf853('0x40')][_0xf853('0x5a')]=_0x5e05eb['id'];if(_0x126853['query'][_0xf853('0x42')]){_0x261b3b['where']=_[_0xf853('0x43')](_0x261b3b['where'],{'$or':_[_0xf853('0x33')](_0x261b3b[_0xf853('0x3b')],function(_0x4f5f11){var _0x492d6e={};_0x492d6e[_0x4f5f11]={'$like':'%'+_0x126853[_0xf853('0x38')]['filter']+'%'};return _0x492d6e;})});}_0x261b3b=_[_0xf853('0x43')]({},_0x261b3b,_0x126853[_0xf853('0x5b')]);return db[_0xf853('0x54')][_0xf853('0x24')]({'where':_0x261b3b[_0xf853('0x40')]})[_0xf853('0x29')](function(_0x4e4424){_0xbac05a[_0xf853('0x24')]=_0x4e4424;if(_0x126853[_0xf853('0x38')][_0xf853('0x45')]){_0x261b3b[_0xf853('0x46')]=[{'all':!![]}];}return db[_0xf853('0x54')]['findAll'](_0x261b3b);})[_0xf853('0x29')](function(_0x5388ff){_0xbac05a['rows']=_0x5388ff;return _0xbac05a;});}})[_0xf853('0x29')](respondWithFilteredResult(_0xe9578b,_0x261b3b))[_0xf853('0x47')](handleError(_0xe9578b,null));};exports[_0xf853('0x5c')]=function(_0x981ebc,_0x42c16c,_0x1ee1f5){return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x981ebc[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x42c16c,null))[_0xf853('0x29')](function(_0x3cd3bd){if(_0x3cd3bd){return _0x3cd3bd[_0xf853('0x5c')](_0x981ebc[_0xf853('0x38')][_0xf853('0x5d')]);}})[_0xf853('0x29')](respondWithStatusCode(_0x42c16c,null))[_0xf853('0x47')](handleError(_0x42c16c,null));};exports[_0xf853('0x5e')]=function(_0x590d2c,_0x163f83,_0x1a01c3){return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x590d2c['params']['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x163f83,null))['then'](function(_0x5419f9){if(_0x5419f9){var _0x2bb4a0=[];var _0x4c17b8={'success':[],'errors':[]};return db[_0xf853('0x5f')][_0xf853('0x60')]()['then'](function(_0x4141ec){if(_0x590d2c[_0xf853('0x53')][_0xf853('0x61')]&&_[_0xf853('0x62')](_0x590d2c['body'][_0xf853('0x61')])){if(_0x590d2c['body'][_0xf853('0x61')][_0xf853('0x3d')]){_0x590d2c[_0xf853('0x53')]['tags']=_0x590d2c[_0xf853('0x53')][_0xf853('0x61')][_0xf853('0x63')](';')+';';}else{_0x590d2c[_0xf853('0x53')][_0xf853('0x61')]=null;}}else{_0x590d2c['body']['tags']=null;}if(_0x590d2c[_0xf853('0x53')]&&_[_0xf853('0x62')](_0x590d2c[_0xf853('0x53')])){for(var _0x122308=0x0;_0x122308<_0x590d2c[_0xf853('0x53')][_0xf853('0x3d')];_0x122308+=0x1){_0x590d2c[_0xf853('0x53')][_0x122308]['ListId']=_0x590d2c['params']['id'];_0x2bb4a0[_0xf853('0x64')](_0x590d2c[_0xf853('0x53')][_0x122308]);}return BPromise[_0xf853('0x65')](_0x2bb4a0,function(_0x45bd76){return db[_0xf853('0x5f')]['create'](_[_0xf853('0x66')](_0x45bd76,['ids','id'])||{},{'fields':_[_0xf853('0x57')](_0x4141ec),'raw':!![]})[_0xf853('0x29')](function(_0x13836e){_0x4c17b8['success'][_0xf853('0x64')](_0x13836e[_0xf853('0x67')]);})[_0xf853('0x47')](function(_0x43bf91){_0x4c17b8[_0xf853('0x68')]['push']({'data':_0x45bd76,'error':_0x43bf91[_0xf853('0x69')]});});})[_0xf853('0x29')](function(_0x26464c){return _0x4c17b8;})[_0xf853('0x47')](function(_0x5ace75){return _0x5ace75;});}else{_0x163f83[_0xf853('0x1f')](0x190)[_0xf853('0x20')]({'message':_0xf853('0x6a')});}});}})[_0xf853('0x29')](respondWithResult(_0x163f83,null))[_0xf853('0x47')](handleError(_0x163f83,null));};exports[_0xf853('0x6b')]=function(_0x499a75,_0x40ef39,_0x278a12){var _0x2d772b;return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x499a75[_0xf853('0x49')]['id']},'include':[{'model':db[_0xf853('0x6c')],'as':'CustomFields'}]})[_0xf853('0x29')](handleEntityNotFound(_0x40ef39,null))['then'](function(_0x5df7e4){if(_0x5df7e4){_0x2d772b=_0x5df7e4;return db[_0xf853('0x5f')]['rawAttributes'];}})[_0xf853('0x29')](function(_0x5a3025){if(_0x5a3025){var _0x54889b={};var _0x482b84={};_0x482b84[_0xf853('0x37')]=_[_0xf853('0x6d')](_[_0xf853('0x57')](_0x5a3025),_[_0xf853('0x33')](_0x2d772b[_0xf853('0x6e')],function(_0x4a393e){return util[_0xf853('0x6f')]('cf_%d',_0x4a393e['id']);}));_0x482b84[_0xf853('0x38')]=_['keys'](_0x499a75['query']);_0x482b84[_0xf853('0x39')]=_['intersection'](_0x482b84['model'],_0x482b84[_0xf853('0x38')]);_0x54889b[_0xf853('0x3b')]=_['intersection'](_0x482b84['model'],qs[_0xf853('0x3c')](_0x499a75['query'][_0xf853('0x3c')]));_0x54889b[_0xf853('0x3b')]=_0x54889b[_0xf853('0x3b')][_0xf853('0x3d')]?_0x54889b[_0xf853('0x3b')]:_0x482b84['model'];if(!_0x499a75['query'][_0xf853('0x58')](_0xf853('0x3e'))){_0x54889b[_0xf853('0x23')]=qs[_0xf853('0x23')](_0x499a75[_0xf853('0x38')][_0xf853('0x23')]);_0x54889b[_0xf853('0x21')]=qs[_0xf853('0x21')](_0x499a75[_0xf853('0x38')][_0xf853('0x21')]);}_0x54889b[_0xf853('0x3f')]=qs[_0xf853('0x59')](_0x499a75[_0xf853('0x38')][_0xf853('0x59')]);_0x54889b[_0xf853('0x40')]=qs[_0xf853('0x39')](_['pick'](_0x499a75[_0xf853('0x38')],_0x482b84[_0xf853('0x39')]));_0x54889b['raw']=!![];if(_0x499a75[_0xf853('0x38')]['filter']){_0x54889b[_0xf853('0x40')]=_[_0xf853('0x43')](_0x54889b[_0xf853('0x40')],{'$or':_[_0xf853('0x33')](_0x54889b['attributes'],function(_0x25c003){var _0x9d6335={};_0x9d6335[_0x25c003]={'$like':'%'+_0x499a75[_0xf853('0x38')][_0xf853('0x42')]+'%'};return _0x9d6335;})});}_0x54889b=_[_0xf853('0x43')]({},_0x54889b,_0x499a75[_0xf853('0x5b')]);return _0x2d772b['getContacts'](_0x54889b);}})[_0xf853('0x29')](respondWithResult(_0x40ef39,null))[_0xf853('0x47')](handleError(_0x40ef39,null));};exports[_0xf853('0x70')]=function(_0x4e2d18,_0x41b05a,_0x25d395){var _0x9c3060;var _0x35b8c6;var _0x2c78e0;var _0x10dec4=_0x4e2d18[_0xf853('0x49')]['id'];csv_results=[];return db[_0xf853('0x71')]['findAll']({'attributes':['id',_0xf853('0x31')],'raw':!![],'order':['OrderBy']})[_0xf853('0x29')](function(_0x1c7c56){_0x9c3060=_0x1c7c56;var _0x3989fb=_[_0xf853('0x57')](db[_0xf853('0x5f')][_0xf853('0x4a')]);return db[_0xf853('0x6c')][_0xf853('0x72')]({'raw':!![],'attributes':['id',_0xf853('0x73')]})[_0xf853('0x29')](function(_0x4c0f96){_0x35b8c6=_0x4c0f96;var _0x2f689e=squel['select']()[_0xf853('0x3c')](_0x3989fb)['from'](_0xf853('0x74'),'c')[_0xf853('0x40')](_0xf853('0x75'),_0x10dec4)[_0xf853('0x40')](_0xf853('0x76'))[_0xf853('0x77')]();for(var _0x5ac24d=0x0;_0x5ac24d<_0x35b8c6[_0xf853('0x3d')];_0x5ac24d++){_0x2f689e[_0xf853('0x78')](_0xf853('0x79')+_0x35b8c6[_0x5ac24d]['id'],_0xf853('0x7a')+_0x35b8c6[_0x5ac24d][_0xf853('0x73')]);}for(var _0x5ac24d=0x0;_0x5ac24d<_0x9c3060[_0xf853('0x3d')];_0x5ac24d++){_0x2f689e['field'](squel[_0xf853('0x7b')]()[_0xf853('0x78')](_0xf853('0x7c'))['from']('cm_contact_has_items')[_0xf853('0x40')](_0xf853('0x7d'),_0x9c3060[_0x5ac24d]['id'])[_0xf853('0x40')](_0xf853('0x7e')),_0xf853('0x7f')+_0x9c3060[_0x5ac24d][_0xf853('0x31')]);_0x2f689e[_0xf853('0x78')](squel[_0xf853('0x7b')]()[_0xf853('0x78')]('description')['from'](_0xf853('0x80'))[_0xf853('0x40')](_0xf853('0x7d'),_0x9c3060[_0x5ac24d]['id'])[_0xf853('0x40')]('CmContactId\x20=\x20c.id'),_0xf853('0x81')+_0x9c3060[_0x5ac24d][_0xf853('0x31')]);}var _0x3136c6=[];_0x3136c6[_0xf853('0x64')](_0x2f689e[_0xf853('0x82')]());BPromise['each'](_0x3136c6,handleQuery)[_0xf853('0x29')](function(_0x1be978){handleQuery(_0x2f689e[_0xf853('0x82')]());var _0x20d72b=csv_results[0x0];if(!_['isEmpty'](_0x20d72b)){var _0x262a16=toCsv(_0x20d72b);var _0x6320e7=Date['now']();fs[_0xf853('0x83')](util[_0xf853('0x6f')](_0xf853('0x84'),_0x10dec4,_0x6320e7),_0x262a16);_0x41b05a['setHeader'](_0xf853('0x85'),'attachment;\x20filename='+util[_0xf853('0x6f')](_0xf853('0x86'),_0x10dec4,_0x6320e7));_0x41b05a[_0xf853('0x87')](_0xf853('0x88'),_0xf853('0x89'));return _0x41b05a['download'](util[_0xf853('0x6f')]('/tmp/list_%d_%s.csv',_0x10dec4,_0x6320e7));}else{return _0x41b05a[_0xf853('0x1e')](0xcc);}});});});};exports[_0xf853('0x8a')]=function(_0x49612e,_0x5b763e,_0x1d060c){var _0xdae17a;delete _0x49612e[_0xf853('0x53')]['id'];return db[_0xf853('0x34')]['findOne']({'where':{'id':_0x49612e[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x5b763e,null))[_0xf853('0x29')](function(_0x869646){if(_0x869646){return db[_0xf853('0x8b')][_0xf853('0x8c')](function(_0x1b6b17){return db['CmCustomField'][_0xf853('0x4c')](_0x49612e[_0xf853('0x53')],{'transaction':_0x1b6b17})[_0xf853('0x29')](function(_0x4e7c2f){_0xdae17a=_0x4e7c2f;return _0x869646['addCustomFields'](_0x4e7c2f,{'transaction':_0x1b6b17});})[_0xf853('0x29')](function(){var _0x5eb886={'type':db['Sequelize'][_0xf853('0x8d')],'transaction':_0x1b6b17};switch(_0x49612e[_0xf853('0x53')][_0xf853('0x35')]){case _0xf853('0x8e'):_0x5eb886[_0xf853('0x35')]=db[_0xf853('0x8f')][_0xf853('0x8d')];break;case _0xf853('0x90'):_0x5eb886[_0xf853('0x35')]=db[_0xf853('0x8f')][_0xf853('0x91')];break;case _0xf853('0x92'):_0x5eb886[_0xf853('0x35')]=db[_0xf853('0x8f')][_0xf853('0x93')];_0x5eb886['defaultValue']=![];break;default:}return db[_0xf853('0x8b')][_0xf853('0x94')][_0xf853('0x95')](_0xf853('0x74'),util[_0xf853('0x6f')](_0xf853('0x96'),_0xdae17a['id']),_0x5eb886);})[_0xf853('0x29')](function(){return _0xdae17a;});});}})['then'](respondWithResult(_0x5b763e,null))[_0xf853('0x47')](handleError(_0x5b763e,null));};exports[_0xf853('0x97')]=function(_0x286405,_0xc214a8,_0x570cb1){var _0x485ef7={};var _0x5cea22={};var _0x43acbc;var _0x3de3af;return db[_0xf853('0x34')][_0xf853('0x56')]({'where':{'id':_0x286405[_0xf853('0x49')]['id']}})['then'](handleEntityNotFound(_0xc214a8,null))['then'](function(_0x5db012){if(_0x5db012){_0x43acbc=_0x5db012;_0x5cea22[_0xf853('0x37')]=_['keys'](db['CmCustomField'][_0xf853('0x4a')]);_0x5cea22[_0xf853('0x38')]=_[_0xf853('0x57')](_0x286405['query']);_0x5cea22[_0xf853('0x39')]=_[_0xf853('0x3a')](_0x5cea22[_0xf853('0x37')],_0x5cea22['query']);_0x485ef7[_0xf853('0x3b')]=_[_0xf853('0x3a')](_0x5cea22[_0xf853('0x37')],qs[_0xf853('0x3c')](_0x286405[_0xf853('0x38')][_0xf853('0x3c')]));_0x485ef7[_0xf853('0x3b')]=_0x485ef7[_0xf853('0x3b')]['length']?_0x485ef7['attributes']:_0x5cea22[_0xf853('0x37')];_0x485ef7[_0xf853('0x3f')]=qs[_0xf853('0x59')](_0x286405[_0xf853('0x38')][_0xf853('0x59')]);_0x485ef7[_0xf853('0x40')]=qs['filters'](_[_0xf853('0x41')](_0x286405[_0xf853('0x38')],_0x5cea22['filters']));_0x485ef7[_0xf853('0x40')]=_[_0xf853('0x43')](_0x485ef7['where'],{'$or':[{'ListId':_0x5db012['id']},{'ListId':null}]});if(_0x286405[_0xf853('0x38')][_0xf853('0x42')]){_0x485ef7[_0xf853('0x40')]=_['merge'](_0x485ef7[_0xf853('0x40')],{'$or':_[_0xf853('0x33')](_0x485ef7[_0xf853('0x3b')],function(_0x212c00){var _0x4a65dc={};_0x4a65dc[_0x212c00]={'$like':'%'+_0x286405[_0xf853('0x38')][_0xf853('0x42')]+'%'};return _0x4a65dc;})});}_0x485ef7=_[_0xf853('0x43')]({},_0x485ef7,_0x286405['options']);return db[_0xf853('0x6c')][_0xf853('0x98')](_0x485ef7);}})[_0xf853('0x29')](respondWithResult(_0xc214a8,null))['catch'](handleError(_0xc214a8,null));};exports[_0xf853('0x99')]=function(_0x34ef0a,_0x17874e){return db[_0xf853('0x6c')][_0xf853('0x98')]({'where':{'ListId':null}})[_0xf853('0x29')](handleEntityNotFound(_0x17874e,null))[_0xf853('0x29')](function(_0x185b1c){return _0x185b1c;})[_0xf853('0x29')](respondWithResult(_0x17874e,null))['catch'](handleError(_0x17874e,null));};exports[_0xf853('0x9a')]=function(_0x42cd92,_0x140285,_0x24fdbb){return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x42cd92[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x140285,null))[_0xf853('0x29')](function(_0x389345){if(_0x389345){return _0x389345[_0xf853('0x9a')](_0x42cd92[_0xf853('0x53')][_0xf853('0x5d')],_['omit'](_0x42cd92['body'],[_0xf853('0x5d'),'id'])||{})[_0xf853('0x9b')](function(_0x2aba32){for(var _0x43a204=0x0;_0x43a204<_0x42cd92[_0xf853('0x53')][_0xf853('0x5d')][_0xf853('0x3d')];_0x43a204+=0x1){socket['emit'](_0xf853('0x9c'),{'UserId':Number(_0x42cd92['body'][_0xf853('0x5d')][_0x43a204]),'CmListId':Number(_0x42cd92[_0xf853('0x49')]['id'])});}return _0x2aba32;});}})[_0xf853('0x29')](respondWithResult(_0x140285,null))['catch'](handleError(_0x140285,null));};exports[_0xf853('0x9d')]=function(_0x4f857e,_0x364ace,_0x303db2){return db[_0xf853('0x34')][_0xf853('0x4b')]({'where':{'id':_0x4f857e[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x364ace,null))[_0xf853('0x29')](function(_0x2f0169){if(_0x2f0169){return _0x2f0169['removeAgents'](_0x4f857e[_0xf853('0x38')][_0xf853('0x5d')])['then'](function(){if(_[_0xf853('0x62')](_0x4f857e[_0xf853('0x38')][_0xf853('0x5d')])){for(var _0x1a1fd8=0x0;_0x1a1fd8<_0x4f857e[_0xf853('0x38')][_0xf853('0x5d')][_0xf853('0x3d')];_0x1a1fd8+=0x1){socket[_0xf853('0x9e')]('userCmList:remove',{'UserId':Number(_0x4f857e[_0xf853('0x38')][_0xf853('0x5d')][_0x1a1fd8]),'CmListId':Number(_0x4f857e[_0xf853('0x49')]['id'])});}}else{socket[_0xf853('0x9e')]('userCmList:remove',{'UserId':Number(_0x4f857e[_0xf853('0x38')][_0xf853('0x5d')]),'CmListId':Number(_0x4f857e[_0xf853('0x49')]['id'])});}});}})['then'](respondWithStatusCode(_0x364ace,null))[_0xf853('0x47')](handleError(_0x364ace,null));};exports[_0xf853('0x9f')]=function(_0x17ed5b,_0x2d8f7c,_0x5952f1){var _0x23d643={};var _0x39c56d={};var _0x2c81cb;var _0x3eb82c;return db['CmList'][_0xf853('0x56')]({'where':{'id':_0x17ed5b[_0xf853('0x49')]['id']}})[_0xf853('0x29')](handleEntityNotFound(_0x2d8f7c,null))['then'](function(_0x4e5f4e){if(_0x4e5f4e){_0x2c81cb=_0x4e5f4e;_0x39c56d['model']=_['keys'](db['User'][_0xf853('0x4a')]);_0x39c56d[_0xf853('0x38')]=_[_0xf853('0x57')](_0x17ed5b['query']);_0x39c56d[_0xf853('0x39')]=_[_0xf853('0x3a')](_0x39c56d[_0xf853('0x37')],_0x39c56d[_0xf853('0x38')]);_0x23d643[_0xf853('0x3b')]=_[_0xf853('0x3a')](_0x39c56d[_0xf853('0x37')],qs['fields'](_0x17ed5b['query'][_0xf853('0x3c')]));_0x23d643[_0xf853('0x3b')]=_0x23d643[_0xf853('0x3b')]['length']?_0x23d643[_0xf853('0x3b')]:_0x39c56d[_0xf853('0x37')];_0x23d643[_0xf853('0x3f')]=qs[_0xf853('0x59')](_0x17ed5b[_0xf853('0x38')]['sort']);_0x23d643[_0xf853('0x40')]=qs[_0xf853('0x39')](_['pick'](_0x17ed5b[_0xf853('0x38')],_0x39c56d[_0xf853('0x39')]));if(_0x17ed5b[_0xf853('0x38')][_0xf853('0x42')]){_0x23d643[_0xf853('0x40')]=_[_0xf853('0x43')](_0x23d643[_0xf853('0x40')],{'$or':_[_0xf853('0x33')](_0x23d643[_0xf853('0x3b')],function(_0x4de40c){var _0x2ffa36={};_0x2ffa36[_0x4de40c]={'$like':'%'+_0x17ed5b[_0xf853('0x38')][_0xf853('0x42')]+'%'};return _0x2ffa36;})});}_0x23d643=_[_0xf853('0x43')]({},_0x23d643,_0x17ed5b['options']);return _0x2c81cb['getAgents'](_0x23d643);}})[_0xf853('0x29')](function(_0x11fe10){if(_0x11fe10){_0x3eb82c=_0x11fe10['length'];if(!_0x17ed5b[_0xf853('0x38')][_0xf853('0x58')](_0xf853('0x3e'))){_0x23d643[_0xf853('0x23')]=qs[_0xf853('0x23')](_0x17ed5b['query'][_0xf853('0x23')]);_0x23d643[_0xf853('0x21')]=qs[_0xf853('0x21')](_0x17ed5b['query']['offset']);}return _0x2c81cb[_0xf853('0x9f')](_0x23d643);}})['then'](function(_0x41cae3){if(_0x41cae3){return _0x41cae3?{'count':_0x3eb82c,'rows':_0x41cae3}:null;}})[_0xf853('0x29')](respondWithResult(_0x2d8f7c,null))['catch'](handleError(_0x2d8f7c,null));};function handleQuery(_0x4f006d){logger[_0xf853('0xa0')](_0x4f006d);return db[_0xf853('0x8b')][_0xf853('0x38')](_0x4f006d)[_0xf853('0x9b')](function(_0x4dcd89){csv_results[_0xf853('0x64')](_0x4dcd89);})['catch'](function(_0x32108e){logger[_0xf853('0x2f')](_0x32108e[_0xf853('0x69')]);});}