Built motion from commit (unavailable).|2.5.7
[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 _0x4b4e=['emit','removeAgents','userCmList:remove','getAgents','User','eml-format','rimraf','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','./cmList.socket','register','sendStatus','end','status','json','offset','limit','Content-Range','reject','save','update','UserProfileResource','destroy','then','stack','name','index','map','CmList','type','model','query','intersection','fields','attributes','length','nolimit','order','sort','filters','pick','filter','where','merge','options','count','includeAll','findAll','rows','catch','params','keys','rawAttributes','include','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Lists','userProfileId','error','describe','addDisposition','getDispositions','Disposition','hasOwnProperty','ListId','removeDispositions','ids','addContacts','CmContact','tags','isArray','join','push','omit','success','dataValues','errors','message','getContacts','CmCustomField','CustomFields','concat','cf_%d','raw','getContactsCsv','isEmpty','now','format','setHeader','attachment;\x20filename=','list_%d_%s.csv','Content-type','text/csv','addCustomField','findOne','transaction','addCustomFields','Sequelize','TEXT','number','INTEGER','defaultValue','cf_%s','getCustomFields','addAgents','spread'];(function(_0x4e13bf,_0xf6c88d){var _0x46faa4=function(_0x5ada18){while(--_0x5ada18){_0x4e13bf['push'](_0x4e13bf['shift']());}};_0x46faa4(++_0xf6c88d);}(_0x4b4e,0x194));var _0xe4b4=function(_0x3e29a5,_0x48c496){_0x3e29a5=_0x3e29a5-0x0;var _0x35aa0f=_0x4b4e[_0x3e29a5];return _0x35aa0f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xe4b4('0x0'));var rimraf=require(_0xe4b4('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xe4b4('0x2'));var moment=require(_0xe4b4('0x3'));var BPromise=require(_0xe4b4('0x4'));var Mustache=require('mustache');var util=require(_0xe4b4('0x5'));var path=require(_0xe4b4('0x6'));var sox=require(_0xe4b4('0x7'));var csv=require(_0xe4b4('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xe4b4('0x9'));var squel=require(_0xe4b4('0xa'));var crypto=require(_0xe4b4('0xb'));var jsforce=require(_0xe4b4('0xc'));var deskjs=require(_0xe4b4('0xd'));var toCsv=require(_0xe4b4('0x8'));var querystring=require(_0xe4b4('0xe'));var Papa=require('papaparse');var Redis=require(_0xe4b4('0xf'));var authService=require(_0xe4b4('0x10'));var qs=require(_0xe4b4('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe4b4('0x12'));var logger=require(_0xe4b4('0x13'))('api');var utils=require(_0xe4b4('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xe4b4('0x15'));var db=require(_0xe4b4('0x16'))['db'];config['redis']=_[_0xe4b4('0x17')](config[_0xe4b4('0x18')],{'host':_0xe4b4('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe4b4('0x18')]));require(_0xe4b4('0x1a'))[_0xe4b4('0x1b')](socket);function respondWithStatusCode(_0x241b60,_0x13ed54){_0x13ed54=_0x13ed54||0xcc;return function(_0x7186db){if(_0x7186db){return _0x241b60[_0xe4b4('0x1c')](_0x13ed54);}return _0x241b60['status'](_0x13ed54)[_0xe4b4('0x1d')]();};}function respondWithResult(_0x5d8eae,_0x1ad232){_0x1ad232=_0x1ad232||0xc8;return function(_0x1345dc){if(_0x1345dc){return _0x5d8eae[_0xe4b4('0x1e')](_0x1ad232)[_0xe4b4('0x1f')](_0x1345dc);}};}function respondWithFilteredResult(_0x3e588d,_0x103a4f){return function(_0x2b60e3){if(_0x2b60e3){var _0x2b655f=_0x2b60e3['count'],_0x5e15da=_0x103a4f[_0xe4b4('0x20')],_0x190f05=_0x103a4f[_0xe4b4('0x20')]+_0x103a4f[_0xe4b4('0x21')],_0x2a9f5;if(_0x190f05>=_0x2b655f){_0x190f05=_0x2b655f;_0x2a9f5=0xc8;}else{_0x2a9f5=0xce;}_0x3e588d['status'](_0x2a9f5);return _0x3e588d['set'](_0xe4b4('0x22'),_0x5e15da+'-'+_0x190f05+'/'+_0x2b655f)[_0xe4b4('0x1f')](_0x2b60e3);}return null;};}function patchUpdates(_0x4fd76a){return function(_0x2c3098){try{jsonpatch['apply'](_0x2c3098,_0x4fd76a,!![]);}catch(_0x3977f3){return BPromise[_0xe4b4('0x23')](_0x3977f3);}return _0x2c3098[_0xe4b4('0x24')]();};}function saveUpdates(_0x6e9bbd,_0x16c6c7){return function(_0x36c466){if(_0x36c466){return _0x36c466[_0xe4b4('0x25')](_0x6e9bbd)['then'](function(_0x3f5a38){return _0x3f5a38;});}return null;};}function removeEntity(_0x16dd5d,_0x2aee38){return function(_0xa58b9f){if(_0xa58b9f){return _0xa58b9f['destroy']()['then'](function(){var _0x293de3=_0xa58b9f['get']({'plain':!![]});var _0x27154e='Lists';return db[_0xe4b4('0x26')][_0xe4b4('0x27')]({'where':{'type':_0x27154e,'resourceId':_0x293de3['id']}})['then'](function(){return _0xa58b9f;});})[_0xe4b4('0x28')](function(){_0x16dd5d[_0xe4b4('0x1e')](0xcc)[_0xe4b4('0x1d')]();});}};}function handleEntityNotFound(_0x396e3e,_0xe4efff){return function(_0x2d3fcd){if(!_0x2d3fcd){_0x396e3e[_0xe4b4('0x1c')](0x194);}return _0x2d3fcd;};}function handleError(_0x2f7577,_0x17f53a){_0x17f53a=_0x17f53a||0x1f4;return function(_0x5af96d){logger['error'](_0x5af96d[_0xe4b4('0x29')]);if(_0x5af96d[_0xe4b4('0x2a')]){delete _0x5af96d[_0xe4b4('0x2a')];}_0x2f7577[_0xe4b4('0x1e')](_0x17f53a)['send'](_0x5af96d);};}exports[_0xe4b4('0x2b')]=function(_0x19ce3d,_0x36249d){var _0x3f541a={},_0x5d0c0b={},_0x516d7c={'count':0x0,'rows':[]};var _0x17352a=_[_0xe4b4('0x2c')](db[_0xe4b4('0x2d')]['rawAttributes'],function(_0x1df86a){return{'name':_0x1df86a['fieldName'],'type':_0x1df86a[_0xe4b4('0x2e')]['key']};});_0x5d0c0b[_0xe4b4('0x2f')]=_[_0xe4b4('0x2c')](_0x17352a,_0xe4b4('0x2a'));_0x5d0c0b[_0xe4b4('0x30')]=_['keys'](_0x19ce3d[_0xe4b4('0x30')]);_0x5d0c0b['filters']=_['intersection'](_0x5d0c0b[_0xe4b4('0x2f')],_0x5d0c0b[_0xe4b4('0x30')]);_0x3f541a['attributes']=_[_0xe4b4('0x31')](_0x5d0c0b['model'],qs[_0xe4b4('0x32')](_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x32')]));_0x3f541a[_0xe4b4('0x33')]=_0x3f541a[_0xe4b4('0x33')][_0xe4b4('0x34')]?_0x3f541a['attributes']:_0x5d0c0b['model'];if(!_0x19ce3d[_0xe4b4('0x30')]['hasOwnProperty'](_0xe4b4('0x35'))){_0x3f541a[_0xe4b4('0x21')]=qs[_0xe4b4('0x21')](_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x21')]);_0x3f541a[_0xe4b4('0x20')]=qs[_0xe4b4('0x20')](_0x19ce3d['query'][_0xe4b4('0x20')]);}_0x3f541a[_0xe4b4('0x36')]=qs['sort'](_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x37')]);_0x3f541a['where']=qs[_0xe4b4('0x38')](_[_0xe4b4('0x39')](_0x19ce3d[_0xe4b4('0x30')],_0x5d0c0b[_0xe4b4('0x38')]),_0x17352a);if(_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x3a')]){_0x3f541a[_0xe4b4('0x3b')]=_['merge'](_0x3f541a[_0xe4b4('0x3b')],{'$or':_[_0xe4b4('0x2c')](_0x17352a,function(_0x4dd64f){if(_0x4dd64f[_0xe4b4('0x2e')]!=='VIRTUAL'){var _0x4aa97d={};_0x4aa97d[_0x4dd64f[_0xe4b4('0x2a')]]={'$like':'%'+_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x3a')]+'%'};return _0x4aa97d;}})});}_0x3f541a=_[_0xe4b4('0x3c')]({},_0x3f541a,_0x19ce3d[_0xe4b4('0x3d')]);var _0x16a243={'where':_0x3f541a[_0xe4b4('0x3b')]};return db['CmList'][_0xe4b4('0x3e')](_0x16a243)[_0xe4b4('0x28')](function(_0x343d7e){_0x516d7c[_0xe4b4('0x3e')]=_0x343d7e;if(_0x19ce3d[_0xe4b4('0x30')][_0xe4b4('0x3f')]){_0x3f541a['include']=[{'all':!![]}];}return db[_0xe4b4('0x2d')][_0xe4b4('0x40')](_0x3f541a);})[_0xe4b4('0x28')](function(_0x390e7b){_0x516d7c[_0xe4b4('0x41')]=_0x390e7b;return _0x516d7c;})[_0xe4b4('0x28')](respondWithFilteredResult(_0x36249d,_0x3f541a))[_0xe4b4('0x42')](handleError(_0x36249d,null));};exports['show']=function(_0x55868e,_0x5584d2){var _0x818935={'raw':![],'where':{'id':_0x55868e[_0xe4b4('0x43')]['id']}},_0x324124={};_0x324124['model']=_[_0xe4b4('0x44')](db['CmList'][_0xe4b4('0x45')]);_0x324124[_0xe4b4('0x30')]=_[_0xe4b4('0x44')](_0x55868e[_0xe4b4('0x30')]);_0x324124[_0xe4b4('0x38')]=_['intersection'](_0x324124['model'],_0x324124['query']);_0x818935[_0xe4b4('0x33')]=_[_0xe4b4('0x31')](_0x324124[_0xe4b4('0x2f')],qs['fields'](_0x55868e[_0xe4b4('0x30')]['fields']));_0x818935['attributes']=_0x818935[_0xe4b4('0x33')][_0xe4b4('0x34')]?_0x818935[_0xe4b4('0x33')]:_0x324124['model'];if(_0x55868e[_0xe4b4('0x30')][_0xe4b4('0x3f')]){_0x818935[_0xe4b4('0x46')]=[{'all':!![]}];}_0x818935=_[_0xe4b4('0x3c')]({},_0x818935,_0x55868e[_0xe4b4('0x3d')]);return db[_0xe4b4('0x2d')][_0xe4b4('0x47')](_0x818935)[_0xe4b4('0x28')](handleEntityNotFound(_0x5584d2,null))[_0xe4b4('0x28')](respondWithResult(_0x5584d2,null))[_0xe4b4('0x42')](handleError(_0x5584d2,null));};exports[_0xe4b4('0x48')]=function(_0x24e0a7,_0xef56e2){return db[_0xe4b4('0x2d')]['create'](_0x24e0a7[_0xe4b4('0x49')],{})[_0xe4b4('0x28')](function(_0x2b5d7c){var _0x7af010=_0x24e0a7['user'][_0xe4b4('0x4a')]({'plain':!![]});if(!_0x7af010)throw new Error(_0xe4b4('0x4b'));if(_0x7af010[_0xe4b4('0x4c')]===_0xe4b4('0x4d')){var _0x4849ce=_0x2b5d7c[_0xe4b4('0x4a')]({'plain':!![]});var _0xcaaaab=_0xe4b4('0x4e');return db['UserProfileSection'][_0xe4b4('0x47')]({'where':{'name':_0xcaaaab,'userProfileId':_0x7af010[_0xe4b4('0x4f')]},'raw':!![]})[_0xe4b4('0x28')](function(_0x5cb2b6){if(_0x5cb2b6&&_0x5cb2b6['autoAssociation']===0x0){return db[_0xe4b4('0x26')]['create']({'name':_0x4849ce['name'],'resourceId':_0x4849ce['id'],'type':_0x5cb2b6['name'],'sectionId':_0x5cb2b6['id']},{})[_0xe4b4('0x28')](function(){return _0x2b5d7c;});}else{return _0x2b5d7c;}})[_0xe4b4('0x42')](function(_0xcb4fe8){logger[_0xe4b4('0x50')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xcb4fe8);throw _0xcb4fe8;});}return _0x2b5d7c;})['then'](respondWithResult(_0xef56e2,0xc9))['catch'](handleError(_0xef56e2,null));};exports['update']=function(_0x125ad3,_0x3243fe){if(_0x125ad3[_0xe4b4('0x49')]['id']){delete _0x125ad3[_0xe4b4('0x49')]['id'];}return db[_0xe4b4('0x2d')][_0xe4b4('0x47')]({'where':{'id':_0x125ad3[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0x3243fe,null))[_0xe4b4('0x28')](saveUpdates(_0x125ad3[_0xe4b4('0x49')],null))['then'](respondWithResult(_0x3243fe,null))[_0xe4b4('0x42')](handleError(_0x3243fe,null));};exports[_0xe4b4('0x27')]=function(_0x13ae5b,_0x49d046){return db['CmList']['find']({'where':{'id':_0x13ae5b[_0xe4b4('0x43')]['id']}})['then'](handleEntityNotFound(_0x49d046,null))[_0xe4b4('0x28')](removeEntity(_0x49d046,null))[_0xe4b4('0x42')](handleError(_0x49d046,null));};exports[_0xe4b4('0x51')]=function(_0x3f9066,_0x4c5365){return db[_0xe4b4('0x2d')]['describe']()[_0xe4b4('0x28')](respondWithResult(_0x4c5365,null))[_0xe4b4('0x42')](handleError(_0x4c5365,null));};exports[_0xe4b4('0x52')]=function(_0x4680b3,_0x1bef46,_0x519b48){if(_0x4680b3[_0xe4b4('0x49')]['id']){delete _0x4680b3[_0xe4b4('0x49')]['id'];}return db[_0xe4b4('0x2d')][_0xe4b4('0x47')]({'where':{'id':_0x4680b3[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0x1bef46,null))[_0xe4b4('0x28')](function(_0x41cb5d){if(_0x41cb5d){_0x4680b3[_0xe4b4('0x49')]['ListId']=_0x41cb5d['id'];return db['Disposition'][_0xe4b4('0x48')](_0x4680b3[_0xe4b4('0x49')]);}})[_0xe4b4('0x28')](respondWithResult(_0x1bef46,null))[_0xe4b4('0x42')](handleError(_0x1bef46,null));};exports[_0xe4b4('0x53')]=function(_0xc55a2f,_0x2b7b6,_0x46d6d6){var _0x2cee01={'raw':![],'where':{}};var _0x3cbcf1={};var _0x3c1ef9={'count':0x0,'rows':[]};return db[_0xe4b4('0x2d')]['findOne']({'where':{'id':_0xc55a2f['params']['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0x2b7b6,null))['then'](function(_0x4aecd5){if(_0x4aecd5){_0x3cbcf1[_0xe4b4('0x2f')]=_[_0xe4b4('0x44')](db[_0xe4b4('0x54')][_0xe4b4('0x45')]);_0x3cbcf1[_0xe4b4('0x30')]=_['keys'](_0xc55a2f[_0xe4b4('0x30')]);_0x3cbcf1[_0xe4b4('0x38')]=_[_0xe4b4('0x31')](_0x3cbcf1[_0xe4b4('0x2f')],_0x3cbcf1[_0xe4b4('0x30')]);_0x2cee01['attributes']=_[_0xe4b4('0x31')](_0x3cbcf1['model'],qs[_0xe4b4('0x32')](_0xc55a2f[_0xe4b4('0x30')][_0xe4b4('0x32')]));_0x2cee01[_0xe4b4('0x33')]=_0x2cee01['attributes'][_0xe4b4('0x34')]?_0x2cee01[_0xe4b4('0x33')]:_0x3cbcf1[_0xe4b4('0x2f')];if(!_0xc55a2f[_0xe4b4('0x30')][_0xe4b4('0x55')]('nolimit')){_0x2cee01['limit']=qs['limit'](_0xc55a2f[_0xe4b4('0x30')]['limit']);_0x2cee01[_0xe4b4('0x20')]=qs['offset'](_0xc55a2f[_0xe4b4('0x30')][_0xe4b4('0x20')]);}_0x2cee01[_0xe4b4('0x36')]=qs[_0xe4b4('0x37')](_0xc55a2f[_0xe4b4('0x30')][_0xe4b4('0x37')]);_0x2cee01[_0xe4b4('0x3b')]=qs['filters'](_[_0xe4b4('0x39')](_0xc55a2f[_0xe4b4('0x30')],_0x3cbcf1[_0xe4b4('0x38')]));_0x2cee01[_0xe4b4('0x3b')][_0xe4b4('0x56')]=_0x4aecd5['id'];if(_0xc55a2f[_0xe4b4('0x30')][_0xe4b4('0x3a')]){_0x2cee01['where']=_[_0xe4b4('0x3c')](_0x2cee01[_0xe4b4('0x3b')],{'$or':_[_0xe4b4('0x2c')](_0x2cee01[_0xe4b4('0x33')],function(_0xd8bf58){var _0x3f856c={};_0x3f856c[_0xd8bf58]={'$like':'%'+_0xc55a2f['query'][_0xe4b4('0x3a')]+'%'};return _0x3f856c;})});}_0x2cee01=_['merge']({},_0x2cee01,_0xc55a2f['options']);return db[_0xe4b4('0x54')][_0xe4b4('0x3e')]({'where':_0x2cee01[_0xe4b4('0x3b')]})[_0xe4b4('0x28')](function(_0x4267dd){_0x3c1ef9['count']=_0x4267dd;if(_0xc55a2f['query'][_0xe4b4('0x3f')]){_0x2cee01[_0xe4b4('0x46')]=[{'all':!![]}];}return db[_0xe4b4('0x54')]['findAll'](_0x2cee01);})['then'](function(_0x5f5aa9){_0x3c1ef9[_0xe4b4('0x41')]=_0x5f5aa9;return _0x3c1ef9;});}})[_0xe4b4('0x28')](respondWithFilteredResult(_0x2b7b6,_0x2cee01))[_0xe4b4('0x42')](handleError(_0x2b7b6,null));};exports[_0xe4b4('0x57')]=function(_0xedfecf,_0x4cdcef,_0x5924c6){return db[_0xe4b4('0x2d')][_0xe4b4('0x47')]({'where':{'id':_0xedfecf[_0xe4b4('0x43')]['id']}})['then'](handleEntityNotFound(_0x4cdcef,null))[_0xe4b4('0x28')](function(_0x1af0af){if(_0x1af0af){return _0x1af0af['removeDispositions'](_0xedfecf['query'][_0xe4b4('0x58')]);}})[_0xe4b4('0x28')](respondWithStatusCode(_0x4cdcef,null))[_0xe4b4('0x42')](handleError(_0x4cdcef,null));};exports[_0xe4b4('0x59')]=function(_0x13be59,_0xfe010e,_0x5e76c4){return db[_0xe4b4('0x2d')]['find']({'where':{'id':_0x13be59[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0xfe010e,null))['then'](function(_0x2771d9){if(_0x2771d9){var _0x4e36f8=[];var _0x16f74a={'success':[],'errors':[]};return db[_0xe4b4('0x5a')]['describe']()[_0xe4b4('0x28')](function(_0x27b83e){if(_0x13be59[_0xe4b4('0x49')][_0xe4b4('0x5b')]&&_[_0xe4b4('0x5c')](_0x13be59['body'][_0xe4b4('0x5b')])){if(_0x13be59[_0xe4b4('0x49')][_0xe4b4('0x5b')][_0xe4b4('0x34')]){_0x13be59[_0xe4b4('0x49')]['tags']=_0x13be59[_0xe4b4('0x49')][_0xe4b4('0x5b')][_0xe4b4('0x5d')](';')+';';}else{_0x13be59[_0xe4b4('0x49')]['tags']=null;}}else{_0x13be59[_0xe4b4('0x49')]['tags']=null;}if(_0x13be59[_0xe4b4('0x49')]&&_['isArray'](_0x13be59[_0xe4b4('0x49')])){for(var _0x180d66=0x0;_0x180d66<_0x13be59['body'][_0xe4b4('0x34')];_0x180d66+=0x1){_0x13be59[_0xe4b4('0x49')][_0x180d66][_0xe4b4('0x56')]=_0x13be59[_0xe4b4('0x43')]['id'];_0x4e36f8[_0xe4b4('0x5e')](_0x13be59[_0xe4b4('0x49')][_0x180d66]);}return BPromise['each'](_0x4e36f8,function(_0x32b0fa){return db[_0xe4b4('0x5a')][_0xe4b4('0x48')](_[_0xe4b4('0x5f')](_0x32b0fa,['ids','id'])||{},{'fields':_[_0xe4b4('0x44')](_0x27b83e),'raw':!![]})[_0xe4b4('0x28')](function(_0x25c401){_0x16f74a[_0xe4b4('0x60')]['push'](_0x25c401[_0xe4b4('0x61')]);})[_0xe4b4('0x42')](function(_0x13c768){_0x16f74a[_0xe4b4('0x62')][_0xe4b4('0x5e')]({'data':_0x32b0fa,'error':_0x13c768[_0xe4b4('0x63')]});});})[_0xe4b4('0x28')](function(_0x4218ea){return _0x16f74a;})[_0xe4b4('0x42')](function(_0x440352){return _0x440352;});}else{_0xfe010e[_0xe4b4('0x1e')](0x190)[_0xe4b4('0x1f')]({'message':'Malformed\x20request\x20syntax'});}});}})[_0xe4b4('0x28')](respondWithResult(_0xfe010e,null))['catch'](handleError(_0xfe010e,null));};exports[_0xe4b4('0x64')]=function(_0x3e5bdf,_0x1c7e9b,_0x337394){var _0x1f2f65;return db[_0xe4b4('0x2d')][_0xe4b4('0x47')]({'where':{'id':_0x3e5bdf['params']['id']},'include':[{'model':db[_0xe4b4('0x65')],'as':_0xe4b4('0x66')}]})[_0xe4b4('0x28')](handleEntityNotFound(_0x1c7e9b,null))['then'](function(_0x5ed1da){if(_0x5ed1da){_0x1f2f65=_0x5ed1da;return db[_0xe4b4('0x5a')]['rawAttributes'];}})[_0xe4b4('0x28')](function(_0x3a647b){if(_0x3a647b){var _0x51b0ef={};var _0x3af96f={};_0x3af96f['model']=_[_0xe4b4('0x67')](_[_0xe4b4('0x44')](_0x3a647b),_['map'](_0x1f2f65[_0xe4b4('0x66')],function(_0x589a38){return util['format'](_0xe4b4('0x68'),_0x589a38['id']);}));_0x3af96f[_0xe4b4('0x30')]=_[_0xe4b4('0x44')](_0x3e5bdf[_0xe4b4('0x30')]);_0x3af96f[_0xe4b4('0x38')]=_[_0xe4b4('0x31')](_0x3af96f[_0xe4b4('0x2f')],_0x3af96f[_0xe4b4('0x30')]);_0x51b0ef[_0xe4b4('0x33')]=_[_0xe4b4('0x31')](_0x3af96f['model'],qs[_0xe4b4('0x32')](_0x3e5bdf[_0xe4b4('0x30')][_0xe4b4('0x32')]));_0x51b0ef[_0xe4b4('0x33')]=_0x51b0ef[_0xe4b4('0x33')][_0xe4b4('0x34')]?_0x51b0ef[_0xe4b4('0x33')]:_0x3af96f[_0xe4b4('0x2f')];if(!_0x3e5bdf[_0xe4b4('0x30')][_0xe4b4('0x55')](_0xe4b4('0x35'))){_0x51b0ef[_0xe4b4('0x21')]=qs[_0xe4b4('0x21')](_0x3e5bdf[_0xe4b4('0x30')][_0xe4b4('0x21')]);_0x51b0ef[_0xe4b4('0x20')]=qs[_0xe4b4('0x20')](_0x3e5bdf['query']['offset']);}_0x51b0ef['order']=qs['sort'](_0x3e5bdf['query'][_0xe4b4('0x37')]);_0x51b0ef[_0xe4b4('0x3b')]=qs[_0xe4b4('0x38')](_[_0xe4b4('0x39')](_0x3e5bdf[_0xe4b4('0x30')],_0x3af96f[_0xe4b4('0x38')]));_0x51b0ef[_0xe4b4('0x69')]=!![];if(_0x3e5bdf[_0xe4b4('0x30')][_0xe4b4('0x3a')]){_0x51b0ef['where']=_[_0xe4b4('0x3c')](_0x51b0ef['where'],{'$or':_[_0xe4b4('0x2c')](_0x51b0ef[_0xe4b4('0x33')],function(_0x3545a1){var _0x2d7a7f={};_0x2d7a7f[_0x3545a1]={'$like':'%'+_0x3e5bdf[_0xe4b4('0x30')]['filter']+'%'};return _0x2d7a7f;})});}_0x51b0ef=_[_0xe4b4('0x3c')]({},_0x51b0ef,_0x3e5bdf['options']);return _0x1f2f65[_0xe4b4('0x64')](_0x51b0ef);}})['then'](respondWithResult(_0x1c7e9b,null))[_0xe4b4('0x42')](handleError(_0x1c7e9b,null));};exports[_0xe4b4('0x6a')]=function(_0x5e7da0,_0x443ef9,_0x411e49){var _0x1e97e3;return db[_0xe4b4('0x2d')][_0xe4b4('0x47')]({'where':{'id':_0x5e7da0[_0xe4b4('0x43')]['id']},'include':[{'model':db[_0xe4b4('0x65')],'as':_0xe4b4('0x66')}]})[_0xe4b4('0x28')](handleEntityNotFound(_0x443ef9,null))[_0xe4b4('0x28')](function(_0x37a0a0){if(_0x37a0a0){_0x1e97e3=_0x37a0a0;return db[_0xe4b4('0x5a')][_0xe4b4('0x45')];}})[_0xe4b4('0x28')](function(_0x3a6011){if(_0x3a6011){var _0x5ed4fd={};var _0x2a8135={};_0x2a8135[_0xe4b4('0x2f')]=_[_0xe4b4('0x67')](_[_0xe4b4('0x44')](_0x3a6011),_[_0xe4b4('0x2c')](_0x1e97e3[_0xe4b4('0x66')],function(_0x3560fa){return util['format'](_0xe4b4('0x68'),_0x3560fa['id']);}));_0x2a8135['query']=_['keys'](_0x5e7da0[_0xe4b4('0x30')]);_0x2a8135['filters']=_[_0xe4b4('0x31')](_0x2a8135[_0xe4b4('0x2f')],_0x2a8135[_0xe4b4('0x30')]);_0x5ed4fd[_0xe4b4('0x33')]=_[_0xe4b4('0x31')](_0x2a8135['model'],qs[_0xe4b4('0x32')](_0x5e7da0['query'][_0xe4b4('0x32')]));_0x5ed4fd['attributes']=_0x5ed4fd[_0xe4b4('0x33')][_0xe4b4('0x34')]?_0x5ed4fd[_0xe4b4('0x33')]:_0x2a8135[_0xe4b4('0x2f')];if(!_0x5e7da0[_0xe4b4('0x30')]['hasOwnProperty']('nolimit')){_0x5ed4fd[_0xe4b4('0x21')]=qs[_0xe4b4('0x21')](_0x5e7da0[_0xe4b4('0x30')][_0xe4b4('0x21')]);_0x5ed4fd[_0xe4b4('0x20')]=qs[_0xe4b4('0x20')](_0x5e7da0[_0xe4b4('0x30')]['offset']);}_0x5ed4fd[_0xe4b4('0x36')]=qs[_0xe4b4('0x37')](_0x5e7da0[_0xe4b4('0x30')]['sort']);_0x5ed4fd[_0xe4b4('0x3b')]=qs[_0xe4b4('0x38')](_['pick'](_0x5e7da0[_0xe4b4('0x30')],_0x2a8135['filters']));_0x5ed4fd[_0xe4b4('0x69')]=!![];if(_0x5e7da0[_0xe4b4('0x30')][_0xe4b4('0x3a')]){_0x5ed4fd[_0xe4b4('0x3b')]=_[_0xe4b4('0x3c')](_0x5ed4fd[_0xe4b4('0x3b')],{'$or':_[_0xe4b4('0x2c')](_0x5ed4fd['attributes'],function(_0x3593a6){var _0x33cc19={};_0x33cc19[_0x3593a6]={'$like':'%'+_0x5e7da0[_0xe4b4('0x30')][_0xe4b4('0x3a')]+'%'};return _0x33cc19;})});}_0x5ed4fd=_[_0xe4b4('0x3c')]({},_0x5ed4fd,_0x5e7da0[_0xe4b4('0x3d')]);return _0x1e97e3[_0xe4b4('0x64')](_0x5ed4fd);}})[_0xe4b4('0x28')](function(_0x2bee12){if(!_[_0xe4b4('0x6b')](_0x2bee12)){var _0x579c76=toCsv(_0x2bee12);var _0x4e8a31=Date[_0xe4b4('0x6c')]();fs['writeFileSync'](util[_0xe4b4('0x6d')]('/tmp/list_%d_%s.csv',_0x1e97e3['id'],_0x4e8a31),_0x579c76);_0x443ef9[_0xe4b4('0x6e')]('Content-disposition',_0xe4b4('0x6f')+util[_0xe4b4('0x6d')](_0xe4b4('0x70'),_0x1e97e3['id'],_0x4e8a31));_0x443ef9['setHeader'](_0xe4b4('0x71'),_0xe4b4('0x72'));return _0x443ef9['download'](util['format']('/tmp/list_%d_%s.csv',_0x1e97e3['id'],_0x4e8a31));}else{return _0x443ef9['sendStatus'](0xcc);}})['catch'](handleError(_0x443ef9,null));};exports[_0xe4b4('0x73')]=function(_0x198802,_0x49a682,_0x2ffb0b){var _0x52610c;delete _0x198802['body']['id'];return db['CmList'][_0xe4b4('0x74')]({'where':{'id':_0x198802['params']['id']}})['then'](handleEntityNotFound(_0x49a682,null))['then'](function(_0x1ccd19){if(_0x1ccd19){return db['sequelize'][_0xe4b4('0x75')](function(_0x4f88bd){return db[_0xe4b4('0x65')]['create'](_0x198802[_0xe4b4('0x49')],{'transaction':_0x4f88bd})[_0xe4b4('0x28')](function(_0x4355c0){_0x52610c=_0x4355c0;return _0x1ccd19[_0xe4b4('0x76')](_0x4355c0,{'transaction':_0x4f88bd});})['then'](function(){var _0x3be5ed={'type':db[_0xe4b4('0x77')]['TEXT'],'transaction':_0x4f88bd};switch(_0x198802[_0xe4b4('0x49')]['type']){case'text':_0x3be5ed[_0xe4b4('0x2e')]=db[_0xe4b4('0x77')][_0xe4b4('0x78')];break;case _0xe4b4('0x79'):_0x3be5ed[_0xe4b4('0x2e')]=db[_0xe4b4('0x77')][_0xe4b4('0x7a')];break;case'switch':_0x3be5ed[_0xe4b4('0x2e')]=db[_0xe4b4('0x77')]['BOOLEAN'];_0x3be5ed[_0xe4b4('0x7b')]=![];break;default:}return db['sequelize']['queryInterface']['addColumn']('cm_contacts',util[_0xe4b4('0x6d')](_0xe4b4('0x7c'),_0x52610c['id']),_0x3be5ed);})[_0xe4b4('0x28')](function(){return _0x52610c;});});}})[_0xe4b4('0x28')](respondWithResult(_0x49a682,null))[_0xe4b4('0x42')](handleError(_0x49a682,null));};exports[_0xe4b4('0x7d')]=function(_0x517823,_0xdd376,_0x204790){var _0x2d9e6c={};var _0x179e2e={};var _0x470bf6;var _0x1de662;return db[_0xe4b4('0x2d')][_0xe4b4('0x74')]({'where':{'id':_0x517823[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0xdd376,null))['then'](function(_0x4a41af){if(_0x4a41af){_0x470bf6=_0x4a41af;_0x179e2e[_0xe4b4('0x2f')]=_[_0xe4b4('0x44')](db[_0xe4b4('0x65')][_0xe4b4('0x45')]);_0x179e2e[_0xe4b4('0x30')]=_[_0xe4b4('0x44')](_0x517823[_0xe4b4('0x30')]);_0x179e2e['filters']=_['intersection'](_0x179e2e[_0xe4b4('0x2f')],_0x179e2e[_0xe4b4('0x30')]);_0x2d9e6c[_0xe4b4('0x33')]=_[_0xe4b4('0x31')](_0x179e2e[_0xe4b4('0x2f')],qs[_0xe4b4('0x32')](_0x517823[_0xe4b4('0x30')][_0xe4b4('0x32')]));_0x2d9e6c[_0xe4b4('0x33')]=_0x2d9e6c[_0xe4b4('0x33')][_0xe4b4('0x34')]?_0x2d9e6c['attributes']:_0x179e2e[_0xe4b4('0x2f')];_0x2d9e6c[_0xe4b4('0x36')]=qs[_0xe4b4('0x37')](_0x517823[_0xe4b4('0x30')]['sort']);_0x2d9e6c[_0xe4b4('0x3b')]=qs['filters'](_['pick'](_0x517823[_0xe4b4('0x30')],_0x179e2e[_0xe4b4('0x38')]));_0x2d9e6c['where']=_[_0xe4b4('0x3c')](_0x2d9e6c[_0xe4b4('0x3b')],{'$or':[{'ListId':_0x4a41af['id']},{'ListId':null}]});if(_0x517823['query'][_0xe4b4('0x3a')]){_0x2d9e6c[_0xe4b4('0x3b')]=_[_0xe4b4('0x3c')](_0x2d9e6c[_0xe4b4('0x3b')],{'$or':_[_0xe4b4('0x2c')](_0x2d9e6c[_0xe4b4('0x33')],function(_0x577052){var _0x35cdd5={};_0x35cdd5[_0x577052]={'$like':'%'+_0x517823[_0xe4b4('0x30')][_0xe4b4('0x3a')]+'%'};return _0x35cdd5;})});}_0x2d9e6c=_[_0xe4b4('0x3c')]({},_0x2d9e6c,_0x517823[_0xe4b4('0x3d')]);return db[_0xe4b4('0x65')]['findAndCountAll'](_0x2d9e6c);}})[_0xe4b4('0x28')](respondWithResult(_0xdd376,null))[_0xe4b4('0x42')](handleError(_0xdd376,null));};exports[_0xe4b4('0x7e')]=function(_0xcaa119,_0x2e1637,_0x729f76){return db['CmList'][_0xe4b4('0x47')]({'where':{'id':_0xcaa119[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0x2e1637,null))['then'](function(_0x25a092){if(_0x25a092){return _0x25a092['addAgents'](_0xcaa119[_0xe4b4('0x49')][_0xe4b4('0x58')],_[_0xe4b4('0x5f')](_0xcaa119['body'],[_0xe4b4('0x58'),'id'])||{})[_0xe4b4('0x7f')](function(_0x465a02){for(var _0x5119b1=0x0;_0x5119b1<_0xcaa119[_0xe4b4('0x49')][_0xe4b4('0x58')][_0xe4b4('0x34')];_0x5119b1+=0x1){socket[_0xe4b4('0x80')]('userCmList:save',{'UserId':_0xcaa119[_0xe4b4('0x49')][_0xe4b4('0x58')][_0x5119b1],'CmListId':_0xcaa119[_0xe4b4('0x43')]['id']});}return _0x465a02;});}})['then'](respondWithResult(_0x2e1637,null))['catch'](handleError(_0x2e1637,null));};exports[_0xe4b4('0x81')]=function(_0x3d5ab3,_0x4eb97d,_0x3664c4){return db[_0xe4b4('0x2d')]['find']({'where':{'id':_0x3d5ab3['params']['id']}})['then'](handleEntityNotFound(_0x4eb97d,null))[_0xe4b4('0x28')](function(_0x573a1f){if(_0x573a1f){return _0x573a1f[_0xe4b4('0x81')](_0x3d5ab3[_0xe4b4('0x30')][_0xe4b4('0x58')])[_0xe4b4('0x28')](function(){if(_['isArray'](_0x3d5ab3[_0xe4b4('0x30')][_0xe4b4('0x58')])){for(var _0x2f2d55=0x0;_0x2f2d55<_0x3d5ab3[_0xe4b4('0x30')][_0xe4b4('0x58')]['length'];_0x2f2d55+=0x1){socket['emit'](_0xe4b4('0x82'),{'UserId':Number(_0x3d5ab3[_0xe4b4('0x30')][_0xe4b4('0x58')][_0x2f2d55]),'CmListId':Number(_0x3d5ab3['params']['id'])});}}else{socket[_0xe4b4('0x80')]('userCmList:remove',{'UserId':Number(_0x3d5ab3['query'][_0xe4b4('0x58')]),'CmListId':Number(_0x3d5ab3[_0xe4b4('0x43')]['id'])});}});}})[_0xe4b4('0x28')](respondWithStatusCode(_0x4eb97d,null))[_0xe4b4('0x42')](handleError(_0x4eb97d,null));};exports[_0xe4b4('0x83')]=function(_0x3e956f,_0x53c98d,_0x49f213){var _0x69a322={};var _0x2997dd={};var _0x1784a7;var _0x4079cf;return db[_0xe4b4('0x2d')][_0xe4b4('0x74')]({'where':{'id':_0x3e956f[_0xe4b4('0x43')]['id']}})[_0xe4b4('0x28')](handleEntityNotFound(_0x53c98d,null))['then'](function(_0x1b73b2){if(_0x1b73b2){_0x1784a7=_0x1b73b2;_0x2997dd['model']=_[_0xe4b4('0x44')](db[_0xe4b4('0x84')][_0xe4b4('0x45')]);_0x2997dd['query']=_['keys'](_0x3e956f[_0xe4b4('0x30')]);_0x2997dd['filters']=_['intersection'](_0x2997dd[_0xe4b4('0x2f')],_0x2997dd[_0xe4b4('0x30')]);_0x69a322[_0xe4b4('0x33')]=_[_0xe4b4('0x31')](_0x2997dd[_0xe4b4('0x2f')],qs['fields'](_0x3e956f['query'][_0xe4b4('0x32')]));_0x69a322['attributes']=_0x69a322['attributes']['length']?_0x69a322[_0xe4b4('0x33')]:_0x2997dd['model'];_0x69a322[_0xe4b4('0x36')]=qs[_0xe4b4('0x37')](_0x3e956f['query'][_0xe4b4('0x37')]);_0x69a322['where']=qs[_0xe4b4('0x38')](_[_0xe4b4('0x39')](_0x3e956f[_0xe4b4('0x30')],_0x2997dd['filters']));if(_0x3e956f[_0xe4b4('0x30')][_0xe4b4('0x3a')]){_0x69a322[_0xe4b4('0x3b')]=_['merge'](_0x69a322[_0xe4b4('0x3b')],{'$or':_[_0xe4b4('0x2c')](_0x69a322[_0xe4b4('0x33')],function(_0x5c2c7e){var _0x2d1fcf={};_0x2d1fcf[_0x5c2c7e]={'$like':'%'+_0x3e956f[_0xe4b4('0x30')][_0xe4b4('0x3a')]+'%'};return _0x2d1fcf;})});}_0x69a322=_[_0xe4b4('0x3c')]({},_0x69a322,_0x3e956f[_0xe4b4('0x3d')]);return _0x1784a7[_0xe4b4('0x83')](_0x69a322);}})['then'](function(_0x3403ed){if(_0x3403ed){_0x4079cf=_0x3403ed[_0xe4b4('0x34')];if(!_0x3e956f['query'][_0xe4b4('0x55')](_0xe4b4('0x35'))){_0x69a322[_0xe4b4('0x21')]=qs[_0xe4b4('0x21')](_0x3e956f[_0xe4b4('0x30')]['limit']);_0x69a322[_0xe4b4('0x20')]=qs[_0xe4b4('0x20')](_0x3e956f[_0xe4b4('0x30')][_0xe4b4('0x20')]);}return _0x1784a7[_0xe4b4('0x83')](_0x69a322);}})[_0xe4b4('0x28')](function(_0x4c5079){if(_0x4c5079){return _0x4c5079?{'count':_0x4079cf,'rows':_0x4c5079}:null;}})['then'](respondWithResult(_0x53c98d,null))['catch'](handleError(_0x53c98d,null));};