b2ef15642f206cf552bc2eccb4ad658c164ae524
[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 _0x0a08=['Lists','UserProfileResource','sendStatus','error','stack','name','send','map','CmList','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','type','VIRTUAL','filter','options','findAll','rows','catch','show','params','includeAll','find','create','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addDisposition','ListId','getDispositions','findOne','Disposition','removeDispositions','ids','CmContact','tags','isArray','join','push','each','omit','success','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','raw','getContactsCsv','concat','format','cf_%d','isEmpty','now','setHeader','Content-disposition','attachment;\x20filename=','Content-type','download','addCustomField','sequelize','addCustomFields','Sequelize','text','number','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','addAgents','spread','emit','removeAgents','userCmList:remove','getAgents','User','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','status','end','json','offset','limit','undefined','count','reject','save','update','destroy','then','get'];(function(_0x32e6ce,_0x171dba){var _0x3a7853=function(_0x16fdb8){while(--_0x16fdb8){_0x32e6ce['push'](_0x32e6ce['shift']());}};_0x3a7853(++_0x171dba);}(_0x0a08,0x65));var _0x80a0=function(_0x4cf98e,_0xba4b79){_0x4cf98e=_0x4cf98e-0x0;var _0x1623ac=_0x0a08[_0x4cf98e];return _0x1623ac;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x80a0('0x0'));var jsonpatch=require(_0x80a0('0x1'));var rp=require(_0x80a0('0x2'));var moment=require(_0x80a0('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x80a0('0x4'));var util=require(_0x80a0('0x5'));var path=require(_0x80a0('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x80a0('0x7'));var fs=require('fs');var fs_extra=require(_0x80a0('0x8'));var _=require(_0x80a0('0x9'));var squel=require(_0x80a0('0xa'));var crypto=require(_0x80a0('0xb'));var jsforce=require(_0x80a0('0xc'));var deskjs=require(_0x80a0('0xd'));var toCsv=require(_0x80a0('0xe'));var querystring=require(_0x80a0('0xf'));var Papa=require(_0x80a0('0x10'));var Redis=require(_0x80a0('0x11'));var authService=require(_0x80a0('0x12'));var qs=require(_0x80a0('0x13'));var as=require(_0x80a0('0x14'));var hardwareService=require(_0x80a0('0x15'));var logger=require(_0x80a0('0x16'))('api');var utils=require(_0x80a0('0x17'));var config=require(_0x80a0('0x18'));var licenseUtil=require(_0x80a0('0x19'));var db=require(_0x80a0('0x1a'))['db'];config[_0x80a0('0x1b')]=_[_0x80a0('0x1c')](config[_0x80a0('0x1b')],{'host':_0x80a0('0x1d'),'port':0x18eb});var socket=require(_0x80a0('0x1e'))(new Redis(config[_0x80a0('0x1b')]));require('./cmList.socket')[_0x80a0('0x1f')](socket);function respondWithStatusCode(_0x275a7f,_0x463ae2){_0x463ae2=_0x463ae2||0xcc;return function(_0x4bedaa){if(_0x4bedaa){return _0x275a7f['sendStatus'](_0x463ae2);}return _0x275a7f[_0x80a0('0x20')](_0x463ae2)[_0x80a0('0x21')]();};}function respondWithResult(_0x49db03,_0x459ca8){_0x459ca8=_0x459ca8||0xc8;return function(_0x1af96d){if(_0x1af96d){return _0x49db03[_0x80a0('0x20')](_0x459ca8)[_0x80a0('0x22')](_0x1af96d);}};}function respondWithFilteredResult(_0x580563,_0xcfe2e5){return function(_0x46b01b){if(_0x46b01b){var _0x29e881=typeof _0xcfe2e5[_0x80a0('0x23')]==='undefined'&&typeof _0xcfe2e5[_0x80a0('0x24')]===_0x80a0('0x25');var _0x5b102a=_0x46b01b[_0x80a0('0x26')];var _0x18dbee=_0x29e881?0x0:_0xcfe2e5[_0x80a0('0x23')];var _0x2c53fb=_0x29e881?_0x46b01b[_0x80a0('0x26')]:_0xcfe2e5[_0x80a0('0x23')]+_0xcfe2e5[_0x80a0('0x24')];var _0x2dc7bd;if(_0x2c53fb>=_0x5b102a){_0x2c53fb=_0x5b102a;_0x2dc7bd=0xc8;}else{_0x2dc7bd=0xce;}_0x580563['status'](_0x2dc7bd);return _0x580563['set']('Content-Range',_0x18dbee+'-'+_0x2c53fb+'/'+_0x5b102a)[_0x80a0('0x22')](_0x46b01b);}return null;};}function patchUpdates(_0x57e8f3){return function(_0x1f9e7e){try{jsonpatch['apply'](_0x1f9e7e,_0x57e8f3,!![]);}catch(_0x542048){return BPromise[_0x80a0('0x27')](_0x542048);}return _0x1f9e7e[_0x80a0('0x28')]();};}function saveUpdates(_0x4839b4,_0x581a9e){return function(_0x12edc4){if(_0x12edc4){return _0x12edc4[_0x80a0('0x29')](_0x4839b4)['then'](function(_0xb09648){return _0xb09648;});}return null;};}function removeEntity(_0x5e66a6,_0x1e5172){return function(_0x1b8851){if(_0x1b8851){return _0x1b8851[_0x80a0('0x2a')]()[_0x80a0('0x2b')](function(){var _0xfd0863=_0x1b8851[_0x80a0('0x2c')]({'plain':!![]});var _0x55bdf7=_0x80a0('0x2d');return db[_0x80a0('0x2e')][_0x80a0('0x2a')]({'where':{'type':_0x55bdf7,'resourceId':_0xfd0863['id']}})[_0x80a0('0x2b')](function(){return _0x1b8851;});})[_0x80a0('0x2b')](function(){_0x5e66a6[_0x80a0('0x20')](0xcc)[_0x80a0('0x21')]();});}};}function handleEntityNotFound(_0x12b750,_0x291734){return function(_0x3cc676){if(!_0x3cc676){_0x12b750[_0x80a0('0x2f')](0x194);}return _0x3cc676;};}function handleError(_0x2eeaed,_0x570203){_0x570203=_0x570203||0x1f4;return function(_0x3254c6){logger[_0x80a0('0x30')](_0x3254c6[_0x80a0('0x31')]);if(_0x3254c6[_0x80a0('0x32')]){delete _0x3254c6[_0x80a0('0x32')];}_0x2eeaed[_0x80a0('0x20')](_0x570203)[_0x80a0('0x33')](_0x3254c6);};}exports['index']=function(_0x5d2af0,_0x1199d4){var _0x5ed175={},_0x1cc597={},_0x32587b={'count':0x0,'rows':[]};var _0x43c4ae=_[_0x80a0('0x34')](db[_0x80a0('0x35')][_0x80a0('0x36')],function(_0x141d73){return{'name':_0x141d73[_0x80a0('0x37')],'type':_0x141d73['type'][_0x80a0('0x38')]};});_0x1cc597[_0x80a0('0x39')]=_[_0x80a0('0x34')](_0x43c4ae,_0x80a0('0x32'));_0x1cc597['query']=_[_0x80a0('0x3a')](_0x5d2af0[_0x80a0('0x3b')]);_0x1cc597[_0x80a0('0x3c')]=_[_0x80a0('0x3d')](_0x1cc597[_0x80a0('0x39')],_0x1cc597[_0x80a0('0x3b')]);_0x5ed175[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x1cc597[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x5d2af0[_0x80a0('0x3b')][_0x80a0('0x3f')]));_0x5ed175[_0x80a0('0x3e')]=_0x5ed175[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x5ed175[_0x80a0('0x3e')]:_0x1cc597['model'];if(!_0x5d2af0[_0x80a0('0x3b')][_0x80a0('0x41')](_0x80a0('0x42'))){_0x5ed175[_0x80a0('0x24')]=qs[_0x80a0('0x24')](_0x5d2af0['query'][_0x80a0('0x24')]);_0x5ed175[_0x80a0('0x23')]=qs[_0x80a0('0x23')](_0x5d2af0[_0x80a0('0x3b')]['offset']);}_0x5ed175[_0x80a0('0x43')]=qs[_0x80a0('0x44')](_0x5d2af0[_0x80a0('0x3b')][_0x80a0('0x44')]);_0x5ed175['where']=qs['filters'](_[_0x80a0('0x45')](_0x5d2af0[_0x80a0('0x3b')],_0x1cc597[_0x80a0('0x3c')]),_0x43c4ae);if(_0x5d2af0[_0x80a0('0x3b')]['filter']){_0x5ed175[_0x80a0('0x46')]=_[_0x80a0('0x47')](_0x5ed175['where'],{'$or':_[_0x80a0('0x34')](_0x43c4ae,function(_0x224d02){if(_0x224d02[_0x80a0('0x48')]!==_0x80a0('0x49')){var _0x5d19da={};_0x5d19da[_0x224d02['name']]={'$like':'%'+_0x5d2af0[_0x80a0('0x3b')][_0x80a0('0x4a')]+'%'};return _0x5d19da;}})});}_0x5ed175=_[_0x80a0('0x47')]({},_0x5ed175,_0x5d2af0[_0x80a0('0x4b')]);var _0x40122f={'where':_0x5ed175[_0x80a0('0x46')]};return db[_0x80a0('0x35')][_0x80a0('0x26')](_0x40122f)['then'](function(_0x3b60ce){_0x32587b[_0x80a0('0x26')]=_0x3b60ce;if(_0x5d2af0[_0x80a0('0x3b')]['includeAll']){_0x5ed175['include']=[{'all':!![]}];}return db[_0x80a0('0x35')][_0x80a0('0x4c')](_0x5ed175);})['then'](function(_0x441260){_0x32587b[_0x80a0('0x4d')]=_0x441260;return _0x32587b;})[_0x80a0('0x2b')](respondWithFilteredResult(_0x1199d4,_0x5ed175))[_0x80a0('0x4e')](handleError(_0x1199d4,null));};exports[_0x80a0('0x4f')]=function(_0x4bb06e,_0x298b68){var _0x34fe3f={'raw':![],'where':{'id':_0x4bb06e[_0x80a0('0x50')]['id']}},_0x2e3839={};_0x2e3839[_0x80a0('0x39')]=_['keys'](db[_0x80a0('0x35')][_0x80a0('0x36')]);_0x2e3839['query']=_[_0x80a0('0x3a')](_0x4bb06e[_0x80a0('0x3b')]);_0x2e3839[_0x80a0('0x3c')]=_[_0x80a0('0x3d')](_0x2e3839[_0x80a0('0x39')],_0x2e3839[_0x80a0('0x3b')]);_0x34fe3f[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x2e3839[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x4bb06e['query']['fields']));_0x34fe3f[_0x80a0('0x3e')]=_0x34fe3f[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x34fe3f[_0x80a0('0x3e')]:_0x2e3839[_0x80a0('0x39')];if(_0x4bb06e[_0x80a0('0x3b')][_0x80a0('0x51')]){_0x34fe3f['include']=[{'all':!![]}];}_0x34fe3f=_[_0x80a0('0x47')]({},_0x34fe3f,_0x4bb06e[_0x80a0('0x4b')]);return db['CmList'][_0x80a0('0x52')](_0x34fe3f)[_0x80a0('0x2b')](handleEntityNotFound(_0x298b68,null))[_0x80a0('0x2b')](respondWithResult(_0x298b68,null))[_0x80a0('0x4e')](handleError(_0x298b68,null));};exports[_0x80a0('0x53')]=function(_0x385284,_0x23b41f){return db[_0x80a0('0x35')][_0x80a0('0x53')](_0x385284['body'],{})[_0x80a0('0x2b')](function(_0x389434){var _0x571ada=_0x385284['user'][_0x80a0('0x2c')]({'plain':!![]});if(!_0x571ada)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x571ada[_0x80a0('0x54')]==='user'){var _0x10b422=_0x389434[_0x80a0('0x2c')]({'plain':!![]});var _0x52679f=_0x80a0('0x2d');return db[_0x80a0('0x55')][_0x80a0('0x52')]({'where':{'name':_0x52679f,'userProfileId':_0x571ada[_0x80a0('0x56')]},'raw':!![]})[_0x80a0('0x2b')](function(_0x2c0963){if(_0x2c0963&&_0x2c0963[_0x80a0('0x57')]===0x0){return db[_0x80a0('0x2e')][_0x80a0('0x53')]({'name':_0x10b422[_0x80a0('0x32')],'resourceId':_0x10b422['id'],'type':_0x2c0963['name'],'sectionId':_0x2c0963['id']},{})[_0x80a0('0x2b')](function(){return _0x389434;});}else{return _0x389434;}})['catch'](function(_0x30b770){logger[_0x80a0('0x30')](_0x80a0('0x58'),_0x30b770);throw _0x30b770;});}return _0x389434;})[_0x80a0('0x2b')](respondWithResult(_0x23b41f,0xc9))[_0x80a0('0x4e')](handleError(_0x23b41f,null));};exports[_0x80a0('0x29')]=function(_0x15b39c,_0x46fe9f){if(_0x15b39c[_0x80a0('0x59')]['id']){delete _0x15b39c[_0x80a0('0x59')]['id'];}return db[_0x80a0('0x35')]['find']({'where':{'id':_0x15b39c[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x46fe9f,null))[_0x80a0('0x2b')](saveUpdates(_0x15b39c[_0x80a0('0x59')],null))['then'](respondWithResult(_0x46fe9f,null))[_0x80a0('0x4e')](handleError(_0x46fe9f,null));};exports['destroy']=function(_0x2e0ab5,_0x3a4468){return db['CmList'][_0x80a0('0x52')]({'where':{'id':_0x2e0ab5[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x3a4468,null))['then'](removeEntity(_0x3a4468,null))[_0x80a0('0x4e')](handleError(_0x3a4468,null));};exports[_0x80a0('0x5a')]=function(_0x5dbbac,_0x58ba21){return db[_0x80a0('0x35')][_0x80a0('0x5a')]()[_0x80a0('0x2b')](respondWithResult(_0x58ba21,null))[_0x80a0('0x4e')](handleError(_0x58ba21,null));};exports[_0x80a0('0x5b')]=function(_0x3fc81a,_0x150567,_0x249bd2){if(_0x3fc81a[_0x80a0('0x59')]['id']){delete _0x3fc81a[_0x80a0('0x59')]['id'];}return db[_0x80a0('0x35')][_0x80a0('0x52')]({'where':{'id':_0x3fc81a[_0x80a0('0x50')]['id']}})['then'](handleEntityNotFound(_0x150567,null))['then'](function(_0x1c43f8){if(_0x1c43f8){_0x3fc81a['body'][_0x80a0('0x5c')]=_0x1c43f8['id'];return db['Disposition'][_0x80a0('0x53')](_0x3fc81a['body']);}})['then'](respondWithResult(_0x150567,null))['catch'](handleError(_0x150567,null));};exports[_0x80a0('0x5d')]=function(_0x9a5a8a,_0xa12abf,_0x42dfb3){var _0x3c6d84={'raw':![],'where':{}};var _0x4eae6d={};var _0x4be86e={'count':0x0,'rows':[]};return db[_0x80a0('0x35')][_0x80a0('0x5e')]({'where':{'id':_0x9a5a8a[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0xa12abf,null))[_0x80a0('0x2b')](function(_0x2f16c6){if(_0x2f16c6){_0x4eae6d[_0x80a0('0x39')]=_[_0x80a0('0x3a')](db[_0x80a0('0x5f')]['rawAttributes']);_0x4eae6d['query']=_[_0x80a0('0x3a')](_0x9a5a8a[_0x80a0('0x3b')]);_0x4eae6d[_0x80a0('0x3c')]=_[_0x80a0('0x3d')](_0x4eae6d[_0x80a0('0x39')],_0x4eae6d[_0x80a0('0x3b')]);_0x3c6d84[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x4eae6d[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x9a5a8a[_0x80a0('0x3b')][_0x80a0('0x3f')]));_0x3c6d84[_0x80a0('0x3e')]=_0x3c6d84[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x3c6d84['attributes']:_0x4eae6d[_0x80a0('0x39')];if(!_0x9a5a8a[_0x80a0('0x3b')][_0x80a0('0x41')](_0x80a0('0x42'))){_0x3c6d84['limit']=qs['limit'](_0x9a5a8a[_0x80a0('0x3b')][_0x80a0('0x24')]);_0x3c6d84[_0x80a0('0x23')]=qs['offset'](_0x9a5a8a['query'][_0x80a0('0x23')]);}_0x3c6d84[_0x80a0('0x43')]=qs['sort'](_0x9a5a8a[_0x80a0('0x3b')][_0x80a0('0x44')]);_0x3c6d84['where']=qs[_0x80a0('0x3c')](_[_0x80a0('0x45')](_0x9a5a8a[_0x80a0('0x3b')],_0x4eae6d[_0x80a0('0x3c')]));_0x3c6d84[_0x80a0('0x46')][_0x80a0('0x5c')]=_0x2f16c6['id'];if(_0x9a5a8a['query'][_0x80a0('0x4a')]){_0x3c6d84[_0x80a0('0x46')]=_[_0x80a0('0x47')](_0x3c6d84['where'],{'$or':_['map'](_0x3c6d84[_0x80a0('0x3e')],function(_0x1f8e22){var _0x533cfc={};_0x533cfc[_0x1f8e22]={'$like':'%'+_0x9a5a8a['query'][_0x80a0('0x4a')]+'%'};return _0x533cfc;})});}_0x3c6d84=_[_0x80a0('0x47')]({},_0x3c6d84,_0x9a5a8a[_0x80a0('0x4b')]);return db[_0x80a0('0x5f')]['count']({'where':_0x3c6d84['where']})[_0x80a0('0x2b')](function(_0x31010d){_0x4be86e[_0x80a0('0x26')]=_0x31010d;if(_0x9a5a8a['query'][_0x80a0('0x51')]){_0x3c6d84['include']=[{'all':!![]}];}return db[_0x80a0('0x5f')]['findAll'](_0x3c6d84);})['then'](function(_0xf8f68e){_0x4be86e[_0x80a0('0x4d')]=_0xf8f68e;return _0x4be86e;});}})[_0x80a0('0x2b')](respondWithFilteredResult(_0xa12abf,_0x3c6d84))[_0x80a0('0x4e')](handleError(_0xa12abf,null));};exports[_0x80a0('0x60')]=function(_0x569333,_0x56e1eb,_0x33d3b0){return db['CmList']['find']({'where':{'id':_0x569333['params']['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x56e1eb,null))[_0x80a0('0x2b')](function(_0x105ce9){if(_0x105ce9){return _0x105ce9[_0x80a0('0x60')](_0x569333['query'][_0x80a0('0x61')]);}})[_0x80a0('0x2b')](respondWithStatusCode(_0x56e1eb,null))[_0x80a0('0x4e')](handleError(_0x56e1eb,null));};exports['addContacts']=function(_0x626267,_0x3bd1d3,_0x5109e6){return db[_0x80a0('0x35')]['find']({'where':{'id':_0x626267[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x3bd1d3,null))[_0x80a0('0x2b')](function(_0x397774){if(_0x397774){var _0x1a6013=[];var _0x5d69ba={'success':[],'errors':[]};return db[_0x80a0('0x62')]['describe']()[_0x80a0('0x2b')](function(_0x4df087){if(_0x626267[_0x80a0('0x59')][_0x80a0('0x63')]&&_[_0x80a0('0x64')](_0x626267[_0x80a0('0x59')][_0x80a0('0x63')])){if(_0x626267[_0x80a0('0x59')][_0x80a0('0x63')][_0x80a0('0x40')]){_0x626267[_0x80a0('0x59')][_0x80a0('0x63')]=_0x626267[_0x80a0('0x59')]['tags'][_0x80a0('0x65')](';')+';';}else{_0x626267[_0x80a0('0x59')][_0x80a0('0x63')]=null;}}else{_0x626267[_0x80a0('0x59')][_0x80a0('0x63')]=null;}if(_0x626267[_0x80a0('0x59')]&&_[_0x80a0('0x64')](_0x626267[_0x80a0('0x59')])){for(var _0x3b5ff8=0x0;_0x3b5ff8<_0x626267[_0x80a0('0x59')]['length'];_0x3b5ff8+=0x1){_0x626267['body'][_0x3b5ff8]['ListId']=_0x626267['params']['id'];_0x1a6013[_0x80a0('0x66')](_0x626267[_0x80a0('0x59')][_0x3b5ff8]);}return BPromise[_0x80a0('0x67')](_0x1a6013,function(_0x11274f){return db[_0x80a0('0x62')]['create'](_[_0x80a0('0x68')](_0x11274f,[_0x80a0('0x61'),'id'])||{},{'fields':_[_0x80a0('0x3a')](_0x4df087),'raw':!![]})['then'](function(_0x276dd6){_0x5d69ba[_0x80a0('0x69')][_0x80a0('0x66')](_0x276dd6[_0x80a0('0x6a')]);})['catch'](function(_0x58e3d4){_0x5d69ba[_0x80a0('0x6b')]['push']({'data':_0x11274f,'error':_0x58e3d4[_0x80a0('0x6c')]});});})[_0x80a0('0x2b')](function(_0x59ab24){return _0x5d69ba;})[_0x80a0('0x4e')](function(_0x553f5e){return _0x553f5e;});}else{_0x3bd1d3['status'](0x190)[_0x80a0('0x22')]({'message':_0x80a0('0x6d')});}});}})[_0x80a0('0x2b')](respondWithResult(_0x3bd1d3,null))['catch'](handleError(_0x3bd1d3,null));};exports[_0x80a0('0x6e')]=function(_0x3eb653,_0x160b29,_0x4fa947){var _0x49ae49;return db[_0x80a0('0x35')][_0x80a0('0x52')]({'where':{'id':_0x3eb653[_0x80a0('0x50')]['id']},'include':[{'model':db[_0x80a0('0x6f')],'as':_0x80a0('0x70')}]})[_0x80a0('0x2b')](handleEntityNotFound(_0x160b29,null))[_0x80a0('0x2b')](function(_0x2802a9){if(_0x2802a9){_0x49ae49=_0x2802a9;return db['CmContact']['rawAttributes'];}})['then'](function(_0x41092d){if(_0x41092d){var _0x285673={};var _0x41d968={};_0x41d968['model']=_['concat'](_[_0x80a0('0x3a')](_0x41092d),_[_0x80a0('0x34')](_0x49ae49[_0x80a0('0x70')],function(_0x46b08e){return util['format']('cf_%d',_0x46b08e['id']);}));_0x41d968['query']=_[_0x80a0('0x3a')](_0x3eb653[_0x80a0('0x3b')]);_0x41d968[_0x80a0('0x3c')]=_[_0x80a0('0x3d')](_0x41d968[_0x80a0('0x39')],_0x41d968[_0x80a0('0x3b')]);_0x285673[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x41d968[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x3eb653[_0x80a0('0x3b')][_0x80a0('0x3f')]));_0x285673[_0x80a0('0x3e')]=_0x285673[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x285673['attributes']:_0x41d968[_0x80a0('0x39')];if(!_0x3eb653['query'][_0x80a0('0x41')]('nolimit')){_0x285673['limit']=qs[_0x80a0('0x24')](_0x3eb653[_0x80a0('0x3b')][_0x80a0('0x24')]);_0x285673['offset']=qs[_0x80a0('0x23')](_0x3eb653['query'][_0x80a0('0x23')]);}_0x285673['order']=qs[_0x80a0('0x44')](_0x3eb653['query'][_0x80a0('0x44')]);_0x285673[_0x80a0('0x46')]=qs[_0x80a0('0x3c')](_[_0x80a0('0x45')](_0x3eb653[_0x80a0('0x3b')],_0x41d968['filters']));_0x285673[_0x80a0('0x71')]=!![];if(_0x3eb653['query'][_0x80a0('0x4a')]){_0x285673[_0x80a0('0x46')]=_[_0x80a0('0x47')](_0x285673['where'],{'$or':_['map'](_0x285673[_0x80a0('0x3e')],function(_0x137c47){var _0x434f5c={};_0x434f5c[_0x137c47]={'$like':'%'+_0x3eb653[_0x80a0('0x3b')]['filter']+'%'};return _0x434f5c;})});}_0x285673=_[_0x80a0('0x47')]({},_0x285673,_0x3eb653[_0x80a0('0x4b')]);return _0x49ae49['getContacts'](_0x285673);}})[_0x80a0('0x2b')](respondWithResult(_0x160b29,null))[_0x80a0('0x4e')](handleError(_0x160b29,null));};exports[_0x80a0('0x72')]=function(_0x7cb86a,_0x31dff3,_0x5c526e){var _0x2e689f;return db[_0x80a0('0x35')][_0x80a0('0x52')]({'where':{'id':_0x7cb86a[_0x80a0('0x50')]['id']},'include':[{'model':db[_0x80a0('0x6f')],'as':_0x80a0('0x70')}]})['then'](handleEntityNotFound(_0x31dff3,null))[_0x80a0('0x2b')](function(_0x2c7749){if(_0x2c7749){_0x2e689f=_0x2c7749;return db[_0x80a0('0x62')][_0x80a0('0x36')];}})[_0x80a0('0x2b')](function(_0x581eb1){if(_0x581eb1){var _0x1d6076={};var _0x1b5d6f={};_0x1b5d6f[_0x80a0('0x39')]=_[_0x80a0('0x73')](_[_0x80a0('0x3a')](_0x581eb1),_['map'](_0x2e689f[_0x80a0('0x70')],function(_0x23a627){return util[_0x80a0('0x74')](_0x80a0('0x75'),_0x23a627['id']);}));_0x1b5d6f['query']=_[_0x80a0('0x3a')](_0x7cb86a[_0x80a0('0x3b')]);_0x1b5d6f[_0x80a0('0x3c')]=_['intersection'](_0x1b5d6f[_0x80a0('0x39')],_0x1b5d6f['query']);_0x1d6076[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x1b5d6f[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x7cb86a['query'][_0x80a0('0x3f')]));_0x1d6076[_0x80a0('0x3e')]=_0x1d6076[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x1d6076[_0x80a0('0x3e')]:_0x1b5d6f[_0x80a0('0x39')];if(!_0x7cb86a[_0x80a0('0x3b')][_0x80a0('0x41')](_0x80a0('0x42'))){_0x1d6076[_0x80a0('0x24')]=qs[_0x80a0('0x24')](_0x7cb86a['query'][_0x80a0('0x24')]);_0x1d6076[_0x80a0('0x23')]=qs['offset'](_0x7cb86a['query'][_0x80a0('0x23')]);}_0x1d6076[_0x80a0('0x43')]=qs['sort'](_0x7cb86a[_0x80a0('0x3b')][_0x80a0('0x44')]);_0x1d6076[_0x80a0('0x46')]=qs[_0x80a0('0x3c')](_[_0x80a0('0x45')](_0x7cb86a['query'],_0x1b5d6f['filters']));_0x1d6076[_0x80a0('0x71')]=!![];if(_0x7cb86a['query'][_0x80a0('0x4a')]){_0x1d6076['where']=_['merge'](_0x1d6076[_0x80a0('0x46')],{'$or':_[_0x80a0('0x34')](_0x1d6076[_0x80a0('0x3e')],function(_0x3ea2f4){var _0x5f5229={};_0x5f5229[_0x3ea2f4]={'$like':'%'+_0x7cb86a[_0x80a0('0x3b')]['filter']+'%'};return _0x5f5229;})});}_0x1d6076=_[_0x80a0('0x47')]({},_0x1d6076,_0x7cb86a[_0x80a0('0x4b')]);return _0x2e689f[_0x80a0('0x6e')](_0x1d6076);}})[_0x80a0('0x2b')](function(_0x236bc5){if(!_[_0x80a0('0x76')](_0x236bc5)){var _0x3f8363=toCsv(_0x236bc5);var _0x23115a=Date[_0x80a0('0x77')]();fs['writeFileSync'](util[_0x80a0('0x74')]('/tmp/list_%d_%s.csv',_0x2e689f['id'],_0x23115a),_0x3f8363);_0x31dff3[_0x80a0('0x78')](_0x80a0('0x79'),_0x80a0('0x7a')+util[_0x80a0('0x74')]('list_%d_%s.csv',_0x2e689f['id'],_0x23115a));_0x31dff3['setHeader'](_0x80a0('0x7b'),'text/csv');return _0x31dff3[_0x80a0('0x7c')](util[_0x80a0('0x74')]('/tmp/list_%d_%s.csv',_0x2e689f['id'],_0x23115a));}else{return _0x31dff3['sendStatus'](0xcc);}})[_0x80a0('0x4e')](handleError(_0x31dff3,null));};exports[_0x80a0('0x7d')]=function(_0x4eafc8,_0x9c641,_0x52fb0e){var _0x5db943;delete _0x4eafc8[_0x80a0('0x59')]['id'];return db[_0x80a0('0x35')][_0x80a0('0x5e')]({'where':{'id':_0x4eafc8[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x9c641,null))[_0x80a0('0x2b')](function(_0x35646a){if(_0x35646a){return db[_0x80a0('0x7e')]['transaction'](function(_0x954843){return db['CmCustomField'][_0x80a0('0x53')](_0x4eafc8[_0x80a0('0x59')],{'transaction':_0x954843})[_0x80a0('0x2b')](function(_0x1c8202){_0x5db943=_0x1c8202;return _0x35646a[_0x80a0('0x7f')](_0x1c8202,{'transaction':_0x954843});})[_0x80a0('0x2b')](function(){var _0x51e3f3={'type':db[_0x80a0('0x80')]['TEXT'],'transaction':_0x954843};switch(_0x4eafc8[_0x80a0('0x59')][_0x80a0('0x48')]){case _0x80a0('0x81'):_0x51e3f3[_0x80a0('0x48')]=db['Sequelize']['TEXT'];break;case _0x80a0('0x82'):_0x51e3f3[_0x80a0('0x48')]=db[_0x80a0('0x80')]['INTEGER'];break;case _0x80a0('0x83'):_0x51e3f3[_0x80a0('0x48')]=db['Sequelize'][_0x80a0('0x84')];_0x51e3f3[_0x80a0('0x85')]=![];break;default:}return db[_0x80a0('0x7e')][_0x80a0('0x86')][_0x80a0('0x87')](_0x80a0('0x88'),util[_0x80a0('0x74')](_0x80a0('0x89'),_0x5db943['id']),_0x51e3f3);})[_0x80a0('0x2b')](function(){return _0x5db943;});});}})[_0x80a0('0x2b')](respondWithResult(_0x9c641,null))['catch'](handleError(_0x9c641,null));};exports[_0x80a0('0x8a')]=function(_0x397fc0,_0x519591,_0x37b97f){var _0x51ed27={};var _0x78576f={};var _0x54c331;var _0x23eeb6;return db[_0x80a0('0x35')][_0x80a0('0x5e')]({'where':{'id':_0x397fc0['params']['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x519591,null))[_0x80a0('0x2b')](function(_0x3afc6f){if(_0x3afc6f){_0x54c331=_0x3afc6f;_0x78576f['model']=_[_0x80a0('0x3a')](db['CmCustomField'][_0x80a0('0x36')]);_0x78576f[_0x80a0('0x3b')]=_[_0x80a0('0x3a')](_0x397fc0[_0x80a0('0x3b')]);_0x78576f[_0x80a0('0x3c')]=_[_0x80a0('0x3d')](_0x78576f[_0x80a0('0x39')],_0x78576f['query']);_0x51ed27[_0x80a0('0x3e')]=_[_0x80a0('0x3d')](_0x78576f[_0x80a0('0x39')],qs[_0x80a0('0x3f')](_0x397fc0[_0x80a0('0x3b')][_0x80a0('0x3f')]));_0x51ed27['attributes']=_0x51ed27[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x51ed27[_0x80a0('0x3e')]:_0x78576f[_0x80a0('0x39')];_0x51ed27[_0x80a0('0x43')]=qs[_0x80a0('0x44')](_0x397fc0['query'][_0x80a0('0x44')]);_0x51ed27['where']=qs[_0x80a0('0x3c')](_[_0x80a0('0x45')](_0x397fc0['query'],_0x78576f[_0x80a0('0x3c')]));_0x51ed27[_0x80a0('0x46')]=_[_0x80a0('0x47')](_0x51ed27[_0x80a0('0x46')],{'$or':[{'ListId':_0x3afc6f['id']},{'ListId':null}]});if(_0x397fc0[_0x80a0('0x3b')][_0x80a0('0x4a')]){_0x51ed27['where']=_[_0x80a0('0x47')](_0x51ed27['where'],{'$or':_[_0x80a0('0x34')](_0x51ed27['attributes'],function(_0x3aa17e){var _0x2f8c5b={};_0x2f8c5b[_0x3aa17e]={'$like':'%'+_0x397fc0['query'][_0x80a0('0x4a')]+'%'};return _0x2f8c5b;})});}_0x51ed27=_[_0x80a0('0x47')]({},_0x51ed27,_0x397fc0[_0x80a0('0x4b')]);return db[_0x80a0('0x6f')]['findAndCountAll'](_0x51ed27);}})[_0x80a0('0x2b')](respondWithResult(_0x519591,null))[_0x80a0('0x4e')](handleError(_0x519591,null));};exports[_0x80a0('0x8b')]=function(_0x55a9b6,_0xf8d3f4,_0x1d7173){return db[_0x80a0('0x35')][_0x80a0('0x52')]({'where':{'id':_0x55a9b6[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0xf8d3f4,null))[_0x80a0('0x2b')](function(_0x526f1e){if(_0x526f1e){return _0x526f1e['addAgents'](_0x55a9b6[_0x80a0('0x59')]['ids'],_[_0x80a0('0x68')](_0x55a9b6['body'],[_0x80a0('0x61'),'id'])||{})[_0x80a0('0x8c')](function(_0xf0ca3){for(var _0x72a533=0x0;_0x72a533<_0x55a9b6['body'][_0x80a0('0x61')][_0x80a0('0x40')];_0x72a533+=0x1){socket[_0x80a0('0x8d')]('userCmList:save',{'UserId':Number(_0x55a9b6[_0x80a0('0x59')][_0x80a0('0x61')][_0x72a533]),'CmListId':Number(_0x55a9b6[_0x80a0('0x50')]['id'])});}return _0xf0ca3;});}})[_0x80a0('0x2b')](respondWithResult(_0xf8d3f4,null))[_0x80a0('0x4e')](handleError(_0xf8d3f4,null));};exports['removeAgents']=function(_0x1c05aa,_0x51d51a,_0x3b30ae){return db[_0x80a0('0x35')][_0x80a0('0x52')]({'where':{'id':_0x1c05aa[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x51d51a,null))[_0x80a0('0x2b')](function(_0x421c66){if(_0x421c66){return _0x421c66[_0x80a0('0x8e')](_0x1c05aa['query'][_0x80a0('0x61')])['then'](function(){if(_[_0x80a0('0x64')](_0x1c05aa[_0x80a0('0x3b')]['ids'])){for(var _0x4412b9=0x0;_0x4412b9<_0x1c05aa[_0x80a0('0x3b')]['ids'][_0x80a0('0x40')];_0x4412b9+=0x1){socket[_0x80a0('0x8d')](_0x80a0('0x8f'),{'UserId':Number(_0x1c05aa[_0x80a0('0x3b')][_0x80a0('0x61')][_0x4412b9]),'CmListId':Number(_0x1c05aa[_0x80a0('0x50')]['id'])});}}else{socket[_0x80a0('0x8d')](_0x80a0('0x8f'),{'UserId':Number(_0x1c05aa[_0x80a0('0x3b')][_0x80a0('0x61')]),'CmListId':Number(_0x1c05aa[_0x80a0('0x50')]['id'])});}});}})[_0x80a0('0x2b')](respondWithStatusCode(_0x51d51a,null))[_0x80a0('0x4e')](handleError(_0x51d51a,null));};exports[_0x80a0('0x90')]=function(_0x359755,_0x15c14e,_0x2dbd7c){var _0x61670d={};var _0x2bd2b4={};var _0x5c401a;var _0x52265e;return db[_0x80a0('0x35')][_0x80a0('0x5e')]({'where':{'id':_0x359755[_0x80a0('0x50')]['id']}})[_0x80a0('0x2b')](handleEntityNotFound(_0x15c14e,null))[_0x80a0('0x2b')](function(_0x1ae91f){if(_0x1ae91f){_0x5c401a=_0x1ae91f;_0x2bd2b4['model']=_[_0x80a0('0x3a')](db[_0x80a0('0x91')]['rawAttributes']);_0x2bd2b4[_0x80a0('0x3b')]=_['keys'](_0x359755[_0x80a0('0x3b')]);_0x2bd2b4['filters']=_[_0x80a0('0x3d')](_0x2bd2b4[_0x80a0('0x39')],_0x2bd2b4['query']);_0x61670d['attributes']=_[_0x80a0('0x3d')](_0x2bd2b4['model'],qs['fields'](_0x359755[_0x80a0('0x3b')][_0x80a0('0x3f')]));_0x61670d[_0x80a0('0x3e')]=_0x61670d[_0x80a0('0x3e')][_0x80a0('0x40')]?_0x61670d[_0x80a0('0x3e')]:_0x2bd2b4['model'];_0x61670d['order']=qs[_0x80a0('0x44')](_0x359755[_0x80a0('0x3b')][_0x80a0('0x44')]);_0x61670d[_0x80a0('0x46')]=qs[_0x80a0('0x3c')](_['pick'](_0x359755[_0x80a0('0x3b')],_0x2bd2b4[_0x80a0('0x3c')]));if(_0x359755['query'][_0x80a0('0x4a')]){_0x61670d[_0x80a0('0x46')]=_[_0x80a0('0x47')](_0x61670d['where'],{'$or':_[_0x80a0('0x34')](_0x61670d[_0x80a0('0x3e')],function(_0x20feb3){var _0x353eda={};_0x353eda[_0x20feb3]={'$like':'%'+_0x359755['query']['filter']+'%'};return _0x353eda;})});}_0x61670d=_[_0x80a0('0x47')]({},_0x61670d,_0x359755['options']);return _0x5c401a['getAgents'](_0x61670d);}})[_0x80a0('0x2b')](function(_0x3cf218){if(_0x3cf218){_0x52265e=_0x3cf218[_0x80a0('0x40')];if(!_0x359755[_0x80a0('0x3b')]['hasOwnProperty'](_0x80a0('0x42'))){_0x61670d[_0x80a0('0x24')]=qs[_0x80a0('0x24')](_0x359755[_0x80a0('0x3b')][_0x80a0('0x24')]);_0x61670d[_0x80a0('0x23')]=qs[_0x80a0('0x23')](_0x359755[_0x80a0('0x3b')]['offset']);}return _0x5c401a['getAgents'](_0x61670d);}})[_0x80a0('0x2b')](function(_0x332e90){if(_0x332e90){return _0x332e90?{'count':_0x52265e,'rows':_0x332e90}:null;}})['then'](respondWithResult(_0x15c14e,null))['catch'](handleError(_0x15c14e,null));};