Built motion from commit 9d7072cc.|2.5.39
[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 _0xed79=['to-csv','fs-extra','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmList.socket','sendStatus','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','Lists','UserProfileResource','end','error','name','send','index','rawAttributes','type','key','model','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','CmList','includeAll','include','findAll','rows','catch','show','params','keys','intersection','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','ListId','Disposition','getDispositions','findOne','pick','map','removeDispositions','ids','addContacts','CmContact','isArray','tags','join','push','each','omit','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','concat','format','cf_%d','raw','getContactsCsv','isEmpty','now','writeFileSync','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','text/csv','/tmp/list_%d_%s.csv','addCustomField','sequelize','addCustomFields','TEXT','text','Sequelize','number','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','addAgents','spread','userCmList:save','removeAgents','emit','userCmList:remove','User','getAgents','zip-dir','request-promise','moment','bluebird','mustache','util','path'];(function(_0x5968d6,_0x2289b8){var _0xa71345=function(_0x333ff6){while(--_0x333ff6){_0x5968d6['push'](_0x5968d6['shift']());}};_0xa71345(++_0x2289b8);}(_0xed79,0x1ac));var _0x9ed7=function(_0x28b90f,_0x5f3cf1){_0x28b90f=_0x28b90f-0x0;var _0xc0013c=_0xed79[_0x28b90f];return _0xc0013c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x9ed7('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x9ed7('0x1'));var moment=require(_0x9ed7('0x2'));var BPromise=require(_0x9ed7('0x3'));var Mustache=require(_0x9ed7('0x4'));var util=require(_0x9ed7('0x5'));var path=require(_0x9ed7('0x6'));var sox=require('sox');var csv=require(_0x9ed7('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9ed7('0x8'));var _=require(_0x9ed7('0x9'));var squel=require('squel');var crypto=require(_0x9ed7('0xa'));var jsforce=require(_0x9ed7('0xb'));var deskjs=require(_0x9ed7('0xc'));var toCsv=require(_0x9ed7('0x7'));var querystring=require('querystring');var Papa=require(_0x9ed7('0xd'));var Redis=require(_0x9ed7('0xe'));var authService=require(_0x9ed7('0xf'));var qs=require(_0x9ed7('0x10'));var as=require(_0x9ed7('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x9ed7('0x12'));var utils=require(_0x9ed7('0x13'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9ed7('0x14'))['db'];config[_0x9ed7('0x15')]=_[_0x9ed7('0x16')](config['redis'],{'host':_0x9ed7('0x17'),'port':0x18eb});var socket=require(_0x9ed7('0x18'))(new Redis(config[_0x9ed7('0x15')]));require(_0x9ed7('0x19'))['register'](socket);function respondWithStatusCode(_0x229059,_0x583970){_0x583970=_0x583970||0xcc;return function(_0x388f68){if(_0x388f68){return _0x229059[_0x9ed7('0x1a')](_0x583970);}return _0x229059[_0x9ed7('0x1b')](_0x583970)['end']();};}function respondWithResult(_0x4b77ac,_0x59af63){_0x59af63=_0x59af63||0xc8;return function(_0x253249){if(_0x253249){return _0x4b77ac[_0x9ed7('0x1b')](_0x59af63)[_0x9ed7('0x1c')](_0x253249);}};}function respondWithFilteredResult(_0xd01057,_0x546caf){return function(_0x17a0b7){if(_0x17a0b7){var _0x5bdae2=typeof _0x546caf['offset']===_0x9ed7('0x1d')&&typeof _0x546caf[_0x9ed7('0x1e')]==='undefined';var _0xe938b2=_0x17a0b7[_0x9ed7('0x1f')];var _0x165700=_0x5bdae2?0x0:_0x546caf[_0x9ed7('0x20')];var _0x96d545=_0x5bdae2?_0x17a0b7[_0x9ed7('0x1f')]:_0x546caf[_0x9ed7('0x20')]+_0x546caf[_0x9ed7('0x1e')];var _0x478fb6;if(_0x96d545>=_0xe938b2){_0x96d545=_0xe938b2;_0x478fb6=0xc8;}else{_0x478fb6=0xce;}_0xd01057[_0x9ed7('0x1b')](_0x478fb6);return _0xd01057[_0x9ed7('0x21')](_0x9ed7('0x22'),_0x165700+'-'+_0x96d545+'/'+_0xe938b2)[_0x9ed7('0x1c')](_0x17a0b7);}return null;};}function patchUpdates(_0x4bb8b9){return function(_0x515b75){try{jsonpatch[_0x9ed7('0x23')](_0x515b75,_0x4bb8b9,!![]);}catch(_0x53ed7c){return BPromise[_0x9ed7('0x24')](_0x53ed7c);}return _0x515b75[_0x9ed7('0x25')]();};}function saveUpdates(_0x490110,_0x205c2d){return function(_0x52120f){if(_0x52120f){return _0x52120f[_0x9ed7('0x26')](_0x490110)[_0x9ed7('0x27')](function(_0x505434){return _0x505434;});}return null;};}function removeEntity(_0x37bd68,_0x3aefcf){return function(_0x2ba068){if(_0x2ba068){return _0x2ba068[_0x9ed7('0x28')]()[_0x9ed7('0x27')](function(){var _0x1ab384=_0x2ba068[_0x9ed7('0x29')]({'plain':!![]});var _0x156fbd=_0x9ed7('0x2a');return db[_0x9ed7('0x2b')][_0x9ed7('0x28')]({'where':{'type':_0x156fbd,'resourceId':_0x1ab384['id']}})[_0x9ed7('0x27')](function(){return _0x2ba068;});})['then'](function(){_0x37bd68[_0x9ed7('0x1b')](0xcc)[_0x9ed7('0x2c')]();});}};}function handleEntityNotFound(_0x3b06b9,_0xcac654){return function(_0x112842){if(!_0x112842){_0x3b06b9[_0x9ed7('0x1a')](0x194);}return _0x112842;};}function handleError(_0x5ef9aa,_0x47a4dd){_0x47a4dd=_0x47a4dd||0x1f4;return function(_0x27b984){logger[_0x9ed7('0x2d')](_0x27b984['stack']);if(_0x27b984[_0x9ed7('0x2e')]){delete _0x27b984[_0x9ed7('0x2e')];}_0x5ef9aa[_0x9ed7('0x1b')](_0x47a4dd)[_0x9ed7('0x2f')](_0x27b984);};}exports[_0x9ed7('0x30')]=function(_0x4bc338,_0x2d4da2){var _0x26c81d={},_0x49199f={},_0x226142={'count':0x0,'rows':[]};var _0x3f8b6f=_['map'](db['CmList'][_0x9ed7('0x31')],function(_0x5623d8){return{'name':_0x5623d8['fieldName'],'type':_0x5623d8[_0x9ed7('0x32')][_0x9ed7('0x33')]};});_0x49199f[_0x9ed7('0x34')]=_['map'](_0x3f8b6f,_0x9ed7('0x2e'));_0x49199f[_0x9ed7('0x35')]=_['keys'](_0x4bc338[_0x9ed7('0x35')]);_0x49199f[_0x9ed7('0x36')]=_['intersection'](_0x49199f[_0x9ed7('0x34')],_0x49199f['query']);_0x26c81d[_0x9ed7('0x37')]=_['intersection'](_0x49199f[_0x9ed7('0x34')],qs['fields'](_0x4bc338[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x26c81d[_0x9ed7('0x37')]=_0x26c81d['attributes'][_0x9ed7('0x39')]?_0x26c81d['attributes']:_0x49199f[_0x9ed7('0x34')];if(!_0x4bc338['query'][_0x9ed7('0x3a')](_0x9ed7('0x3b'))){_0x26c81d['limit']=qs[_0x9ed7('0x1e')](_0x4bc338['query'][_0x9ed7('0x1e')]);_0x26c81d[_0x9ed7('0x20')]=qs[_0x9ed7('0x20')](_0x4bc338['query'][_0x9ed7('0x20')]);}_0x26c81d[_0x9ed7('0x3c')]=qs['sort'](_0x4bc338[_0x9ed7('0x35')][_0x9ed7('0x3d')]);_0x26c81d[_0x9ed7('0x3e')]=qs['filters'](_['pick'](_0x4bc338[_0x9ed7('0x35')],_0x49199f[_0x9ed7('0x36')]),_0x3f8b6f);if(_0x4bc338['query'][_0x9ed7('0x3f')]){_0x26c81d[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x26c81d[_0x9ed7('0x3e')],{'$or':_['map'](_0x3f8b6f,function(_0x486936){if(_0x486936[_0x9ed7('0x32')]!==_0x9ed7('0x41')){var _0x3349c1={};_0x3349c1[_0x486936[_0x9ed7('0x2e')]]={'$like':'%'+_0x4bc338['query'][_0x9ed7('0x3f')]+'%'};return _0x3349c1;}})});}_0x26c81d=_[_0x9ed7('0x40')]({},_0x26c81d,_0x4bc338[_0x9ed7('0x42')]);var _0x42d68a={'where':_0x26c81d[_0x9ed7('0x3e')]};return db[_0x9ed7('0x43')]['count'](_0x42d68a)[_0x9ed7('0x27')](function(_0x42524e){_0x226142[_0x9ed7('0x1f')]=_0x42524e;if(_0x4bc338['query'][_0x9ed7('0x44')]){_0x26c81d[_0x9ed7('0x45')]=[{'all':!![]}];}return db['CmList'][_0x9ed7('0x46')](_0x26c81d);})[_0x9ed7('0x27')](function(_0xfe9832){_0x226142[_0x9ed7('0x47')]=_0xfe9832;return _0x226142;})[_0x9ed7('0x27')](respondWithFilteredResult(_0x2d4da2,_0x26c81d))[_0x9ed7('0x48')](handleError(_0x2d4da2,null));};exports[_0x9ed7('0x49')]=function(_0x5e668f,_0x21e7a4){var _0x38996d={'raw':![],'where':{'id':_0x5e668f[_0x9ed7('0x4a')]['id']}},_0x4b95f3={};_0x4b95f3['model']=_[_0x9ed7('0x4b')](db[_0x9ed7('0x43')][_0x9ed7('0x31')]);_0x4b95f3[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0x5e668f[_0x9ed7('0x35')]);_0x4b95f3[_0x9ed7('0x36')]=_[_0x9ed7('0x4c')](_0x4b95f3[_0x9ed7('0x34')],_0x4b95f3[_0x9ed7('0x35')]);_0x38996d[_0x9ed7('0x37')]=_[_0x9ed7('0x4c')](_0x4b95f3[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0x5e668f[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x38996d[_0x9ed7('0x37')]=_0x38996d[_0x9ed7('0x37')][_0x9ed7('0x39')]?_0x38996d[_0x9ed7('0x37')]:_0x4b95f3[_0x9ed7('0x34')];if(_0x5e668f[_0x9ed7('0x35')][_0x9ed7('0x44')]){_0x38996d['include']=[{'all':!![]}];}_0x38996d=_[_0x9ed7('0x40')]({},_0x38996d,_0x5e668f[_0x9ed7('0x42')]);return db['CmList']['find'](_0x38996d)['then'](handleEntityNotFound(_0x21e7a4,null))['then'](respondWithResult(_0x21e7a4,null))[_0x9ed7('0x48')](handleError(_0x21e7a4,null));};exports[_0x9ed7('0x4d')]=function(_0x185309,_0x1a2f90){return db[_0x9ed7('0x43')][_0x9ed7('0x4d')](_0x185309[_0x9ed7('0x4e')],{})[_0x9ed7('0x27')](function(_0x2e3fec){var _0x158401=_0x185309[_0x9ed7('0x4f')][_0x9ed7('0x29')]({'plain':!![]});if(!_0x158401)throw new Error(_0x9ed7('0x50'));if(_0x158401[_0x9ed7('0x51')]===_0x9ed7('0x4f')){var _0x58674a=_0x2e3fec['get']({'plain':!![]});var _0x4a9baf=_0x9ed7('0x2a');return db[_0x9ed7('0x52')][_0x9ed7('0x53')]({'where':{'name':_0x4a9baf,'userProfileId':_0x158401[_0x9ed7('0x54')]},'raw':!![]})[_0x9ed7('0x27')](function(_0x40f385){if(_0x40f385&&_0x40f385['autoAssociation']===0x0){return db[_0x9ed7('0x2b')]['create']({'name':_0x58674a[_0x9ed7('0x2e')],'resourceId':_0x58674a['id'],'type':_0x40f385[_0x9ed7('0x2e')],'sectionId':_0x40f385['id']},{})[_0x9ed7('0x27')](function(){return _0x2e3fec;});}else{return _0x2e3fec;}})[_0x9ed7('0x48')](function(_0x558b92){logger[_0x9ed7('0x2d')](_0x9ed7('0x55'),_0x558b92);throw _0x558b92;});}return _0x2e3fec;})[_0x9ed7('0x27')](respondWithResult(_0x1a2f90,0xc9))['catch'](handleError(_0x1a2f90,null));};exports[_0x9ed7('0x26')]=function(_0x14598f,_0x304141){if(_0x14598f['body']['id']){delete _0x14598f[_0x9ed7('0x4e')]['id'];}return db[_0x9ed7('0x43')][_0x9ed7('0x53')]({'where':{'id':_0x14598f[_0x9ed7('0x4a')]['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x304141,null))[_0x9ed7('0x27')](saveUpdates(_0x14598f['body'],null))['then'](respondWithResult(_0x304141,null))['catch'](handleError(_0x304141,null));};exports[_0x9ed7('0x28')]=function(_0x125635,_0x3ffc7b){return db[_0x9ed7('0x43')][_0x9ed7('0x53')]({'where':{'id':_0x125635[_0x9ed7('0x4a')]['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x3ffc7b,null))['then'](removeEntity(_0x3ffc7b,null))['catch'](handleError(_0x3ffc7b,null));};exports[_0x9ed7('0x56')]=function(_0x434cff,_0x11f50){return db['CmList'][_0x9ed7('0x56')]()['then'](respondWithResult(_0x11f50,null))[_0x9ed7('0x48')](handleError(_0x11f50,null));};exports['addDisposition']=function(_0x19a410,_0xef4c2c,_0x3acd09){if(_0x19a410[_0x9ed7('0x4e')]['id']){delete _0x19a410[_0x9ed7('0x4e')]['id'];}return db[_0x9ed7('0x43')]['find']({'where':{'id':_0x19a410['params']['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0xef4c2c,null))[_0x9ed7('0x27')](function(_0x439449){if(_0x439449){_0x19a410['body'][_0x9ed7('0x57')]=_0x439449['id'];return db[_0x9ed7('0x58')]['create'](_0x19a410['body']);}})[_0x9ed7('0x27')](respondWithResult(_0xef4c2c,null))[_0x9ed7('0x48')](handleError(_0xef4c2c,null));};exports[_0x9ed7('0x59')]=function(_0x578bcc,_0xdfad69,_0x37e0f8){var _0x174cfe={'raw':![],'where':{}};var _0x29245e={};var _0x17b4a={'count':0x0,'rows':[]};return db[_0x9ed7('0x43')][_0x9ed7('0x5a')]({'where':{'id':_0x578bcc['params']['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0xdfad69,null))[_0x9ed7('0x27')](function(_0x3ba815){if(_0x3ba815){_0x29245e['model']=_[_0x9ed7('0x4b')](db['Disposition']['rawAttributes']);_0x29245e[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0x578bcc[_0x9ed7('0x35')]);_0x29245e[_0x9ed7('0x36')]=_[_0x9ed7('0x4c')](_0x29245e['model'],_0x29245e[_0x9ed7('0x35')]);_0x174cfe[_0x9ed7('0x37')]=_[_0x9ed7('0x4c')](_0x29245e[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x174cfe[_0x9ed7('0x37')]=_0x174cfe[_0x9ed7('0x37')][_0x9ed7('0x39')]?_0x174cfe[_0x9ed7('0x37')]:_0x29245e[_0x9ed7('0x34')];if(!_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x3a')]('nolimit')){_0x174cfe[_0x9ed7('0x1e')]=qs['limit'](_0x578bcc[_0x9ed7('0x35')]['limit']);_0x174cfe[_0x9ed7('0x20')]=qs[_0x9ed7('0x20')](_0x578bcc['query'][_0x9ed7('0x20')]);}_0x174cfe[_0x9ed7('0x3c')]=qs[_0x9ed7('0x3d')](_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x3d')]);_0x174cfe[_0x9ed7('0x3e')]=qs[_0x9ed7('0x36')](_[_0x9ed7('0x5b')](_0x578bcc['query'],_0x29245e[_0x9ed7('0x36')]));_0x174cfe['where'][_0x9ed7('0x57')]=_0x3ba815['id'];if(_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x3f')]){_0x174cfe[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x174cfe[_0x9ed7('0x3e')],{'$or':_[_0x9ed7('0x5c')](_0x174cfe[_0x9ed7('0x37')],function(_0x2e10d5){var _0x4e0efc={};_0x4e0efc[_0x2e10d5]={'$like':'%'+_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x3f')]+'%'};return _0x4e0efc;})});}_0x174cfe=_['merge']({},_0x174cfe,_0x578bcc[_0x9ed7('0x42')]);return db[_0x9ed7('0x58')][_0x9ed7('0x1f')]({'where':_0x174cfe[_0x9ed7('0x3e')]})[_0x9ed7('0x27')](function(_0xfe4fea){_0x17b4a[_0x9ed7('0x1f')]=_0xfe4fea;if(_0x578bcc[_0x9ed7('0x35')][_0x9ed7('0x44')]){_0x174cfe[_0x9ed7('0x45')]=[{'all':!![]}];}return db[_0x9ed7('0x58')]['findAll'](_0x174cfe);})[_0x9ed7('0x27')](function(_0x23c00a){_0x17b4a[_0x9ed7('0x47')]=_0x23c00a;return _0x17b4a;});}})['then'](respondWithFilteredResult(_0xdfad69,_0x174cfe))[_0x9ed7('0x48')](handleError(_0xdfad69,null));};exports['removeDispositions']=function(_0x5bdd90,_0x4785f1,_0x3ef398){return db['CmList'][_0x9ed7('0x53')]({'where':{'id':_0x5bdd90['params']['id']}})['then'](handleEntityNotFound(_0x4785f1,null))[_0x9ed7('0x27')](function(_0x23192e){if(_0x23192e){return _0x23192e[_0x9ed7('0x5d')](_0x5bdd90[_0x9ed7('0x35')][_0x9ed7('0x5e')]);}})[_0x9ed7('0x27')](respondWithStatusCode(_0x4785f1,null))[_0x9ed7('0x48')](handleError(_0x4785f1,null));};exports[_0x9ed7('0x5f')]=function(_0x351938,_0xbbe7a7,_0x558c0b){return db['CmList'][_0x9ed7('0x53')]({'where':{'id':_0x351938[_0x9ed7('0x4a')]['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0xbbe7a7,null))[_0x9ed7('0x27')](function(_0x415132){if(_0x415132){var _0x424a8d=[];var _0x43cace={'success':[],'errors':[]};return db[_0x9ed7('0x60')][_0x9ed7('0x56')]()[_0x9ed7('0x27')](function(_0x47f390){if(_0x351938[_0x9ed7('0x4e')]['tags']&&_[_0x9ed7('0x61')](_0x351938[_0x9ed7('0x4e')][_0x9ed7('0x62')])){if(_0x351938[_0x9ed7('0x4e')][_0x9ed7('0x62')]['length']){_0x351938[_0x9ed7('0x4e')]['tags']=_0x351938[_0x9ed7('0x4e')]['tags'][_0x9ed7('0x63')](';')+';';}else{_0x351938[_0x9ed7('0x4e')]['tags']=null;}}else{_0x351938[_0x9ed7('0x4e')][_0x9ed7('0x62')]=null;}if(_0x351938[_0x9ed7('0x4e')]&&_[_0x9ed7('0x61')](_0x351938[_0x9ed7('0x4e')])){for(var _0x4eefa4=0x0;_0x4eefa4<_0x351938[_0x9ed7('0x4e')][_0x9ed7('0x39')];_0x4eefa4+=0x1){_0x351938[_0x9ed7('0x4e')][_0x4eefa4][_0x9ed7('0x57')]=_0x351938['params']['id'];_0x424a8d[_0x9ed7('0x64')](_0x351938[_0x9ed7('0x4e')][_0x4eefa4]);}return BPromise[_0x9ed7('0x65')](_0x424a8d,function(_0x20781a){return db[_0x9ed7('0x60')]['create'](_[_0x9ed7('0x66')](_0x20781a,['ids','id'])||{},{'fields':_['keys'](_0x47f390),'raw':!![]})[_0x9ed7('0x27')](function(_0x3aa5a5){_0x43cace['success'][_0x9ed7('0x64')](_0x3aa5a5['dataValues']);})['catch'](function(_0x3bbdfa){_0x43cace['errors'][_0x9ed7('0x64')]({'data':_0x20781a,'error':_0x3bbdfa[_0x9ed7('0x67')]});});})[_0x9ed7('0x27')](function(_0x5dbba4){return _0x43cace;})[_0x9ed7('0x48')](function(_0x58eeeb){return _0x58eeeb;});}else{_0xbbe7a7[_0x9ed7('0x1b')](0x190)[_0x9ed7('0x1c')]({'message':_0x9ed7('0x68')});}});}})[_0x9ed7('0x27')](respondWithResult(_0xbbe7a7,null))[_0x9ed7('0x48')](handleError(_0xbbe7a7,null));};exports[_0x9ed7('0x69')]=function(_0x35565e,_0x1b9178,_0x3f860d){var _0x3683f4;return db[_0x9ed7('0x43')][_0x9ed7('0x53')]({'where':{'id':_0x35565e[_0x9ed7('0x4a')]['id']},'include':[{'model':db[_0x9ed7('0x6a')],'as':_0x9ed7('0x6b')}]})[_0x9ed7('0x27')](handleEntityNotFound(_0x1b9178,null))[_0x9ed7('0x27')](function(_0x4c1d56){if(_0x4c1d56){_0x3683f4=_0x4c1d56;return db[_0x9ed7('0x60')][_0x9ed7('0x31')];}})[_0x9ed7('0x27')](function(_0x400e6d){if(_0x400e6d){var _0x22890b={};var _0xc5e2f0={};_0xc5e2f0[_0x9ed7('0x34')]=_[_0x9ed7('0x6c')](_[_0x9ed7('0x4b')](_0x400e6d),_[_0x9ed7('0x5c')](_0x3683f4[_0x9ed7('0x6b')],function(_0x58f78d){return util[_0x9ed7('0x6d')](_0x9ed7('0x6e'),_0x58f78d['id']);}));_0xc5e2f0[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0x35565e['query']);_0xc5e2f0[_0x9ed7('0x36')]=_[_0x9ed7('0x4c')](_0xc5e2f0[_0x9ed7('0x34')],_0xc5e2f0[_0x9ed7('0x35')]);_0x22890b[_0x9ed7('0x37')]=_[_0x9ed7('0x4c')](_0xc5e2f0[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0x35565e['query'][_0x9ed7('0x38')]));_0x22890b[_0x9ed7('0x37')]=_0x22890b[_0x9ed7('0x37')][_0x9ed7('0x39')]?_0x22890b[_0x9ed7('0x37')]:_0xc5e2f0[_0x9ed7('0x34')];if(!_0x35565e['query']['hasOwnProperty'](_0x9ed7('0x3b'))){_0x22890b[_0x9ed7('0x1e')]=qs['limit'](_0x35565e['query']['limit']);_0x22890b[_0x9ed7('0x20')]=qs[_0x9ed7('0x20')](_0x35565e[_0x9ed7('0x35')][_0x9ed7('0x20')]);}_0x22890b[_0x9ed7('0x3c')]=qs['sort'](_0x35565e[_0x9ed7('0x35')][_0x9ed7('0x3d')]);_0x22890b[_0x9ed7('0x3e')]=qs[_0x9ed7('0x36')](_[_0x9ed7('0x5b')](_0x35565e[_0x9ed7('0x35')],_0xc5e2f0[_0x9ed7('0x36')]));_0x22890b[_0x9ed7('0x6f')]=!![];if(_0x35565e[_0x9ed7('0x35')][_0x9ed7('0x3f')]){_0x22890b[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x22890b[_0x9ed7('0x3e')],{'$or':_[_0x9ed7('0x5c')](_0x22890b[_0x9ed7('0x37')],function(_0x148881){var _0x2cbacb={};_0x2cbacb[_0x148881]={'$like':'%'+_0x35565e['query'][_0x9ed7('0x3f')]+'%'};return _0x2cbacb;})});}_0x22890b=_[_0x9ed7('0x40')]({},_0x22890b,_0x35565e[_0x9ed7('0x42')]);return _0x3683f4[_0x9ed7('0x69')](_0x22890b);}})[_0x9ed7('0x27')](respondWithResult(_0x1b9178,null))[_0x9ed7('0x48')](handleError(_0x1b9178,null));};exports[_0x9ed7('0x70')]=function(_0x60490,_0xe48f17,_0x106541){var _0x11cfcc;return db[_0x9ed7('0x43')][_0x9ed7('0x53')]({'where':{'id':_0x60490[_0x9ed7('0x4a')]['id']},'include':[{'model':db['CmCustomField'],'as':_0x9ed7('0x6b')}]})[_0x9ed7('0x27')](handleEntityNotFound(_0xe48f17,null))[_0x9ed7('0x27')](function(_0x3ef56e){if(_0x3ef56e){_0x11cfcc=_0x3ef56e;return db[_0x9ed7('0x60')]['rawAttributes'];}})[_0x9ed7('0x27')](function(_0x4905ff){if(_0x4905ff){var _0x3d7f37={};var _0x1255ae={};_0x1255ae[_0x9ed7('0x34')]=_['concat'](_[_0x9ed7('0x4b')](_0x4905ff),_[_0x9ed7('0x5c')](_0x11cfcc[_0x9ed7('0x6b')],function(_0x5612ad){return util['format'](_0x9ed7('0x6e'),_0x5612ad['id']);}));_0x1255ae[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0x60490[_0x9ed7('0x35')]);_0x1255ae[_0x9ed7('0x36')]=_[_0x9ed7('0x4c')](_0x1255ae[_0x9ed7('0x34')],_0x1255ae['query']);_0x3d7f37['attributes']=_['intersection'](_0x1255ae[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0x60490[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x3d7f37['attributes']=_0x3d7f37[_0x9ed7('0x37')]['length']?_0x3d7f37[_0x9ed7('0x37')]:_0x1255ae['model'];if(!_0x60490[_0x9ed7('0x35')]['hasOwnProperty'](_0x9ed7('0x3b'))){_0x3d7f37[_0x9ed7('0x1e')]=qs['limit'](_0x60490[_0x9ed7('0x35')][_0x9ed7('0x1e')]);_0x3d7f37[_0x9ed7('0x20')]=qs[_0x9ed7('0x20')](_0x60490[_0x9ed7('0x35')][_0x9ed7('0x20')]);}_0x3d7f37['order']=qs[_0x9ed7('0x3d')](_0x60490[_0x9ed7('0x35')][_0x9ed7('0x3d')]);_0x3d7f37['where']=qs[_0x9ed7('0x36')](_[_0x9ed7('0x5b')](_0x60490[_0x9ed7('0x35')],_0x1255ae[_0x9ed7('0x36')]));_0x3d7f37[_0x9ed7('0x6f')]=!![];if(_0x60490['query'][_0x9ed7('0x3f')]){_0x3d7f37['where']=_[_0x9ed7('0x40')](_0x3d7f37[_0x9ed7('0x3e')],{'$or':_[_0x9ed7('0x5c')](_0x3d7f37[_0x9ed7('0x37')],function(_0x2d91bc){var _0x105ab7={};_0x105ab7[_0x2d91bc]={'$like':'%'+_0x60490[_0x9ed7('0x35')]['filter']+'%'};return _0x105ab7;})});}_0x3d7f37=_[_0x9ed7('0x40')]({},_0x3d7f37,_0x60490[_0x9ed7('0x42')]);return _0x11cfcc['getContacts'](_0x3d7f37);}})[_0x9ed7('0x27')](function(_0x1d07d8){if(!_[_0x9ed7('0x71')](_0x1d07d8)){var _0xae0b13=toCsv(_0x1d07d8);var _0x22fa95=Date[_0x9ed7('0x72')]();fs[_0x9ed7('0x73')](util[_0x9ed7('0x6d')]('/tmp/list_%d_%s.csv',_0x11cfcc['id'],_0x22fa95),_0xae0b13);_0xe48f17[_0x9ed7('0x74')](_0x9ed7('0x75'),_0x9ed7('0x76')+util[_0x9ed7('0x6d')](_0x9ed7('0x77'),_0x11cfcc['id'],_0x22fa95));_0xe48f17['setHeader']('Content-type',_0x9ed7('0x78'));return _0xe48f17['download'](util[_0x9ed7('0x6d')](_0x9ed7('0x79'),_0x11cfcc['id'],_0x22fa95));}else{return _0xe48f17[_0x9ed7('0x1a')](0xcc);}})[_0x9ed7('0x48')](handleError(_0xe48f17,null));};exports[_0x9ed7('0x7a')]=function(_0x2b26da,_0x422c6f,_0x2a0fa6){var _0x2f426e;delete _0x2b26da[_0x9ed7('0x4e')]['id'];return db['CmList']['findOne']({'where':{'id':_0x2b26da['params']['id']}})['then'](handleEntityNotFound(_0x422c6f,null))[_0x9ed7('0x27')](function(_0x416904){if(_0x416904){return db[_0x9ed7('0x7b')]['transaction'](function(_0x764c22){return db[_0x9ed7('0x6a')][_0x9ed7('0x4d')](_0x2b26da[_0x9ed7('0x4e')],{'transaction':_0x764c22})[_0x9ed7('0x27')](function(_0x3e8dc3){_0x2f426e=_0x3e8dc3;return _0x416904[_0x9ed7('0x7c')](_0x3e8dc3,{'transaction':_0x764c22});})[_0x9ed7('0x27')](function(){var _0xd108bb={'type':db['Sequelize'][_0x9ed7('0x7d')],'transaction':_0x764c22};switch(_0x2b26da['body'][_0x9ed7('0x32')]){case _0x9ed7('0x7e'):_0xd108bb[_0x9ed7('0x32')]=db[_0x9ed7('0x7f')][_0x9ed7('0x7d')];break;case _0x9ed7('0x80'):_0xd108bb['type']=db[_0x9ed7('0x7f')][_0x9ed7('0x81')];break;case _0x9ed7('0x82'):_0xd108bb['type']=db[_0x9ed7('0x7f')]['BOOLEAN'];_0xd108bb[_0x9ed7('0x83')]=![];break;default:}return db[_0x9ed7('0x7b')][_0x9ed7('0x84')][_0x9ed7('0x85')](_0x9ed7('0x86'),util[_0x9ed7('0x6d')](_0x9ed7('0x87'),_0x2f426e['id']),_0xd108bb);})['then'](function(){return _0x2f426e;});});}})[_0x9ed7('0x27')](respondWithResult(_0x422c6f,null))['catch'](handleError(_0x422c6f,null));};exports[_0x9ed7('0x88')]=function(_0xa8098b,_0x149fc5,_0x358af2){var _0x398931={};var _0x1069cf={};var _0x2e7912;var _0x60b579;return db['CmList']['findOne']({'where':{'id':_0xa8098b[_0x9ed7('0x4a')]['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x149fc5,null))['then'](function(_0x8d1a05){if(_0x8d1a05){_0x2e7912=_0x8d1a05;_0x1069cf[_0x9ed7('0x34')]=_['keys'](db[_0x9ed7('0x6a')][_0x9ed7('0x31')]);_0x1069cf[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0xa8098b[_0x9ed7('0x35')]);_0x1069cf['filters']=_['intersection'](_0x1069cf[_0x9ed7('0x34')],_0x1069cf['query']);_0x398931[_0x9ed7('0x37')]=_[_0x9ed7('0x4c')](_0x1069cf[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0xa8098b[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x398931['attributes']=_0x398931[_0x9ed7('0x37')][_0x9ed7('0x39')]?_0x398931[_0x9ed7('0x37')]:_0x1069cf[_0x9ed7('0x34')];_0x398931[_0x9ed7('0x3c')]=qs[_0x9ed7('0x3d')](_0xa8098b[_0x9ed7('0x35')][_0x9ed7('0x3d')]);_0x398931[_0x9ed7('0x3e')]=qs[_0x9ed7('0x36')](_[_0x9ed7('0x5b')](_0xa8098b['query'],_0x1069cf[_0x9ed7('0x36')]));_0x398931[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x398931[_0x9ed7('0x3e')],{'$or':[{'ListId':_0x8d1a05['id']},{'ListId':null}]});if(_0xa8098b[_0x9ed7('0x35')][_0x9ed7('0x3f')]){_0x398931[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x398931[_0x9ed7('0x3e')],{'$or':_[_0x9ed7('0x5c')](_0x398931['attributes'],function(_0x1453dd){var _0x1de82b={};_0x1de82b[_0x1453dd]={'$like':'%'+_0xa8098b['query'][_0x9ed7('0x3f')]+'%'};return _0x1de82b;})});}_0x398931=_['merge']({},_0x398931,_0xa8098b[_0x9ed7('0x42')]);return db[_0x9ed7('0x6a')]['findAndCountAll'](_0x398931);}})['then'](respondWithResult(_0x149fc5,null))[_0x9ed7('0x48')](handleError(_0x149fc5,null));};exports[_0x9ed7('0x89')]=function(_0x59d887,_0x284778,_0x48a576){return db[_0x9ed7('0x43')][_0x9ed7('0x53')]({'where':{'id':_0x59d887['params']['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x284778,null))[_0x9ed7('0x27')](function(_0x1beec2){if(_0x1beec2){return _0x1beec2[_0x9ed7('0x89')](_0x59d887[_0x9ed7('0x4e')][_0x9ed7('0x5e')],_[_0x9ed7('0x66')](_0x59d887[_0x9ed7('0x4e')],[_0x9ed7('0x5e'),'id'])||{})[_0x9ed7('0x8a')](function(_0x176041){for(var _0x491fb6=0x0;_0x491fb6<_0x59d887['body'][_0x9ed7('0x5e')]['length'];_0x491fb6+=0x1){socket['emit'](_0x9ed7('0x8b'),{'UserId':Number(_0x59d887[_0x9ed7('0x4e')][_0x9ed7('0x5e')][_0x491fb6]),'CmListId':Number(_0x59d887['params']['id'])});}return _0x176041;});}})['then'](respondWithResult(_0x284778,null))[_0x9ed7('0x48')](handleError(_0x284778,null));};exports['removeAgents']=function(_0x74f312,_0x4a3e7b,_0x1ab496){return db[_0x9ed7('0x43')]['find']({'where':{'id':_0x74f312[_0x9ed7('0x4a')]['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x4a3e7b,null))[_0x9ed7('0x27')](function(_0x177090){if(_0x177090){return _0x177090[_0x9ed7('0x8c')](_0x74f312[_0x9ed7('0x35')][_0x9ed7('0x5e')])['then'](function(){if(_[_0x9ed7('0x61')](_0x74f312[_0x9ed7('0x35')][_0x9ed7('0x5e')])){for(var _0x541664=0x0;_0x541664<_0x74f312[_0x9ed7('0x35')][_0x9ed7('0x5e')][_0x9ed7('0x39')];_0x541664+=0x1){socket[_0x9ed7('0x8d')](_0x9ed7('0x8e'),{'UserId':Number(_0x74f312[_0x9ed7('0x35')]['ids'][_0x541664]),'CmListId':Number(_0x74f312[_0x9ed7('0x4a')]['id'])});}}else{socket['emit']('userCmList:remove',{'UserId':Number(_0x74f312[_0x9ed7('0x35')][_0x9ed7('0x5e')]),'CmListId':Number(_0x74f312[_0x9ed7('0x4a')]['id'])});}});}})[_0x9ed7('0x27')](respondWithStatusCode(_0x4a3e7b,null))[_0x9ed7('0x48')](handleError(_0x4a3e7b,null));};exports['getAgents']=function(_0x2e8eae,_0x311c70,_0x3df727){var _0x3a2098={};var _0x12c687={};var _0x24efb1;var _0xce8bab;return db[_0x9ed7('0x43')][_0x9ed7('0x5a')]({'where':{'id':_0x2e8eae['params']['id']}})[_0x9ed7('0x27')](handleEntityNotFound(_0x311c70,null))[_0x9ed7('0x27')](function(_0x463683){if(_0x463683){_0x24efb1=_0x463683;_0x12c687[_0x9ed7('0x34')]=_['keys'](db[_0x9ed7('0x8f')]['rawAttributes']);_0x12c687[_0x9ed7('0x35')]=_[_0x9ed7('0x4b')](_0x2e8eae[_0x9ed7('0x35')]);_0x12c687['filters']=_[_0x9ed7('0x4c')](_0x12c687['model'],_0x12c687['query']);_0x3a2098[_0x9ed7('0x37')]=_['intersection'](_0x12c687[_0x9ed7('0x34')],qs[_0x9ed7('0x38')](_0x2e8eae[_0x9ed7('0x35')][_0x9ed7('0x38')]));_0x3a2098[_0x9ed7('0x37')]=_0x3a2098[_0x9ed7('0x37')][_0x9ed7('0x39')]?_0x3a2098[_0x9ed7('0x37')]:_0x12c687[_0x9ed7('0x34')];_0x3a2098[_0x9ed7('0x3c')]=qs[_0x9ed7('0x3d')](_0x2e8eae['query'][_0x9ed7('0x3d')]);_0x3a2098[_0x9ed7('0x3e')]=qs['filters'](_[_0x9ed7('0x5b')](_0x2e8eae[_0x9ed7('0x35')],_0x12c687[_0x9ed7('0x36')]));if(_0x2e8eae['query']['filter']){_0x3a2098[_0x9ed7('0x3e')]=_[_0x9ed7('0x40')](_0x3a2098[_0x9ed7('0x3e')],{'$or':_[_0x9ed7('0x5c')](_0x3a2098[_0x9ed7('0x37')],function(_0x1614d5){var _0x281845={};_0x281845[_0x1614d5]={'$like':'%'+_0x2e8eae[_0x9ed7('0x35')]['filter']+'%'};return _0x281845;})});}_0x3a2098=_['merge']({},_0x3a2098,_0x2e8eae[_0x9ed7('0x42')]);return _0x24efb1[_0x9ed7('0x90')](_0x3a2098);}})['then'](function(_0x2b71ae){if(_0x2b71ae){_0xce8bab=_0x2b71ae[_0x9ed7('0x39')];if(!_0x2e8eae[_0x9ed7('0x35')][_0x9ed7('0x3a')](_0x9ed7('0x3b'))){_0x3a2098[_0x9ed7('0x1e')]=qs['limit'](_0x2e8eae[_0x9ed7('0x35')][_0x9ed7('0x1e')]);_0x3a2098['offset']=qs['offset'](_0x2e8eae['query']['offset']);}return _0x24efb1[_0x9ed7('0x90')](_0x3a2098);}})[_0x9ed7('0x27')](function(_0x2090bf){if(_0x2090bf){return _0x2090bf?{'count':_0xce8bab,'rows':_0x2090bf}:null;}})[_0x9ed7('0x27')](respondWithResult(_0x311c70,null))['catch'](handleError(_0x311c70,null));};