a0713390cfaf4b2865a0fb110e903fd9453a0dd7
[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 _0x23f2=['download','addCustomField','findOne','sequelize','addCustomFields','Sequelize','TEXT','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cf_%s','getCustomFields','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','save','update','destroy','then','get','Lists','sendStatus','name','send','index','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','map','VIRTUAL','options','CmList','includeAll','findAll','rows','catch','show','keys','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addDisposition','Disposition','getDispositions','pick','ListId','removeDispositions','ids','addContacts','CmContact','tags','isArray','join','push','each','success','dataValues','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','format','raw','concat','cf_%d','now','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','text/csv'];(function(_0x43e8fb,_0x5e9f73){var _0x5a37f1=function(_0x175751){while(--_0x175751){_0x43e8fb['push'](_0x43e8fb['shift']());}};_0x5a37f1(++_0x5e9f73);}(_0x23f2,0x1ce));var _0x223f=function(_0x4ae736,_0xd59bde){_0x4ae736=_0x4ae736-0x0;var _0x248b19=_0x23f2[_0x4ae736];return _0x248b19;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x223f('0x0'));var zipdir=require(_0x223f('0x1'));var jsonpatch=require(_0x223f('0x2'));var rp=require(_0x223f('0x3'));var moment=require('moment');var BPromise=require(_0x223f('0x4'));var Mustache=require(_0x223f('0x5'));var util=require(_0x223f('0x6'));var path=require(_0x223f('0x7'));var sox=require(_0x223f('0x8'));var csv=require(_0x223f('0x9'));var ejs=require(_0x223f('0xa'));var fs=require('fs');var fs_extra=require(_0x223f('0xb'));var _=require('lodash');var squel=require(_0x223f('0xc'));var crypto=require(_0x223f('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x223f('0xe'));var toCsv=require('to-csv');var querystring=require(_0x223f('0xf'));var Papa=require('papaparse');var Redis=require(_0x223f('0x10'));var authService=require(_0x223f('0x11'));var qs=require(_0x223f('0x12'));var as=require(_0x223f('0x13'));var hardwareService=require(_0x223f('0x14'));var logger=require(_0x223f('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x223f('0x16'));var licenseUtil=require(_0x223f('0x17'));var db=require(_0x223f('0x18'))['db'];config[_0x223f('0x19')]=_['defaults'](config[_0x223f('0x19')],{'host':_0x223f('0x1a'),'port':0x18eb});var socket=require(_0x223f('0x1b'))(new Redis(config['redis']));require('./cmList.socket')['register'](socket);function respondWithStatusCode(_0x15391d,_0x12542a){_0x12542a=_0x12542a||0xcc;return function(_0x58e038){if(_0x58e038){return _0x15391d['sendStatus'](_0x12542a);}return _0x15391d[_0x223f('0x1c')](_0x12542a)[_0x223f('0x1d')]();};}function respondWithResult(_0xf5d312,_0x1c3209){_0x1c3209=_0x1c3209||0xc8;return function(_0x445feb){if(_0x445feb){return _0xf5d312[_0x223f('0x1c')](_0x1c3209)[_0x223f('0x1e')](_0x445feb);}};}function respondWithFilteredResult(_0x39e98f,_0x298c54){return function(_0x2de4cd){if(_0x2de4cd){var _0x44452d=typeof _0x298c54[_0x223f('0x1f')]===_0x223f('0x20')&&typeof _0x298c54[_0x223f('0x21')]===_0x223f('0x20');var _0x169d13=_0x2de4cd[_0x223f('0x22')];var _0x28cefb=_0x44452d?0x0:_0x298c54[_0x223f('0x1f')];var _0x4458f3=_0x44452d?_0x2de4cd['count']:_0x298c54[_0x223f('0x1f')]+_0x298c54[_0x223f('0x21')];var _0x335244;if(_0x4458f3>=_0x169d13){_0x4458f3=_0x169d13;_0x335244=0xc8;}else{_0x335244=0xce;}_0x39e98f[_0x223f('0x1c')](_0x335244);return _0x39e98f[_0x223f('0x23')](_0x223f('0x24'),_0x28cefb+'-'+_0x4458f3+'/'+_0x169d13)['json'](_0x2de4cd);}return null;};}function patchUpdates(_0x402ffd){return function(_0x4e36bd){try{jsonpatch[_0x223f('0x25')](_0x4e36bd,_0x402ffd,!![]);}catch(_0x29ad0d){return BPromise['reject'](_0x29ad0d);}return _0x4e36bd[_0x223f('0x26')]();};}function saveUpdates(_0x827ebc,_0x3f87fa){return function(_0x25534a){if(_0x25534a){return _0x25534a[_0x223f('0x27')](_0x827ebc)['then'](function(_0x20cbd0){return _0x20cbd0;});}return null;};}function removeEntity(_0x545afb,_0x5be89d){return function(_0x80904c){if(_0x80904c){return _0x80904c[_0x223f('0x28')]()[_0x223f('0x29')](function(){var _0x4285e1=_0x80904c[_0x223f('0x2a')]({'plain':!![]});var _0x59ee9c=_0x223f('0x2b');return db['UserProfileResource']['destroy']({'where':{'type':_0x59ee9c,'resourceId':_0x4285e1['id']}})[_0x223f('0x29')](function(){return _0x80904c;});})[_0x223f('0x29')](function(){_0x545afb['status'](0xcc)[_0x223f('0x1d')]();});}};}function handleEntityNotFound(_0x15a45f,_0x4faa84){return function(_0x151527){if(!_0x151527){_0x15a45f[_0x223f('0x2c')](0x194);}return _0x151527;};}function handleError(_0x1a629e,_0x3620f0){_0x3620f0=_0x3620f0||0x1f4;return function(_0x286832){logger['error'](_0x286832['stack']);if(_0x286832[_0x223f('0x2d')]){delete _0x286832[_0x223f('0x2d')];}_0x1a629e[_0x223f('0x1c')](_0x3620f0)[_0x223f('0x2e')](_0x286832);};}exports[_0x223f('0x2f')]=function(_0x1b4598,_0x5ee3bd){var _0x238e1c={},_0x5ebefb={},_0x2965c7={'count':0x0,'rows':[]};var _0x3d8ca9=_['map'](db['CmList'][_0x223f('0x30')],function(_0x29754e){return{'name':_0x29754e[_0x223f('0x31')],'type':_0x29754e[_0x223f('0x32')][_0x223f('0x33')]};});_0x5ebefb[_0x223f('0x34')]=_['map'](_0x3d8ca9,_0x223f('0x2d'));_0x5ebefb[_0x223f('0x35')]=_['keys'](_0x1b4598[_0x223f('0x35')]);_0x5ebefb['filters']=_[_0x223f('0x36')](_0x5ebefb[_0x223f('0x34')],_0x5ebefb[_0x223f('0x35')]);_0x238e1c[_0x223f('0x37')]=_[_0x223f('0x36')](_0x5ebefb[_0x223f('0x34')],qs[_0x223f('0x38')](_0x1b4598[_0x223f('0x35')][_0x223f('0x38')]));_0x238e1c['attributes']=_0x238e1c[_0x223f('0x37')][_0x223f('0x39')]?_0x238e1c[_0x223f('0x37')]:_0x5ebefb['model'];if(!_0x1b4598[_0x223f('0x35')][_0x223f('0x3a')](_0x223f('0x3b'))){_0x238e1c[_0x223f('0x21')]=qs[_0x223f('0x21')](_0x1b4598['query']['limit']);_0x238e1c[_0x223f('0x1f')]=qs[_0x223f('0x1f')](_0x1b4598['query']['offset']);}_0x238e1c[_0x223f('0x3c')]=qs[_0x223f('0x3d')](_0x1b4598[_0x223f('0x35')][_0x223f('0x3d')]);_0x238e1c[_0x223f('0x3e')]=qs['filters'](_['pick'](_0x1b4598[_0x223f('0x35')],_0x5ebefb[_0x223f('0x3f')]),_0x3d8ca9);if(_0x1b4598[_0x223f('0x35')][_0x223f('0x40')]){_0x238e1c[_0x223f('0x3e')]=_[_0x223f('0x41')](_0x238e1c['where'],{'$or':_[_0x223f('0x42')](_0x3d8ca9,function(_0x143d1f){if(_0x143d1f[_0x223f('0x32')]!==_0x223f('0x43')){var _0x34b722={};_0x34b722[_0x143d1f['name']]={'$like':'%'+_0x1b4598[_0x223f('0x35')][_0x223f('0x40')]+'%'};return _0x34b722;}})});}_0x238e1c=_[_0x223f('0x41')]({},_0x238e1c,_0x1b4598[_0x223f('0x44')]);var _0x5ba116={'where':_0x238e1c[_0x223f('0x3e')]};return db[_0x223f('0x45')][_0x223f('0x22')](_0x5ba116)[_0x223f('0x29')](function(_0x1b57fd){_0x2965c7[_0x223f('0x22')]=_0x1b57fd;if(_0x1b4598[_0x223f('0x35')][_0x223f('0x46')]){_0x238e1c['include']=[{'all':!![]}];}return db[_0x223f('0x45')][_0x223f('0x47')](_0x238e1c);})[_0x223f('0x29')](function(_0x5e9c73){_0x2965c7[_0x223f('0x48')]=_0x5e9c73;return _0x2965c7;})[_0x223f('0x29')](respondWithFilteredResult(_0x5ee3bd,_0x238e1c))[_0x223f('0x49')](handleError(_0x5ee3bd,null));};exports[_0x223f('0x4a')]=function(_0x8f22e,_0x33421e){var _0xff3ae2={'raw':![],'where':{'id':_0x8f22e['params']['id']}},_0x26470d={};_0x26470d[_0x223f('0x34')]=_[_0x223f('0x4b')](db[_0x223f('0x45')][_0x223f('0x30')]);_0x26470d[_0x223f('0x35')]=_[_0x223f('0x4b')](_0x8f22e[_0x223f('0x35')]);_0x26470d[_0x223f('0x3f')]=_[_0x223f('0x36')](_0x26470d[_0x223f('0x34')],_0x26470d[_0x223f('0x35')]);_0xff3ae2[_0x223f('0x37')]=_[_0x223f('0x36')](_0x26470d['model'],qs['fields'](_0x8f22e['query']['fields']));_0xff3ae2[_0x223f('0x37')]=_0xff3ae2[_0x223f('0x37')]['length']?_0xff3ae2[_0x223f('0x37')]:_0x26470d[_0x223f('0x34')];if(_0x8f22e[_0x223f('0x35')][_0x223f('0x46')]){_0xff3ae2[_0x223f('0x4c')]=[{'all':!![]}];}_0xff3ae2=_['merge']({},_0xff3ae2,_0x8f22e[_0x223f('0x44')]);return db[_0x223f('0x45')][_0x223f('0x4d')](_0xff3ae2)[_0x223f('0x29')](handleEntityNotFound(_0x33421e,null))[_0x223f('0x29')](respondWithResult(_0x33421e,null))['catch'](handleError(_0x33421e,null));};exports[_0x223f('0x4e')]=function(_0x3951ba,_0x30cb69){return db['CmList']['create'](_0x3951ba[_0x223f('0x4f')],{})['then'](function(_0x2cff79){var _0x1db3f7=_0x3951ba['user'][_0x223f('0x2a')]({'plain':!![]});if(!_0x1db3f7)throw new Error(_0x223f('0x50'));if(_0x1db3f7[_0x223f('0x51')]==='user'){var _0x1f116f=_0x2cff79['get']({'plain':!![]});var _0x1d8083=_0x223f('0x2b');return db[_0x223f('0x52')][_0x223f('0x4d')]({'where':{'name':_0x1d8083,'userProfileId':_0x1db3f7[_0x223f('0x53')]},'raw':!![]})[_0x223f('0x29')](function(_0x2f36aa){if(_0x2f36aa&&_0x2f36aa[_0x223f('0x54')]===0x0){return db[_0x223f('0x55')][_0x223f('0x4e')]({'name':_0x1f116f[_0x223f('0x2d')],'resourceId':_0x1f116f['id'],'type':_0x2f36aa[_0x223f('0x2d')],'sectionId':_0x2f36aa['id']},{})[_0x223f('0x29')](function(){return _0x2cff79;});}else{return _0x2cff79;}})[_0x223f('0x49')](function(_0xe62739){logger[_0x223f('0x56')](_0x223f('0x57'),_0xe62739);throw _0xe62739;});}return _0x2cff79;})[_0x223f('0x29')](respondWithResult(_0x30cb69,0xc9))[_0x223f('0x49')](handleError(_0x30cb69,null));};exports['update']=function(_0x38daff,_0x49b5b5){if(_0x38daff[_0x223f('0x4f')]['id']){delete _0x38daff[_0x223f('0x4f')]['id'];}return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0x38daff[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x49b5b5,null))['then'](saveUpdates(_0x38daff['body'],null))[_0x223f('0x29')](respondWithResult(_0x49b5b5,null))[_0x223f('0x49')](handleError(_0x49b5b5,null));};exports[_0x223f('0x28')]=function(_0x1dce03,_0x445ca3){return db['CmList']['find']({'where':{'id':_0x1dce03['params']['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x445ca3,null))[_0x223f('0x29')](removeEntity(_0x445ca3,null))['catch'](handleError(_0x445ca3,null));};exports[_0x223f('0x59')]=function(_0x44738e,_0x2e3327){return db[_0x223f('0x45')][_0x223f('0x59')]()[_0x223f('0x29')](respondWithResult(_0x2e3327,null))['catch'](handleError(_0x2e3327,null));};exports[_0x223f('0x5a')]=function(_0x338b24,_0x3aa96f,_0x546809){if(_0x338b24[_0x223f('0x4f')]['id']){delete _0x338b24[_0x223f('0x4f')]['id'];}return db[_0x223f('0x45')]['find']({'where':{'id':_0x338b24[_0x223f('0x58')]['id']}})['then'](handleEntityNotFound(_0x3aa96f,null))['then'](function(_0x4c2a38){if(_0x4c2a38){_0x338b24[_0x223f('0x4f')]['ListId']=_0x4c2a38['id'];return db[_0x223f('0x5b')][_0x223f('0x4e')](_0x338b24[_0x223f('0x4f')]);}})[_0x223f('0x29')](respondWithResult(_0x3aa96f,null))[_0x223f('0x49')](handleError(_0x3aa96f,null));};exports[_0x223f('0x5c')]=function(_0x580f50,_0x48548f,_0x3bb21c){var _0x1fceb6={'raw':![],'where':{}};var _0x572fec={};var _0x4bb295={'count':0x0,'rows':[]};return db['CmList']['findOne']({'where':{'id':_0x580f50[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x48548f,null))[_0x223f('0x29')](function(_0x309445){if(_0x309445){_0x572fec[_0x223f('0x34')]=_[_0x223f('0x4b')](db[_0x223f('0x5b')][_0x223f('0x30')]);_0x572fec[_0x223f('0x35')]=_[_0x223f('0x4b')](_0x580f50[_0x223f('0x35')]);_0x572fec[_0x223f('0x3f')]=_[_0x223f('0x36')](_0x572fec['model'],_0x572fec['query']);_0x1fceb6['attributes']=_['intersection'](_0x572fec['model'],qs[_0x223f('0x38')](_0x580f50[_0x223f('0x35')][_0x223f('0x38')]));_0x1fceb6[_0x223f('0x37')]=_0x1fceb6['attributes'][_0x223f('0x39')]?_0x1fceb6[_0x223f('0x37')]:_0x572fec[_0x223f('0x34')];if(!_0x580f50[_0x223f('0x35')][_0x223f('0x3a')](_0x223f('0x3b'))){_0x1fceb6[_0x223f('0x21')]=qs[_0x223f('0x21')](_0x580f50[_0x223f('0x35')][_0x223f('0x21')]);_0x1fceb6[_0x223f('0x1f')]=qs[_0x223f('0x1f')](_0x580f50['query'][_0x223f('0x1f')]);}_0x1fceb6[_0x223f('0x3c')]=qs[_0x223f('0x3d')](_0x580f50[_0x223f('0x35')][_0x223f('0x3d')]);_0x1fceb6['where']=qs['filters'](_[_0x223f('0x5d')](_0x580f50[_0x223f('0x35')],_0x572fec[_0x223f('0x3f')]));_0x1fceb6[_0x223f('0x3e')][_0x223f('0x5e')]=_0x309445['id'];if(_0x580f50[_0x223f('0x35')][_0x223f('0x40')]){_0x1fceb6[_0x223f('0x3e')]=_[_0x223f('0x41')](_0x1fceb6['where'],{'$or':_[_0x223f('0x42')](_0x1fceb6[_0x223f('0x37')],function(_0x47c02d){var _0x5b4d09={};_0x5b4d09[_0x47c02d]={'$like':'%'+_0x580f50['query']['filter']+'%'};return _0x5b4d09;})});}_0x1fceb6=_[_0x223f('0x41')]({},_0x1fceb6,_0x580f50[_0x223f('0x44')]);return db[_0x223f('0x5b')]['count']({'where':_0x1fceb6[_0x223f('0x3e')]})[_0x223f('0x29')](function(_0x3dd01b){_0x4bb295[_0x223f('0x22')]=_0x3dd01b;if(_0x580f50[_0x223f('0x35')][_0x223f('0x46')]){_0x1fceb6[_0x223f('0x4c')]=[{'all':!![]}];}return db[_0x223f('0x5b')][_0x223f('0x47')](_0x1fceb6);})[_0x223f('0x29')](function(_0x594a2d){_0x4bb295[_0x223f('0x48')]=_0x594a2d;return _0x4bb295;});}})[_0x223f('0x29')](respondWithFilteredResult(_0x48548f,_0x1fceb6))[_0x223f('0x49')](handleError(_0x48548f,null));};exports['removeDispositions']=function(_0xa73c36,_0x144834,_0x12f8e7){return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0xa73c36[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x144834,null))[_0x223f('0x29')](function(_0x536d7d){if(_0x536d7d){return _0x536d7d[_0x223f('0x5f')](_0xa73c36[_0x223f('0x35')][_0x223f('0x60')]);}})['then'](respondWithStatusCode(_0x144834,null))[_0x223f('0x49')](handleError(_0x144834,null));};exports[_0x223f('0x61')]=function(_0x5e6c32,_0x52b262,_0x9648a){return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0x5e6c32[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x52b262,null))['then'](function(_0x8db301){if(_0x8db301){var _0x4f3e5a=[];var _0x50e032={'success':[],'errors':[]};return db[_0x223f('0x62')]['describe']()[_0x223f('0x29')](function(_0x43ccdf){if(_0x5e6c32['body'][_0x223f('0x63')]&&_[_0x223f('0x64')](_0x5e6c32['body'][_0x223f('0x63')])){if(_0x5e6c32['body'][_0x223f('0x63')][_0x223f('0x39')]){_0x5e6c32[_0x223f('0x4f')]['tags']=_0x5e6c32['body'][_0x223f('0x63')][_0x223f('0x65')](';')+';';}else{_0x5e6c32[_0x223f('0x4f')][_0x223f('0x63')]=null;}}else{_0x5e6c32['body'][_0x223f('0x63')]=null;}if(_0x5e6c32[_0x223f('0x4f')]&&_[_0x223f('0x64')](_0x5e6c32[_0x223f('0x4f')])){for(var _0x1787f3=0x0;_0x1787f3<_0x5e6c32[_0x223f('0x4f')][_0x223f('0x39')];_0x1787f3+=0x1){_0x5e6c32[_0x223f('0x4f')][_0x1787f3][_0x223f('0x5e')]=_0x5e6c32['params']['id'];_0x4f3e5a[_0x223f('0x66')](_0x5e6c32[_0x223f('0x4f')][_0x1787f3]);}return BPromise[_0x223f('0x67')](_0x4f3e5a,function(_0x3066d4){return db[_0x223f('0x62')][_0x223f('0x4e')](_['omit'](_0x3066d4,[_0x223f('0x60'),'id'])||{},{'fields':_[_0x223f('0x4b')](_0x43ccdf),'raw':!![]})['then'](function(_0x1fb55){_0x50e032[_0x223f('0x68')]['push'](_0x1fb55[_0x223f('0x69')]);})[_0x223f('0x49')](function(_0x361fa4){_0x50e032['errors'][_0x223f('0x66')]({'data':_0x3066d4,'error':_0x361fa4[_0x223f('0x6a')]});});})[_0x223f('0x29')](function(_0x38f49f){return _0x50e032;})['catch'](function(_0x2f02a9){return _0x2f02a9;});}else{_0x52b262[_0x223f('0x1c')](0x190)['json']({'message':_0x223f('0x6b')});}});}})['then'](respondWithResult(_0x52b262,null))[_0x223f('0x49')](handleError(_0x52b262,null));};exports[_0x223f('0x6c')]=function(_0x2662a9,_0x39bf88,_0x1e25c8){var _0x108b7b;return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0x2662a9[_0x223f('0x58')]['id']},'include':[{'model':db[_0x223f('0x6d')],'as':_0x223f('0x6e')}]})[_0x223f('0x29')](handleEntityNotFound(_0x39bf88,null))[_0x223f('0x29')](function(_0x5d5144){if(_0x5d5144){_0x108b7b=_0x5d5144;return db[_0x223f('0x62')]['rawAttributes'];}})[_0x223f('0x29')](function(_0x524d1c){if(_0x524d1c){var _0x4d77a0={};var _0x5a855e={};_0x5a855e[_0x223f('0x34')]=_['concat'](_[_0x223f('0x4b')](_0x524d1c),_[_0x223f('0x42')](_0x108b7b[_0x223f('0x6e')],function(_0x5602e9){return util[_0x223f('0x6f')]('cf_%d',_0x5602e9['id']);}));_0x5a855e['query']=_[_0x223f('0x4b')](_0x2662a9[_0x223f('0x35')]);_0x5a855e[_0x223f('0x3f')]=_[_0x223f('0x36')](_0x5a855e[_0x223f('0x34')],_0x5a855e[_0x223f('0x35')]);_0x4d77a0[_0x223f('0x37')]=_['intersection'](_0x5a855e[_0x223f('0x34')],qs[_0x223f('0x38')](_0x2662a9['query'][_0x223f('0x38')]));_0x4d77a0[_0x223f('0x37')]=_0x4d77a0[_0x223f('0x37')][_0x223f('0x39')]?_0x4d77a0['attributes']:_0x5a855e[_0x223f('0x34')];if(!_0x2662a9[_0x223f('0x35')][_0x223f('0x3a')]('nolimit')){_0x4d77a0['limit']=qs['limit'](_0x2662a9['query'][_0x223f('0x21')]);_0x4d77a0[_0x223f('0x1f')]=qs[_0x223f('0x1f')](_0x2662a9['query'][_0x223f('0x1f')]);}_0x4d77a0[_0x223f('0x3c')]=qs['sort'](_0x2662a9['query'][_0x223f('0x3d')]);_0x4d77a0[_0x223f('0x3e')]=qs[_0x223f('0x3f')](_[_0x223f('0x5d')](_0x2662a9[_0x223f('0x35')],_0x5a855e['filters']));_0x4d77a0[_0x223f('0x70')]=!![];if(_0x2662a9[_0x223f('0x35')][_0x223f('0x40')]){_0x4d77a0['where']=_[_0x223f('0x41')](_0x4d77a0[_0x223f('0x3e')],{'$or':_[_0x223f('0x42')](_0x4d77a0[_0x223f('0x37')],function(_0x36e623){var _0x199e06={};_0x199e06[_0x36e623]={'$like':'%'+_0x2662a9[_0x223f('0x35')][_0x223f('0x40')]+'%'};return _0x199e06;})});}_0x4d77a0=_[_0x223f('0x41')]({},_0x4d77a0,_0x2662a9['options']);return _0x108b7b[_0x223f('0x6c')](_0x4d77a0);}})[_0x223f('0x29')](respondWithResult(_0x39bf88,null))['catch'](handleError(_0x39bf88,null));};exports['getContactsCsv']=function(_0x38523b,_0x393455,_0x4f1778){var _0x4de9b4;return db['CmList'][_0x223f('0x4d')]({'where':{'id':_0x38523b['params']['id']},'include':[{'model':db[_0x223f('0x6d')],'as':_0x223f('0x6e')}]})[_0x223f('0x29')](handleEntityNotFound(_0x393455,null))[_0x223f('0x29')](function(_0x145a57){if(_0x145a57){_0x4de9b4=_0x145a57;return db[_0x223f('0x62')][_0x223f('0x30')];}})[_0x223f('0x29')](function(_0x1f3525){if(_0x1f3525){var _0x4774fb={};var _0x347abd={};_0x347abd[_0x223f('0x34')]=_[_0x223f('0x71')](_[_0x223f('0x4b')](_0x1f3525),_['map'](_0x4de9b4['CustomFields'],function(_0x519e0b){return util[_0x223f('0x6f')](_0x223f('0x72'),_0x519e0b['id']);}));_0x347abd[_0x223f('0x35')]=_['keys'](_0x38523b[_0x223f('0x35')]);_0x347abd['filters']=_[_0x223f('0x36')](_0x347abd['model'],_0x347abd[_0x223f('0x35')]);_0x4774fb[_0x223f('0x37')]=_[_0x223f('0x36')](_0x347abd['model'],qs[_0x223f('0x38')](_0x38523b[_0x223f('0x35')][_0x223f('0x38')]));_0x4774fb[_0x223f('0x37')]=_0x4774fb['attributes'][_0x223f('0x39')]?_0x4774fb[_0x223f('0x37')]:_0x347abd[_0x223f('0x34')];if(!_0x38523b[_0x223f('0x35')][_0x223f('0x3a')](_0x223f('0x3b'))){_0x4774fb[_0x223f('0x21')]=qs[_0x223f('0x21')](_0x38523b[_0x223f('0x35')][_0x223f('0x21')]);_0x4774fb[_0x223f('0x1f')]=qs[_0x223f('0x1f')](_0x38523b[_0x223f('0x35')][_0x223f('0x1f')]);}_0x4774fb[_0x223f('0x3c')]=qs['sort'](_0x38523b[_0x223f('0x35')]['sort']);_0x4774fb[_0x223f('0x3e')]=qs['filters'](_[_0x223f('0x5d')](_0x38523b[_0x223f('0x35')],_0x347abd['filters']));_0x4774fb['raw']=!![];if(_0x38523b[_0x223f('0x35')][_0x223f('0x40')]){_0x4774fb[_0x223f('0x3e')]=_[_0x223f('0x41')](_0x4774fb[_0x223f('0x3e')],{'$or':_['map'](_0x4774fb[_0x223f('0x37')],function(_0x2ef70f){var _0x4e532b={};_0x4e532b[_0x2ef70f]={'$like':'%'+_0x38523b[_0x223f('0x35')]['filter']+'%'};return _0x4e532b;})});}_0x4774fb=_[_0x223f('0x41')]({},_0x4774fb,_0x38523b[_0x223f('0x44')]);return _0x4de9b4[_0x223f('0x6c')](_0x4774fb);}})[_0x223f('0x29')](function(_0x3470c6){if(!_['isEmpty'](_0x3470c6)){var _0x2b1568=toCsv(_0x3470c6);var _0x3f2670=Date[_0x223f('0x73')]();fs['writeFileSync'](util[_0x223f('0x6f')](_0x223f('0x74'),_0x4de9b4['id'],_0x3f2670),_0x2b1568);_0x393455[_0x223f('0x75')](_0x223f('0x76'),_0x223f('0x77')+util[_0x223f('0x6f')](_0x223f('0x78'),_0x4de9b4['id'],_0x3f2670));_0x393455[_0x223f('0x75')]('Content-type',_0x223f('0x79'));return _0x393455[_0x223f('0x7a')](util[_0x223f('0x6f')](_0x223f('0x74'),_0x4de9b4['id'],_0x3f2670));}else{return _0x393455['sendStatus'](0xcc);}})[_0x223f('0x49')](handleError(_0x393455,null));};exports[_0x223f('0x7b')]=function(_0x3b9a1b,_0x33ede4,_0x253ca2){var _0x12dfce;delete _0x3b9a1b[_0x223f('0x4f')]['id'];return db[_0x223f('0x45')][_0x223f('0x7c')]({'where':{'id':_0x3b9a1b[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x33ede4,null))[_0x223f('0x29')](function(_0x20a4a7){if(_0x20a4a7){return db[_0x223f('0x7d')]['transaction'](function(_0xff62d6){return db[_0x223f('0x6d')][_0x223f('0x4e')](_0x3b9a1b[_0x223f('0x4f')],{'transaction':_0xff62d6})[_0x223f('0x29')](function(_0x3a550b){_0x12dfce=_0x3a550b;return _0x20a4a7[_0x223f('0x7e')](_0x3a550b,{'transaction':_0xff62d6});})[_0x223f('0x29')](function(){var _0x4ab2c2={'type':db[_0x223f('0x7f')][_0x223f('0x80')],'transaction':_0xff62d6};switch(_0x3b9a1b[_0x223f('0x4f')][_0x223f('0x32')]){case'text':_0x4ab2c2[_0x223f('0x32')]=db[_0x223f('0x7f')][_0x223f('0x80')];break;case _0x223f('0x81'):_0x4ab2c2[_0x223f('0x32')]=db['Sequelize'][_0x223f('0x82')];break;case _0x223f('0x83'):_0x4ab2c2[_0x223f('0x32')]=db[_0x223f('0x7f')][_0x223f('0x84')];_0x4ab2c2[_0x223f('0x85')]=![];break;default:}return db[_0x223f('0x7d')][_0x223f('0x86')][_0x223f('0x87')]('cm_contacts',util[_0x223f('0x6f')](_0x223f('0x88'),_0x12dfce['id']),_0x4ab2c2);})[_0x223f('0x29')](function(){return _0x12dfce;});});}})['then'](respondWithResult(_0x33ede4,null))['catch'](handleError(_0x33ede4,null));};exports[_0x223f('0x89')]=function(_0x109f8a,_0x5c2132,_0x15470c){var _0x28c83a={};var _0x463515={};var _0x2dda23;var _0x418be6;return db[_0x223f('0x45')][_0x223f('0x7c')]({'where':{'id':_0x109f8a[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x5c2132,null))[_0x223f('0x29')](function(_0x282228){if(_0x282228){_0x2dda23=_0x282228;_0x463515['model']=_['keys'](db[_0x223f('0x6d')][_0x223f('0x30')]);_0x463515[_0x223f('0x35')]=_[_0x223f('0x4b')](_0x109f8a[_0x223f('0x35')]);_0x463515[_0x223f('0x3f')]=_[_0x223f('0x36')](_0x463515['model'],_0x463515[_0x223f('0x35')]);_0x28c83a[_0x223f('0x37')]=_[_0x223f('0x36')](_0x463515[_0x223f('0x34')],qs[_0x223f('0x38')](_0x109f8a[_0x223f('0x35')][_0x223f('0x38')]));_0x28c83a['attributes']=_0x28c83a['attributes']['length']?_0x28c83a[_0x223f('0x37')]:_0x463515[_0x223f('0x34')];_0x28c83a[_0x223f('0x3c')]=qs[_0x223f('0x3d')](_0x109f8a[_0x223f('0x35')][_0x223f('0x3d')]);_0x28c83a[_0x223f('0x3e')]=qs['filters'](_['pick'](_0x109f8a[_0x223f('0x35')],_0x463515[_0x223f('0x3f')]));_0x28c83a[_0x223f('0x3e')]=_[_0x223f('0x41')](_0x28c83a[_0x223f('0x3e')],{'$or':[{'ListId':_0x282228['id']},{'ListId':null}]});if(_0x109f8a[_0x223f('0x35')][_0x223f('0x40')]){_0x28c83a['where']=_[_0x223f('0x41')](_0x28c83a[_0x223f('0x3e')],{'$or':_['map'](_0x28c83a[_0x223f('0x37')],function(_0x50247c){var _0x25a49c={};_0x25a49c[_0x50247c]={'$like':'%'+_0x109f8a[_0x223f('0x35')][_0x223f('0x40')]+'%'};return _0x25a49c;})});}_0x28c83a=_[_0x223f('0x41')]({},_0x28c83a,_0x109f8a[_0x223f('0x44')]);return db[_0x223f('0x6d')]['findAndCountAll'](_0x28c83a);}})[_0x223f('0x29')](respondWithResult(_0x5c2132,null))[_0x223f('0x49')](handleError(_0x5c2132,null));};exports[_0x223f('0x8a')]=function(_0x5077c8,_0x4c312f,_0x3b65a4){return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0x5077c8[_0x223f('0x58')]['id']}})['then'](handleEntityNotFound(_0x4c312f,null))['then'](function(_0x3f6259){if(_0x3f6259){return _0x3f6259['addAgents'](_0x5077c8[_0x223f('0x4f')][_0x223f('0x60')],_['omit'](_0x5077c8[_0x223f('0x4f')],[_0x223f('0x60'),'id'])||{})[_0x223f('0x8b')](function(_0x555bfb){for(var _0x38444d=0x0;_0x38444d<_0x5077c8[_0x223f('0x4f')]['ids'][_0x223f('0x39')];_0x38444d+=0x1){socket[_0x223f('0x8c')](_0x223f('0x8d'),{'UserId':Number(_0x5077c8[_0x223f('0x4f')][_0x223f('0x60')][_0x38444d]),'CmListId':Number(_0x5077c8[_0x223f('0x58')]['id'])});}return _0x555bfb;});}})[_0x223f('0x29')](respondWithResult(_0x4c312f,null))[_0x223f('0x49')](handleError(_0x4c312f,null));};exports[_0x223f('0x8e')]=function(_0x4a98ab,_0x5baf47,_0x12283f){return db[_0x223f('0x45')][_0x223f('0x4d')]({'where':{'id':_0x4a98ab[_0x223f('0x58')]['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x5baf47,null))[_0x223f('0x29')](function(_0x4822f1){if(_0x4822f1){return _0x4822f1[_0x223f('0x8e')](_0x4a98ab[_0x223f('0x35')][_0x223f('0x60')])[_0x223f('0x29')](function(){if(_[_0x223f('0x64')](_0x4a98ab[_0x223f('0x35')]['ids'])){for(var _0xceb869=0x0;_0xceb869<_0x4a98ab['query'][_0x223f('0x60')]['length'];_0xceb869+=0x1){socket[_0x223f('0x8c')](_0x223f('0x8f'),{'UserId':Number(_0x4a98ab[_0x223f('0x35')]['ids'][_0xceb869]),'CmListId':Number(_0x4a98ab[_0x223f('0x58')]['id'])});}}else{socket['emit'](_0x223f('0x8f'),{'UserId':Number(_0x4a98ab[_0x223f('0x35')][_0x223f('0x60')]),'CmListId':Number(_0x4a98ab['params']['id'])});}});}})['then'](respondWithStatusCode(_0x5baf47,null))[_0x223f('0x49')](handleError(_0x5baf47,null));};exports[_0x223f('0x90')]=function(_0x6a7528,_0x37eb2e,_0xe737be){var _0x3b0f49={};var _0x2da31a={};var _0x28ee58;var _0x126292;return db[_0x223f('0x45')]['findOne']({'where':{'id':_0x6a7528['params']['id']}})[_0x223f('0x29')](handleEntityNotFound(_0x37eb2e,null))[_0x223f('0x29')](function(_0x5c9892){if(_0x5c9892){_0x28ee58=_0x5c9892;_0x2da31a[_0x223f('0x34')]=_[_0x223f('0x4b')](db[_0x223f('0x91')][_0x223f('0x30')]);_0x2da31a[_0x223f('0x35')]=_[_0x223f('0x4b')](_0x6a7528[_0x223f('0x35')]);_0x2da31a[_0x223f('0x3f')]=_[_0x223f('0x36')](_0x2da31a[_0x223f('0x34')],_0x2da31a[_0x223f('0x35')]);_0x3b0f49['attributes']=_['intersection'](_0x2da31a['model'],qs['fields'](_0x6a7528[_0x223f('0x35')]['fields']));_0x3b0f49['attributes']=_0x3b0f49[_0x223f('0x37')][_0x223f('0x39')]?_0x3b0f49[_0x223f('0x37')]:_0x2da31a[_0x223f('0x34')];_0x3b0f49['order']=qs[_0x223f('0x3d')](_0x6a7528['query'][_0x223f('0x3d')]);_0x3b0f49[_0x223f('0x3e')]=qs[_0x223f('0x3f')](_[_0x223f('0x5d')](_0x6a7528['query'],_0x2da31a[_0x223f('0x3f')]));if(_0x6a7528[_0x223f('0x35')][_0x223f('0x40')]){_0x3b0f49['where']=_['merge'](_0x3b0f49['where'],{'$or':_[_0x223f('0x42')](_0x3b0f49[_0x223f('0x37')],function(_0x3cc044){var _0x562529={};_0x562529[_0x3cc044]={'$like':'%'+_0x6a7528[_0x223f('0x35')][_0x223f('0x40')]+'%'};return _0x562529;})});}_0x3b0f49=_[_0x223f('0x41')]({},_0x3b0f49,_0x6a7528[_0x223f('0x44')]);return _0x28ee58[_0x223f('0x90')](_0x3b0f49);}})['then'](function(_0x534e5b){if(_0x534e5b){_0x126292=_0x534e5b[_0x223f('0x39')];if(!_0x6a7528['query']['hasOwnProperty'](_0x223f('0x3b'))){_0x3b0f49[_0x223f('0x21')]=qs[_0x223f('0x21')](_0x6a7528[_0x223f('0x35')]['limit']);_0x3b0f49['offset']=qs[_0x223f('0x1f')](_0x6a7528[_0x223f('0x35')][_0x223f('0x1f')]);}return _0x28ee58[_0x223f('0x90')](_0x3b0f49);}})['then'](function(_0xb3a428){if(_0xb3a428){return _0xb3a428?{'count':_0x126292,'rows':_0xb3a428}:null;}})[_0x223f('0x29')](respondWithResult(_0x37eb2e,null))[_0x223f('0x49')](handleError(_0x37eb2e,null));};