Built motion from commit e0fa946e.|2.6.5
[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 _0x4388=['key','model','map','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','type','VIRTUAL','options','count','includeAll','findAll','catch','show','params','fields','create','body','user','find','userProfileId','addDisposition','ListId','Disposition','where','include','removeDispositions','ids','addContacts','CmContact','describe','tags','push','omit','dataValues','errors','getContacts','CmCustomField','CustomFields','format','raw','ContactItemType','OrderBy','alias','from','cm_contacts','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','c.cf_','customField_','select','item','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','field','description','cm_contact_has_items','toString','each','isEmpty','now','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','text/csv','download','addCustomField','addCustomFields','TEXT','text','Sequelize','number','INTEGER','switch','BOOLEAN','cf_%s','getCustomFields','findOne','getGlobalCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','isArray','userCmList:remove','getAgents','User','info','sequelize','message','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','redis','defaults','./cmList.socket','register','sendStatus','status','end','json','offset','undefined','limit','set','apply','reject','save','update','then','destroy','get','UserProfileResource','error','stack','name','send','CmList','rawAttributes','fieldName'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x4388,0x1a7));var _0x8438=function(_0x598362,_0x1b7273){_0x598362=_0x598362-0x0;var _0x1a0218=_0x4388[_0x598362];return _0x1a0218;};'use strict';var emlformat=require(_0x8438('0x0'));var rimraf=require(_0x8438('0x1'));var zipdir=require(_0x8438('0x2'));var jsonpatch=require(_0x8438('0x3'));var rp=require(_0x8438('0x4'));var moment=require(_0x8438('0x5'));var BPromise=require(_0x8438('0x6'));var Mustache=require(_0x8438('0x7'));var util=require('util');var path=require(_0x8438('0x8'));var sox=require(_0x8438('0x9'));var csv=require(_0x8438('0xa'));var ejs=require(_0x8438('0xb'));var fs=require('fs');var fs_extra=require(_0x8438('0xc'));var _=require('lodash');var squel=require(_0x8438('0xd'));var crypto=require(_0x8438('0xe'));var jsforce=require(_0x8438('0xf'));var deskjs=require(_0x8438('0x10'));var toCsv=require(_0x8438('0xa'));var querystring=require(_0x8438('0x11'));var Papa=require(_0x8438('0x12'));var Redis=require(_0x8438('0x13'));var authService=require(_0x8438('0x14'));var qs=require(_0x8438('0x15'));var as=require(_0x8438('0x16'));var hardwareService=require(_0x8438('0x17'));var logger=require(_0x8438('0x18'))('api');var utils=require('../../config/utils');var config=require(_0x8438('0x19'));var licenseUtil=require(_0x8438('0x1a'));var db=require('../../mysqldb')['db'];var csv_results;config[_0x8438('0x1b')]=_[_0x8438('0x1c')](config[_0x8438('0x1b')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x8438('0x1b')]));require(_0x8438('0x1d'))[_0x8438('0x1e')](socket);function respondWithStatusCode(_0xfe6a4,_0x700eae){_0x700eae=_0x700eae||0xcc;return function(_0x24e5f7){if(_0x24e5f7){return _0xfe6a4[_0x8438('0x1f')](_0x700eae);}return _0xfe6a4[_0x8438('0x20')](_0x700eae)[_0x8438('0x21')]();};}function respondWithResult(_0x3db753,_0x10b434){_0x10b434=_0x10b434||0xc8;return function(_0x1ddbad){if(_0x1ddbad){return _0x3db753['status'](_0x10b434)[_0x8438('0x22')](_0x1ddbad);}};}function respondWithFilteredResult(_0x5d5ba6,_0x3d33b6){return function(_0x1fb252){if(_0x1fb252){var _0x46fc4f=typeof _0x3d33b6[_0x8438('0x23')]===_0x8438('0x24')&&typeof _0x3d33b6[_0x8438('0x25')]===_0x8438('0x24');var _0x54457f=_0x1fb252['count'];var _0x38b9d7=_0x46fc4f?0x0:_0x3d33b6[_0x8438('0x23')];var _0x4b5bc3=_0x46fc4f?_0x1fb252['count']:_0x3d33b6[_0x8438('0x23')]+_0x3d33b6['limit'];var _0x2623df;if(_0x4b5bc3>=_0x54457f){_0x4b5bc3=_0x54457f;_0x2623df=0xc8;}else{_0x2623df=0xce;}_0x5d5ba6[_0x8438('0x20')](_0x2623df);return _0x5d5ba6[_0x8438('0x26')]('Content-Range',_0x38b9d7+'-'+_0x4b5bc3+'/'+_0x54457f)['json'](_0x1fb252);}return null;};}function patchUpdates(_0x1a47ff){return function(_0x3db585){try{jsonpatch[_0x8438('0x27')](_0x3db585,_0x1a47ff,!![]);}catch(_0xf4b75f){return BPromise[_0x8438('0x28')](_0xf4b75f);}return _0x3db585[_0x8438('0x29')]();};}function saveUpdates(_0x3d3ceb,_0xbcab77){return function(_0x161bac){if(_0x161bac){return _0x161bac[_0x8438('0x2a')](_0x3d3ceb)[_0x8438('0x2b')](function(_0x98d17d){return _0x98d17d;});}return null;};}function removeEntity(_0x4ba9ea,_0x2f9533){return function(_0x1cc596){if(_0x1cc596){return _0x1cc596[_0x8438('0x2c')]()[_0x8438('0x2b')](function(){var _0x540a2b=_0x1cc596[_0x8438('0x2d')]({'plain':!![]});var _0x23bd33='Lists';return db[_0x8438('0x2e')][_0x8438('0x2c')]({'where':{'type':_0x23bd33,'resourceId':_0x540a2b['id']}})[_0x8438('0x2b')](function(){return _0x1cc596;});})['then'](function(){_0x4ba9ea[_0x8438('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x56ee66,_0xbfcc84){return function(_0x4ba4dd){if(!_0x4ba4dd){_0x56ee66[_0x8438('0x1f')](0x194);}return _0x4ba4dd;};}function handleError(_0x114a50,_0x1b69d1){_0x1b69d1=_0x1b69d1||0x1f4;return function(_0x3398ba){logger[_0x8438('0x2f')](_0x3398ba[_0x8438('0x30')]);if(_0x3398ba[_0x8438('0x31')]){delete _0x3398ba[_0x8438('0x31')];}_0x114a50[_0x8438('0x20')](_0x1b69d1)[_0x8438('0x32')](_0x3398ba);};}exports['index']=function(_0x5e4b09,_0x23f4b3){var _0x3eac68={},_0x5164e9={},_0x4bad56={'count':0x0,'rows':[]};var _0x24efa4=_['map'](db[_0x8438('0x33')][_0x8438('0x34')],function(_0x5f2679){return{'name':_0x5f2679[_0x8438('0x35')],'type':_0x5f2679['type'][_0x8438('0x36')]};});_0x5164e9[_0x8438('0x37')]=_[_0x8438('0x38')](_0x24efa4,_0x8438('0x31'));_0x5164e9[_0x8438('0x39')]=_[_0x8438('0x3a')](_0x5e4b09[_0x8438('0x39')]);_0x5164e9[_0x8438('0x3b')]=_[_0x8438('0x3c')](_0x5164e9[_0x8438('0x37')],_0x5164e9[_0x8438('0x39')]);_0x3eac68[_0x8438('0x3d')]=_[_0x8438('0x3c')](_0x5164e9['model'],qs['fields'](_0x5e4b09[_0x8438('0x39')]['fields']));_0x3eac68[_0x8438('0x3d')]=_0x3eac68[_0x8438('0x3d')][_0x8438('0x3e')]?_0x3eac68[_0x8438('0x3d')]:_0x5164e9[_0x8438('0x37')];if(!_0x5e4b09[_0x8438('0x39')][_0x8438('0x3f')](_0x8438('0x40'))){_0x3eac68[_0x8438('0x25')]=qs['limit'](_0x5e4b09['query'][_0x8438('0x25')]);_0x3eac68[_0x8438('0x23')]=qs[_0x8438('0x23')](_0x5e4b09[_0x8438('0x39')][_0x8438('0x23')]);}_0x3eac68[_0x8438('0x41')]=qs[_0x8438('0x42')](_0x5e4b09[_0x8438('0x39')][_0x8438('0x42')]);_0x3eac68['where']=qs[_0x8438('0x3b')](_[_0x8438('0x43')](_0x5e4b09['query'],_0x5164e9['filters']),_0x24efa4);if(_0x5e4b09['query'][_0x8438('0x44')]){_0x3eac68['where']=_[_0x8438('0x45')](_0x3eac68['where'],{'$or':_[_0x8438('0x38')](_0x24efa4,function(_0xcb01fb){if(_0xcb01fb[_0x8438('0x46')]!==_0x8438('0x47')){var _0x566a68={};_0x566a68[_0xcb01fb[_0x8438('0x31')]]={'$like':'%'+_0x5e4b09[_0x8438('0x39')][_0x8438('0x44')]+'%'};return _0x566a68;}})});}_0x3eac68=_[_0x8438('0x45')]({},_0x3eac68,_0x5e4b09[_0x8438('0x48')]);var _0xd484bd={'where':_0x3eac68['where']};return db[_0x8438('0x33')][_0x8438('0x49')](_0xd484bd)[_0x8438('0x2b')](function(_0x37b0da){_0x4bad56[_0x8438('0x49')]=_0x37b0da;if(_0x5e4b09['query'][_0x8438('0x4a')]){_0x3eac68['include']=[{'all':!![]}];}return db['CmList'][_0x8438('0x4b')](_0x3eac68);})[_0x8438('0x2b')](function(_0x4aabb2){_0x4bad56['rows']=_0x4aabb2;return _0x4bad56;})[_0x8438('0x2b')](respondWithFilteredResult(_0x23f4b3,_0x3eac68))[_0x8438('0x4c')](handleError(_0x23f4b3,null));};exports[_0x8438('0x4d')]=function(_0x37b1da,_0x57d046){var _0x4cf6fd={'raw':![],'where':{'id':_0x37b1da[_0x8438('0x4e')]['id']}},_0x492cc7={};_0x492cc7[_0x8438('0x37')]=_[_0x8438('0x3a')](db[_0x8438('0x33')][_0x8438('0x34')]);_0x492cc7[_0x8438('0x39')]=_[_0x8438('0x3a')](_0x37b1da[_0x8438('0x39')]);_0x492cc7[_0x8438('0x3b')]=_['intersection'](_0x492cc7[_0x8438('0x37')],_0x492cc7[_0x8438('0x39')]);_0x4cf6fd[_0x8438('0x3d')]=_[_0x8438('0x3c')](_0x492cc7[_0x8438('0x37')],qs[_0x8438('0x4f')](_0x37b1da['query'][_0x8438('0x4f')]));_0x4cf6fd['attributes']=_0x4cf6fd['attributes'][_0x8438('0x3e')]?_0x4cf6fd[_0x8438('0x3d')]:_0x492cc7[_0x8438('0x37')];if(_0x37b1da[_0x8438('0x39')][_0x8438('0x4a')]){_0x4cf6fd['include']=[{'all':!![]}];}_0x4cf6fd=_['merge']({},_0x4cf6fd,_0x37b1da['options']);return db[_0x8438('0x33')]['find'](_0x4cf6fd)[_0x8438('0x2b')](handleEntityNotFound(_0x57d046,null))['then'](respondWithResult(_0x57d046,null))[_0x8438('0x4c')](handleError(_0x57d046,null));};exports[_0x8438('0x50')]=function(_0x3bd482,_0x522c5b){return db[_0x8438('0x33')][_0x8438('0x50')](_0x3bd482[_0x8438('0x51')],{})['then'](function(_0x4b75c3){var _0x2312aa=_0x3bd482[_0x8438('0x52')][_0x8438('0x2d')]({'plain':!![]});if(!_0x2312aa)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2312aa['role']===_0x8438('0x52')){var _0xc41690=_0x4b75c3[_0x8438('0x2d')]({'plain':!![]});var _0x4093c4='Lists';return db['UserProfileSection'][_0x8438('0x53')]({'where':{'name':_0x4093c4,'userProfileId':_0x2312aa[_0x8438('0x54')]},'raw':!![]})[_0x8438('0x2b')](function(_0x48da82){if(_0x48da82&&_0x48da82['autoAssociation']===0x0){return db['UserProfileResource'][_0x8438('0x50')]({'name':_0xc41690[_0x8438('0x31')],'resourceId':_0xc41690['id'],'type':_0x48da82[_0x8438('0x31')],'sectionId':_0x48da82['id']},{})[_0x8438('0x2b')](function(){return _0x4b75c3;});}else{return _0x4b75c3;}})[_0x8438('0x4c')](function(_0x39d1b3){logger[_0x8438('0x2f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x39d1b3);throw _0x39d1b3;});}return _0x4b75c3;})[_0x8438('0x2b')](respondWithResult(_0x522c5b,0xc9))[_0x8438('0x4c')](handleError(_0x522c5b,null));};exports[_0x8438('0x2a')]=function(_0x7b875,_0x434c5f){if(_0x7b875[_0x8438('0x51')]['id']){delete _0x7b875[_0x8438('0x51')]['id'];}return db['CmList'][_0x8438('0x53')]({'where':{'id':_0x7b875[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x434c5f,null))['then'](saveUpdates(_0x7b875[_0x8438('0x51')],null))[_0x8438('0x2b')](respondWithResult(_0x434c5f,null))[_0x8438('0x4c')](handleError(_0x434c5f,null));};exports[_0x8438('0x2c')]=function(_0x8ee5eb,_0x1f4a5f){return db['CmList'][_0x8438('0x53')]({'where':{'id':_0x8ee5eb[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x1f4a5f,null))[_0x8438('0x2b')](removeEntity(_0x1f4a5f,null))[_0x8438('0x4c')](handleError(_0x1f4a5f,null));};exports['describe']=function(_0x3acabb,_0x37af96){return db[_0x8438('0x33')]['describe']()[_0x8438('0x2b')](respondWithResult(_0x37af96,null))[_0x8438('0x4c')](handleError(_0x37af96,null));};exports[_0x8438('0x55')]=function(_0xd93c51,_0x53bc70,_0x18a3f5){if(_0xd93c51[_0x8438('0x51')]['id']){delete _0xd93c51[_0x8438('0x51')]['id'];}return db['CmList'][_0x8438('0x53')]({'where':{'id':_0xd93c51[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x53bc70,null))['then'](function(_0x509443){if(_0x509443){_0xd93c51[_0x8438('0x51')][_0x8438('0x56')]=_0x509443['id'];return db[_0x8438('0x57')]['create'](_0xd93c51[_0x8438('0x51')]);}})[_0x8438('0x2b')](respondWithResult(_0x53bc70,null))[_0x8438('0x4c')](handleError(_0x53bc70,null));};exports['getDispositions']=function(_0x1276b0,_0x438b10,_0x1b8d8c){var _0x2a251={'raw':![],'where':{}};var _0x3534e4={};var _0x1287f6={'count':0x0,'rows':[]};return db[_0x8438('0x33')]['findOne']({'where':{'id':_0x1276b0[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x438b10,null))[_0x8438('0x2b')](function(_0x2fa68a){if(_0x2fa68a){_0x3534e4['model']=_[_0x8438('0x3a')](db[_0x8438('0x57')][_0x8438('0x34')]);_0x3534e4[_0x8438('0x39')]=_[_0x8438('0x3a')](_0x1276b0['query']);_0x3534e4[_0x8438('0x3b')]=_[_0x8438('0x3c')](_0x3534e4[_0x8438('0x37')],_0x3534e4[_0x8438('0x39')]);_0x2a251[_0x8438('0x3d')]=_[_0x8438('0x3c')](_0x3534e4[_0x8438('0x37')],qs[_0x8438('0x4f')](_0x1276b0[_0x8438('0x39')][_0x8438('0x4f')]));_0x2a251[_0x8438('0x3d')]=_0x2a251[_0x8438('0x3d')][_0x8438('0x3e')]?_0x2a251[_0x8438('0x3d')]:_0x3534e4[_0x8438('0x37')];if(!_0x1276b0['query'][_0x8438('0x3f')](_0x8438('0x40'))){_0x2a251[_0x8438('0x25')]=qs[_0x8438('0x25')](_0x1276b0[_0x8438('0x39')][_0x8438('0x25')]);_0x2a251['offset']=qs[_0x8438('0x23')](_0x1276b0[_0x8438('0x39')][_0x8438('0x23')]);}_0x2a251['order']=qs[_0x8438('0x42')](_0x1276b0[_0x8438('0x39')][_0x8438('0x42')]);_0x2a251[_0x8438('0x58')]=qs['filters'](_[_0x8438('0x43')](_0x1276b0[_0x8438('0x39')],_0x3534e4[_0x8438('0x3b')]));_0x2a251[_0x8438('0x58')]['ListId']=_0x2fa68a['id'];if(_0x1276b0[_0x8438('0x39')][_0x8438('0x44')]){_0x2a251['where']=_[_0x8438('0x45')](_0x2a251[_0x8438('0x58')],{'$or':_[_0x8438('0x38')](_0x2a251['attributes'],function(_0x3ebe98){var _0x22fd26={};_0x22fd26[_0x3ebe98]={'$like':'%'+_0x1276b0[_0x8438('0x39')][_0x8438('0x44')]+'%'};return _0x22fd26;})});}_0x2a251=_[_0x8438('0x45')]({},_0x2a251,_0x1276b0[_0x8438('0x48')]);return db['Disposition']['count']({'where':_0x2a251[_0x8438('0x58')]})[_0x8438('0x2b')](function(_0x383db6){_0x1287f6[_0x8438('0x49')]=_0x383db6;if(_0x1276b0[_0x8438('0x39')][_0x8438('0x4a')]){_0x2a251[_0x8438('0x59')]=[{'all':!![]}];}return db[_0x8438('0x57')][_0x8438('0x4b')](_0x2a251);})['then'](function(_0x3c6d99){_0x1287f6['rows']=_0x3c6d99;return _0x1287f6;});}})[_0x8438('0x2b')](respondWithFilteredResult(_0x438b10,_0x2a251))[_0x8438('0x4c')](handleError(_0x438b10,null));};exports[_0x8438('0x5a')]=function(_0x452600,_0x1b3be5,_0x163194){return db[_0x8438('0x33')][_0x8438('0x53')]({'where':{'id':_0x452600[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x1b3be5,null))[_0x8438('0x2b')](function(_0x1fea5e){if(_0x1fea5e){return _0x1fea5e[_0x8438('0x5a')](_0x452600[_0x8438('0x39')][_0x8438('0x5b')]);}})[_0x8438('0x2b')](respondWithStatusCode(_0x1b3be5,null))[_0x8438('0x4c')](handleError(_0x1b3be5,null));};exports[_0x8438('0x5c')]=function(_0x3597fe,_0x854aac,_0x2e2fd7){return db[_0x8438('0x33')][_0x8438('0x53')]({'where':{'id':_0x3597fe['params']['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x854aac,null))[_0x8438('0x2b')](function(_0x310776){if(_0x310776){var _0x5e4d8f=[];var _0x503201={'success':[],'errors':[]};return db[_0x8438('0x5d')][_0x8438('0x5e')]()[_0x8438('0x2b')](function(_0x254f7a){if(_0x3597fe[_0x8438('0x51')]['tags']&&_['isArray'](_0x3597fe['body'][_0x8438('0x5f')])){if(_0x3597fe[_0x8438('0x51')][_0x8438('0x5f')][_0x8438('0x3e')]){_0x3597fe[_0x8438('0x51')][_0x8438('0x5f')]=_0x3597fe['body'][_0x8438('0x5f')]['join'](';')+';';}else{_0x3597fe['body'][_0x8438('0x5f')]=null;}}else{_0x3597fe[_0x8438('0x51')][_0x8438('0x5f')]=null;}if(_0x3597fe[_0x8438('0x51')]&&_['isArray'](_0x3597fe[_0x8438('0x51')])){for(var _0x285c76=0x0;_0x285c76<_0x3597fe[_0x8438('0x51')][_0x8438('0x3e')];_0x285c76+=0x1){_0x3597fe[_0x8438('0x51')][_0x285c76]['ListId']=_0x3597fe[_0x8438('0x4e')]['id'];_0x5e4d8f[_0x8438('0x60')](_0x3597fe[_0x8438('0x51')][_0x285c76]);}return BPromise['each'](_0x5e4d8f,function(_0x4a9e78){return db[_0x8438('0x5d')][_0x8438('0x50')](_[_0x8438('0x61')](_0x4a9e78,[_0x8438('0x5b'),'id'])||{},{'fields':_[_0x8438('0x3a')](_0x254f7a),'raw':!![]})[_0x8438('0x2b')](function(_0x3e5f06){_0x503201['success'][_0x8438('0x60')](_0x3e5f06[_0x8438('0x62')]);})['catch'](function(_0x301949){_0x503201[_0x8438('0x63')][_0x8438('0x60')]({'data':_0x4a9e78,'error':_0x301949['message']});});})['then'](function(_0x465682){return _0x503201;})[_0x8438('0x4c')](function(_0x1e6104){return _0x1e6104;});}else{_0x854aac['status'](0x190)['json']({'message':'Malformed\x20request\x20syntax'});}});}})[_0x8438('0x2b')](respondWithResult(_0x854aac,null))[_0x8438('0x4c')](handleError(_0x854aac,null));};exports[_0x8438('0x64')]=function(_0x894808,_0x4d40af,_0x53148f){var _0x5ddbbf;return db[_0x8438('0x33')][_0x8438('0x53')]({'where':{'id':_0x894808[_0x8438('0x4e')]['id']},'include':[{'model':db[_0x8438('0x65')],'as':'CustomFields'}]})['then'](handleEntityNotFound(_0x4d40af,null))['then'](function(_0x1cbae4){if(_0x1cbae4){_0x5ddbbf=_0x1cbae4;return db[_0x8438('0x5d')][_0x8438('0x34')];}})[_0x8438('0x2b')](function(_0x229572){if(_0x229572){var _0x25e6a0={};var _0x1f91a1={};_0x1f91a1[_0x8438('0x37')]=_['concat'](_[_0x8438('0x3a')](_0x229572),_[_0x8438('0x38')](_0x5ddbbf[_0x8438('0x66')],function(_0xb6a690){return util[_0x8438('0x67')]('cf_%d',_0xb6a690['id']);}));_0x1f91a1[_0x8438('0x39')]=_['keys'](_0x894808['query']);_0x1f91a1[_0x8438('0x3b')]=_[_0x8438('0x3c')](_0x1f91a1['model'],_0x1f91a1['query']);_0x25e6a0[_0x8438('0x3d')]=_[_0x8438('0x3c')](_0x1f91a1[_0x8438('0x37')],qs[_0x8438('0x4f')](_0x894808['query']['fields']));_0x25e6a0['attributes']=_0x25e6a0[_0x8438('0x3d')][_0x8438('0x3e')]?_0x25e6a0[_0x8438('0x3d')]:_0x1f91a1[_0x8438('0x37')];if(!_0x894808[_0x8438('0x39')]['hasOwnProperty'](_0x8438('0x40'))){_0x25e6a0['limit']=qs['limit'](_0x894808[_0x8438('0x39')][_0x8438('0x25')]);_0x25e6a0[_0x8438('0x23')]=qs[_0x8438('0x23')](_0x894808[_0x8438('0x39')]['offset']);}_0x25e6a0[_0x8438('0x41')]=qs[_0x8438('0x42')](_0x894808[_0x8438('0x39')][_0x8438('0x42')]);_0x25e6a0['where']=qs['filters'](_[_0x8438('0x43')](_0x894808[_0x8438('0x39')],_0x1f91a1[_0x8438('0x3b')]));_0x25e6a0[_0x8438('0x68')]=!![];if(_0x894808['query']['filter']){_0x25e6a0[_0x8438('0x58')]=_[_0x8438('0x45')](_0x25e6a0[_0x8438('0x58')],{'$or':_[_0x8438('0x38')](_0x25e6a0[_0x8438('0x3d')],function(_0xc7da79){var _0x1c9af4={};_0x1c9af4[_0xc7da79]={'$like':'%'+_0x894808[_0x8438('0x39')][_0x8438('0x44')]+'%'};return _0x1c9af4;})});}_0x25e6a0=_['merge']({},_0x25e6a0,_0x894808[_0x8438('0x48')]);return _0x5ddbbf[_0x8438('0x64')](_0x25e6a0);}})['then'](respondWithResult(_0x4d40af,null))[_0x8438('0x4c')](handleError(_0x4d40af,null));};exports['getContactsCsv']=function(_0x1b3311,_0x1a863e,_0x49691b){var _0x1e533a;var _0x331312;var _0x2e9234;var _0x21c3fe=_0x1b3311['params']['id'];csv_results=[];return db[_0x8438('0x69')][_0x8438('0x4b')]({'attributes':['id',_0x8438('0x31')],'raw':!![],'order':[_0x8438('0x6a')]})[_0x8438('0x2b')](function(_0x91ec27){_0x1e533a=_0x91ec27;var _0x46729b=_[_0x8438('0x3a')](db[_0x8438('0x5d')][_0x8438('0x34')]);return db[_0x8438('0x65')]['findAll']({'raw':!![],'attributes':['id',_0x8438('0x6b')]})[_0x8438('0x2b')](function(_0x6621ff){_0x331312=_0x6621ff;var _0xff2d36=squel['select']()[_0x8438('0x4f')](_0x46729b)[_0x8438('0x6c')](_0x8438('0x6d'),'c')[_0x8438('0x58')](_0x8438('0x6e'),_0x21c3fe)['where'](_0x8438('0x6f'))[_0x8438('0x70')]();for(var _0x3aaaf1=0x0;_0x3aaaf1<_0x331312['length'];_0x3aaaf1++){_0xff2d36['field'](_0x8438('0x71')+_0x331312[_0x3aaaf1]['id'],_0x8438('0x72')+_0x331312[_0x3aaaf1]['alias']);}for(var _0x3aaaf1=0x0;_0x3aaaf1<_0x1e533a[_0x8438('0x3e')];_0x3aaaf1++){_0xff2d36['field'](squel[_0x8438('0x73')]()['field'](_0x8438('0x74'))[_0x8438('0x6c')]('cm_contact_has_items')[_0x8438('0x58')](_0x8438('0x75'),_0x1e533a[_0x3aaaf1]['id'])['where'](_0x8438('0x76')),_0x8438('0x77')+_0x1e533a[_0x3aaaf1][_0x8438('0x31')]);_0xff2d36[_0x8438('0x78')](squel[_0x8438('0x73')]()[_0x8438('0x78')](_0x8438('0x79'))[_0x8438('0x6c')](_0x8438('0x7a'))[_0x8438('0x58')](_0x8438('0x75'),_0x1e533a[_0x3aaaf1]['id'])[_0x8438('0x58')](_0x8438('0x76')),'description_additionalPhone_'+_0x1e533a[_0x3aaaf1][_0x8438('0x31')]);}var _0x5b91bd=[];_0x5b91bd[_0x8438('0x60')](_0xff2d36[_0x8438('0x7b')]());BPromise[_0x8438('0x7c')](_0x5b91bd,handleQuery)[_0x8438('0x2b')](function(_0x16b103){handleQuery(_0xff2d36[_0x8438('0x7b')]());var _0x40c8c5=csv_results[0x0];if(!_[_0x8438('0x7d')](_0x40c8c5)){var _0x559c12=toCsv(_0x40c8c5);var _0x41c7e2=Date[_0x8438('0x7e')]();fs['writeFileSync'](util[_0x8438('0x67')](_0x8438('0x7f'),_0x21c3fe,_0x41c7e2),_0x559c12);_0x1a863e[_0x8438('0x80')](_0x8438('0x81'),_0x8438('0x82')+util['format']('list_%d_%s.csv',_0x21c3fe,_0x41c7e2));_0x1a863e[_0x8438('0x80')]('Content-type',_0x8438('0x83'));return _0x1a863e[_0x8438('0x84')](util[_0x8438('0x67')](_0x8438('0x7f'),_0x21c3fe,_0x41c7e2));}else{return _0x1a863e[_0x8438('0x1f')](0xcc);}});});});};exports[_0x8438('0x85')]=function(_0x4e1cba,_0x1fad76,_0xc65b05){var _0x3c9b41;delete _0x4e1cba[_0x8438('0x51')]['id'];return db[_0x8438('0x33')]['findOne']({'where':{'id':_0x4e1cba[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x1fad76,null))[_0x8438('0x2b')](function(_0x1c64eb){if(_0x1c64eb){return db['sequelize']['transaction'](function(_0x49436e){return db[_0x8438('0x65')][_0x8438('0x50')](_0x4e1cba[_0x8438('0x51')],{'transaction':_0x49436e})[_0x8438('0x2b')](function(_0x107288){_0x3c9b41=_0x107288;return _0x1c64eb[_0x8438('0x86')](_0x107288,{'transaction':_0x49436e});})[_0x8438('0x2b')](function(){var _0x502722={'type':db['Sequelize'][_0x8438('0x87')],'transaction':_0x49436e};switch(_0x4e1cba[_0x8438('0x51')][_0x8438('0x46')]){case _0x8438('0x88'):_0x502722[_0x8438('0x46')]=db[_0x8438('0x89')][_0x8438('0x87')];break;case _0x8438('0x8a'):_0x502722[_0x8438('0x46')]=db[_0x8438('0x89')][_0x8438('0x8b')];break;case _0x8438('0x8c'):_0x502722['type']=db[_0x8438('0x89')][_0x8438('0x8d')];_0x502722['defaultValue']=![];break;default:}return db['sequelize']['queryInterface']['addColumn']('cm_contacts',util[_0x8438('0x67')](_0x8438('0x8e'),_0x3c9b41['id']),_0x502722);})[_0x8438('0x2b')](function(){return _0x3c9b41;});});}})[_0x8438('0x2b')](respondWithResult(_0x1fad76,null))[_0x8438('0x4c')](handleError(_0x1fad76,null));};exports[_0x8438('0x8f')]=function(_0x191153,_0x3cb49b,_0x3ed1f4){var _0x49abbe={};var _0x1c53fa={};var _0x26b489;var _0x17f2d0;return db[_0x8438('0x33')][_0x8438('0x90')]({'where':{'id':_0x191153[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0x3cb49b,null))[_0x8438('0x2b')](function(_0xca270b){if(_0xca270b){_0x26b489=_0xca270b;_0x1c53fa[_0x8438('0x37')]=_[_0x8438('0x3a')](db[_0x8438('0x65')][_0x8438('0x34')]);_0x1c53fa[_0x8438('0x39')]=_[_0x8438('0x3a')](_0x191153['query']);_0x1c53fa['filters']=_['intersection'](_0x1c53fa[_0x8438('0x37')],_0x1c53fa[_0x8438('0x39')]);_0x49abbe[_0x8438('0x3d')]=_['intersection'](_0x1c53fa[_0x8438('0x37')],qs[_0x8438('0x4f')](_0x191153['query']['fields']));_0x49abbe[_0x8438('0x3d')]=_0x49abbe[_0x8438('0x3d')][_0x8438('0x3e')]?_0x49abbe[_0x8438('0x3d')]:_0x1c53fa[_0x8438('0x37')];_0x49abbe[_0x8438('0x41')]=qs[_0x8438('0x42')](_0x191153[_0x8438('0x39')][_0x8438('0x42')]);_0x49abbe[_0x8438('0x58')]=qs[_0x8438('0x3b')](_[_0x8438('0x43')](_0x191153[_0x8438('0x39')],_0x1c53fa[_0x8438('0x3b')]));_0x49abbe[_0x8438('0x58')]=_[_0x8438('0x45')](_0x49abbe[_0x8438('0x58')],{'$or':[{'ListId':_0xca270b['id']},{'ListId':null}]});if(_0x191153[_0x8438('0x39')]['filter']){_0x49abbe[_0x8438('0x58')]=_[_0x8438('0x45')](_0x49abbe[_0x8438('0x58')],{'$or':_['map'](_0x49abbe[_0x8438('0x3d')],function(_0x5a89f4){var _0x3acf69={};_0x3acf69[_0x5a89f4]={'$like':'%'+_0x191153['query']['filter']+'%'};return _0x3acf69;})});}_0x49abbe=_[_0x8438('0x45')]({},_0x49abbe,_0x191153[_0x8438('0x48')]);return db[_0x8438('0x65')]['findAndCountAll'](_0x49abbe);}})[_0x8438('0x2b')](respondWithResult(_0x3cb49b,null))[_0x8438('0x4c')](handleError(_0x3cb49b,null));};exports[_0x8438('0x91')]=function(_0x5a086c,_0x5026d9){return db[_0x8438('0x65')][_0x8438('0x92')]({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x5026d9,null))[_0x8438('0x2b')](function(_0x29b717){return _0x29b717;})[_0x8438('0x2b')](respondWithResult(_0x5026d9,null))[_0x8438('0x4c')](handleError(_0x5026d9,null));};exports[_0x8438('0x93')]=function(_0x4e6a2c,_0x43e1ae,_0x2868ba){return db['CmList']['find']({'where':{'id':_0x4e6a2c[_0x8438('0x4e')]['id']}})['then'](handleEntityNotFound(_0x43e1ae,null))[_0x8438('0x2b')](function(_0x1296a9){if(_0x1296a9){return _0x1296a9[_0x8438('0x93')](_0x4e6a2c[_0x8438('0x51')][_0x8438('0x5b')],_[_0x8438('0x61')](_0x4e6a2c['body'],['ids','id'])||{})[_0x8438('0x94')](function(_0x2d1149){for(var _0x49f461=0x0;_0x49f461<_0x4e6a2c[_0x8438('0x51')][_0x8438('0x5b')][_0x8438('0x3e')];_0x49f461+=0x1){socket[_0x8438('0x95')](_0x8438('0x96'),{'UserId':Number(_0x4e6a2c[_0x8438('0x51')][_0x8438('0x5b')][_0x49f461]),'CmListId':Number(_0x4e6a2c[_0x8438('0x4e')]['id'])});}return _0x2d1149;});}})[_0x8438('0x2b')](respondWithResult(_0x43e1ae,null))[_0x8438('0x4c')](handleError(_0x43e1ae,null));};exports['removeAgents']=function(_0x49e8df,_0xbb4855,_0x421321){return db[_0x8438('0x33')][_0x8438('0x53')]({'where':{'id':_0x49e8df[_0x8438('0x4e')]['id']}})[_0x8438('0x2b')](handleEntityNotFound(_0xbb4855,null))[_0x8438('0x2b')](function(_0x127fa7){if(_0x127fa7){return _0x127fa7[_0x8438('0x97')](_0x49e8df['query'][_0x8438('0x5b')])[_0x8438('0x2b')](function(){if(_[_0x8438('0x98')](_0x49e8df['query']['ids'])){for(var _0x4fe95f=0x0;_0x4fe95f<_0x49e8df[_0x8438('0x39')][_0x8438('0x5b')][_0x8438('0x3e')];_0x4fe95f+=0x1){socket['emit'](_0x8438('0x99'),{'UserId':Number(_0x49e8df[_0x8438('0x39')][_0x8438('0x5b')][_0x4fe95f]),'CmListId':Number(_0x49e8df[_0x8438('0x4e')]['id'])});}}else{socket['emit']('userCmList:remove',{'UserId':Number(_0x49e8df[_0x8438('0x39')][_0x8438('0x5b')]),'CmListId':Number(_0x49e8df[_0x8438('0x4e')]['id'])});}});}})[_0x8438('0x2b')](respondWithStatusCode(_0xbb4855,null))[_0x8438('0x4c')](handleError(_0xbb4855,null));};exports[_0x8438('0x9a')]=function(_0x26c7ba,_0x5a4ef8,_0x4459c1){var _0x1a0730={};var _0x17c6e1={};var _0x380e1e;var _0xccbd36;return db['CmList'][_0x8438('0x90')]({'where':{'id':_0x26c7ba[_0x8438('0x4e')]['id']}})['then'](handleEntityNotFound(_0x5a4ef8,null))[_0x8438('0x2b')](function(_0x16bdcd){if(_0x16bdcd){_0x380e1e=_0x16bdcd;_0x17c6e1['model']=_[_0x8438('0x3a')](db[_0x8438('0x9b')][_0x8438('0x34')]);_0x17c6e1['query']=_[_0x8438('0x3a')](_0x26c7ba[_0x8438('0x39')]);_0x17c6e1[_0x8438('0x3b')]=_[_0x8438('0x3c')](_0x17c6e1['model'],_0x17c6e1[_0x8438('0x39')]);_0x1a0730[_0x8438('0x3d')]=_[_0x8438('0x3c')](_0x17c6e1['model'],qs[_0x8438('0x4f')](_0x26c7ba[_0x8438('0x39')][_0x8438('0x4f')]));_0x1a0730[_0x8438('0x3d')]=_0x1a0730[_0x8438('0x3d')][_0x8438('0x3e')]?_0x1a0730['attributes']:_0x17c6e1[_0x8438('0x37')];_0x1a0730[_0x8438('0x41')]=qs[_0x8438('0x42')](_0x26c7ba[_0x8438('0x39')][_0x8438('0x42')]);_0x1a0730[_0x8438('0x58')]=qs[_0x8438('0x3b')](_['pick'](_0x26c7ba['query'],_0x17c6e1[_0x8438('0x3b')]));if(_0x26c7ba['query'][_0x8438('0x44')]){_0x1a0730[_0x8438('0x58')]=_['merge'](_0x1a0730[_0x8438('0x58')],{'$or':_['map'](_0x1a0730[_0x8438('0x3d')],function(_0x23d9db){var _0x1fc834={};_0x1fc834[_0x23d9db]={'$like':'%'+_0x26c7ba[_0x8438('0x39')][_0x8438('0x44')]+'%'};return _0x1fc834;})});}_0x1a0730=_['merge']({},_0x1a0730,_0x26c7ba[_0x8438('0x48')]);return _0x380e1e[_0x8438('0x9a')](_0x1a0730);}})[_0x8438('0x2b')](function(_0x1398ea){if(_0x1398ea){_0xccbd36=_0x1398ea['length'];if(!_0x26c7ba[_0x8438('0x39')][_0x8438('0x3f')](_0x8438('0x40'))){_0x1a0730[_0x8438('0x25')]=qs['limit'](_0x26c7ba[_0x8438('0x39')][_0x8438('0x25')]);_0x1a0730['offset']=qs[_0x8438('0x23')](_0x26c7ba[_0x8438('0x39')][_0x8438('0x23')]);}return _0x380e1e[_0x8438('0x9a')](_0x1a0730);}})['then'](function(_0x186af6){if(_0x186af6){return _0x186af6?{'count':_0xccbd36,'rows':_0x186af6}:null;}})[_0x8438('0x2b')](respondWithResult(_0x5a4ef8,null))['catch'](handleError(_0x5a4ef8,null));};function handleQuery(_0x5673be){logger[_0x8438('0x9c')](_0x5673be);return db[_0x8438('0x9d')][_0x8438('0x39')](_0x5673be)[_0x8438('0x94')](function(_0x5ab333){csv_results[_0x8438('0x60')](_0x5ab333);})[_0x8438('0x4c')](function(_0x3246cf){logger[_0x8438('0x2f')](_0x3246cf[_0x8438('0x9e')]);});}