9c006561aa56a7e9f739686a43be9b11095e4533
[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 _0xdab2=['spread','emit','removeAgents','userCmList:remove','getAgents','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','ejs','fs-extra','crypto','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./cmList.socket','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','save','update','destroy','then','get','Lists','UserProfileResource','stack','send','index','map','type','key','name','query','filters','model','intersection','attributes','length','nolimit','order','sort','where','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','keys','CmList','find','create','user','role','UserProfileSection','userProfileId','autoAssociation','body','describe','addDisposition','params','ListId','Disposition','getDispositions','findOne','rawAttributes','fields','findAll','removeDispositions','ids','addContacts','tags','isArray','join','push','omit','dataValues','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CmContact','concat','CustomFields','cf_%d','pick','raw','getContactsCsv','format','hasOwnProperty','isEmpty','now','/tmp/list_%d_%s.csv','Content-disposition','attachment;\x20filename=','setHeader','Content-type','addCustomField','sequelize','transaction','addCustomFields','TEXT','text','Sequelize','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','getCustomFields','findAndCountAll','addAgents'];(function(_0x11fbc0,_0x55d9a6){var _0x5b265f=function(_0x240f68){while(--_0x240f68){_0x11fbc0['push'](_0x11fbc0['shift']());}};_0x5b265f(++_0x55d9a6);}(_0xdab2,0x1b0));var _0x2dab=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xdab2[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0x2dab('0x0'));var rimraf=require(_0x2dab('0x1'));var zipdir=require(_0x2dab('0x2'));var jsonpatch=require(_0x2dab('0x3'));var rp=require(_0x2dab('0x4'));var moment=require(_0x2dab('0x5'));var BPromise=require(_0x2dab('0x6'));var Mustache=require(_0x2dab('0x7'));var util=require(_0x2dab('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x2dab('0x9'));var fs=require('fs');var fs_extra=require(_0x2dab('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x2dab('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x2dab('0xc'));var toCsv=require(_0x2dab('0xd'));var querystring=require(_0x2dab('0xe'));var Papa=require('papaparse');var Redis=require(_0x2dab('0xf'));var authService=require(_0x2dab('0x10'));var qs=require(_0x2dab('0x11'));var as=require(_0x2dab('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2dab('0x13'))(_0x2dab('0x14'));var utils=require(_0x2dab('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x2dab('0x16'))['db'];config['redis']=_[_0x2dab('0x17')](config[_0x2dab('0x18')],{'host':_0x2dab('0x19'),'port':0x18eb});var socket=require(_0x2dab('0x1a'))(new Redis(config[_0x2dab('0x18')]));require(_0x2dab('0x1b'))['register'](socket);function respondWithStatusCode(_0x5b2512,_0x100f12){_0x100f12=_0x100f12||0xcc;return function(_0x1136b5){if(_0x1136b5){return _0x5b2512[_0x2dab('0x1c')](_0x100f12);}return _0x5b2512[_0x2dab('0x1d')](_0x100f12)[_0x2dab('0x1e')]();};}function respondWithResult(_0x4a7ac4,_0xfdd67d){_0xfdd67d=_0xfdd67d||0xc8;return function(_0x55b268){if(_0x55b268){return _0x4a7ac4[_0x2dab('0x1d')](_0xfdd67d)['json'](_0x55b268);}};}function respondWithFilteredResult(_0x28e925,_0x142beb){return function(_0x142c41){if(_0x142c41){var _0xa60446=typeof _0x142beb[_0x2dab('0x1f')]===_0x2dab('0x20')&&typeof _0x142beb[_0x2dab('0x21')]==='undefined';var _0x3fda82=_0x142c41[_0x2dab('0x22')];var _0x5ab0bd=_0xa60446?0x0:_0x142beb[_0x2dab('0x1f')];var _0x102789=_0xa60446?_0x142c41['count']:_0x142beb[_0x2dab('0x1f')]+_0x142beb[_0x2dab('0x21')];var _0x3e8eaf;if(_0x102789>=_0x3fda82){_0x102789=_0x3fda82;_0x3e8eaf=0xc8;}else{_0x3e8eaf=0xce;}_0x28e925[_0x2dab('0x1d')](_0x3e8eaf);return _0x28e925['set'](_0x2dab('0x23'),_0x5ab0bd+'-'+_0x102789+'/'+_0x3fda82)[_0x2dab('0x24')](_0x142c41);}return null;};}function patchUpdates(_0x1b04b6){return function(_0x544d13){try{jsonpatch[_0x2dab('0x25')](_0x544d13,_0x1b04b6,!![]);}catch(_0x39de1e){return BPromise['reject'](_0x39de1e);}return _0x544d13[_0x2dab('0x26')]();};}function saveUpdates(_0x1b77d8,_0x1b7505){return function(_0x1b9bee){if(_0x1b9bee){return _0x1b9bee[_0x2dab('0x27')](_0x1b77d8)['then'](function(_0x53f201){return _0x53f201;});}return null;};}function removeEntity(_0x1fa288,_0x40f56a){return function(_0x5d6334){if(_0x5d6334){return _0x5d6334[_0x2dab('0x28')]()[_0x2dab('0x29')](function(){var _0x33fa9f=_0x5d6334[_0x2dab('0x2a')]({'plain':!![]});var _0x1bd882=_0x2dab('0x2b');return db[_0x2dab('0x2c')]['destroy']({'where':{'type':_0x1bd882,'resourceId':_0x33fa9f['id']}})[_0x2dab('0x29')](function(){return _0x5d6334;});})[_0x2dab('0x29')](function(){_0x1fa288[_0x2dab('0x1d')](0xcc)[_0x2dab('0x1e')]();});}};}function handleEntityNotFound(_0x4c2c19,_0xa6386a){return function(_0x8e3d25){if(!_0x8e3d25){_0x4c2c19['sendStatus'](0x194);}return _0x8e3d25;};}function handleError(_0x4fe748,_0x398adf){_0x398adf=_0x398adf||0x1f4;return function(_0x2ff889){logger['error'](_0x2ff889[_0x2dab('0x2d')]);if(_0x2ff889['name']){delete _0x2ff889['name'];}_0x4fe748[_0x2dab('0x1d')](_0x398adf)[_0x2dab('0x2e')](_0x2ff889);};}exports[_0x2dab('0x2f')]=function(_0x171afc,_0x405494){var _0x1d3087={},_0x1b86b8={},_0x138658={'count':0x0,'rows':[]};var _0xd2f3e1=_[_0x2dab('0x30')](db['CmList']['rawAttributes'],function(_0x20064a){return{'name':_0x20064a['fieldName'],'type':_0x20064a[_0x2dab('0x31')][_0x2dab('0x32')]};});_0x1b86b8['model']=_[_0x2dab('0x30')](_0xd2f3e1,_0x2dab('0x33'));_0x1b86b8[_0x2dab('0x34')]=_['keys'](_0x171afc['query']);_0x1b86b8[_0x2dab('0x35')]=_['intersection'](_0x1b86b8[_0x2dab('0x36')],_0x1b86b8[_0x2dab('0x34')]);_0x1d3087['attributes']=_[_0x2dab('0x37')](_0x1b86b8[_0x2dab('0x36')],qs['fields'](_0x171afc[_0x2dab('0x34')]['fields']));_0x1d3087['attributes']=_0x1d3087[_0x2dab('0x38')][_0x2dab('0x39')]?_0x1d3087['attributes']:_0x1b86b8[_0x2dab('0x36')];if(!_0x171afc[_0x2dab('0x34')]['hasOwnProperty'](_0x2dab('0x3a'))){_0x1d3087[_0x2dab('0x21')]=qs[_0x2dab('0x21')](_0x171afc[_0x2dab('0x34')]['limit']);_0x1d3087[_0x2dab('0x1f')]=qs['offset'](_0x171afc[_0x2dab('0x34')][_0x2dab('0x1f')]);}_0x1d3087[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x171afc[_0x2dab('0x34')][_0x2dab('0x3c')]);_0x1d3087[_0x2dab('0x3d')]=qs['filters'](_['pick'](_0x171afc[_0x2dab('0x34')],_0x1b86b8[_0x2dab('0x35')]),_0xd2f3e1);if(_0x171afc[_0x2dab('0x34')][_0x2dab('0x3e')]){_0x1d3087[_0x2dab('0x3d')]=_['merge'](_0x1d3087[_0x2dab('0x3d')],{'$or':_[_0x2dab('0x30')](_0xd2f3e1,function(_0x597668){if(_0x597668[_0x2dab('0x31')]!==_0x2dab('0x3f')){var _0x27ce10={};_0x27ce10[_0x597668[_0x2dab('0x33')]]={'$like':'%'+_0x171afc[_0x2dab('0x34')][_0x2dab('0x3e')]+'%'};return _0x27ce10;}})});}_0x1d3087=_[_0x2dab('0x40')]({},_0x1d3087,_0x171afc[_0x2dab('0x41')]);var _0x1f07ee={'where':_0x1d3087['where']};return db['CmList'][_0x2dab('0x22')](_0x1f07ee)[_0x2dab('0x29')](function(_0x7c48b4){_0x138658[_0x2dab('0x22')]=_0x7c48b4;if(_0x171afc[_0x2dab('0x34')][_0x2dab('0x42')]){_0x1d3087[_0x2dab('0x43')]=[{'all':!![]}];}return db['CmList']['findAll'](_0x1d3087);})[_0x2dab('0x29')](function(_0x3ab1d0){_0x138658[_0x2dab('0x44')]=_0x3ab1d0;return _0x138658;})[_0x2dab('0x29')](respondWithFilteredResult(_0x405494,_0x1d3087))[_0x2dab('0x45')](handleError(_0x405494,null));};exports['show']=function(_0x257f84,_0xef65ec){var _0x1e3a4c={'raw':![],'where':{'id':_0x257f84['params']['id']}},_0x398da0={};_0x398da0[_0x2dab('0x36')]=_[_0x2dab('0x46')](db[_0x2dab('0x47')]['rawAttributes']);_0x398da0['query']=_[_0x2dab('0x46')](_0x257f84[_0x2dab('0x34')]);_0x398da0['filters']=_[_0x2dab('0x37')](_0x398da0[_0x2dab('0x36')],_0x398da0[_0x2dab('0x34')]);_0x1e3a4c[_0x2dab('0x38')]=_[_0x2dab('0x37')](_0x398da0[_0x2dab('0x36')],qs['fields'](_0x257f84[_0x2dab('0x34')]['fields']));_0x1e3a4c[_0x2dab('0x38')]=_0x1e3a4c[_0x2dab('0x38')][_0x2dab('0x39')]?_0x1e3a4c[_0x2dab('0x38')]:_0x398da0[_0x2dab('0x36')];if(_0x257f84[_0x2dab('0x34')][_0x2dab('0x42')]){_0x1e3a4c[_0x2dab('0x43')]=[{'all':!![]}];}_0x1e3a4c=_['merge']({},_0x1e3a4c,_0x257f84[_0x2dab('0x41')]);return db['CmList'][_0x2dab('0x48')](_0x1e3a4c)['then'](handleEntityNotFound(_0xef65ec,null))[_0x2dab('0x29')](respondWithResult(_0xef65ec,null))[_0x2dab('0x45')](handleError(_0xef65ec,null));};exports[_0x2dab('0x49')]=function(_0x5b32d3,_0x575a5e){return db['CmList'][_0x2dab('0x49')](_0x5b32d3['body'],{})[_0x2dab('0x29')](function(_0x45b74a){var _0x872a15=_0x5b32d3[_0x2dab('0x4a')]['get']({'plain':!![]});if(!_0x872a15)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x872a15[_0x2dab('0x4b')]===_0x2dab('0x4a')){var _0x55161a=_0x45b74a[_0x2dab('0x2a')]({'plain':!![]});var _0x178e21=_0x2dab('0x2b');return db[_0x2dab('0x4c')][_0x2dab('0x48')]({'where':{'name':_0x178e21,'userProfileId':_0x872a15[_0x2dab('0x4d')]},'raw':!![]})[_0x2dab('0x29')](function(_0x513195){if(_0x513195&&_0x513195[_0x2dab('0x4e')]===0x0){return db['UserProfileResource'][_0x2dab('0x49')]({'name':_0x55161a['name'],'resourceId':_0x55161a['id'],'type':_0x513195[_0x2dab('0x33')],'sectionId':_0x513195['id']},{})['then'](function(){return _0x45b74a;});}else{return _0x45b74a;}})[_0x2dab('0x45')](function(_0x4f9568){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4f9568);throw _0x4f9568;});}return _0x45b74a;})[_0x2dab('0x29')](respondWithResult(_0x575a5e,0xc9))[_0x2dab('0x45')](handleError(_0x575a5e,null));};exports[_0x2dab('0x27')]=function(_0x31ea03,_0xbd2b17){if(_0x31ea03[_0x2dab('0x4f')]['id']){delete _0x31ea03[_0x2dab('0x4f')]['id'];}return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0x31ea03['params']['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0xbd2b17,null))[_0x2dab('0x29')](saveUpdates(_0x31ea03['body'],null))[_0x2dab('0x29')](respondWithResult(_0xbd2b17,null))['catch'](handleError(_0xbd2b17,null));};exports[_0x2dab('0x28')]=function(_0x1075f3,_0x57a1ac){return db['CmList'][_0x2dab('0x48')]({'where':{'id':_0x1075f3['params']['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x57a1ac,null))[_0x2dab('0x29')](removeEntity(_0x57a1ac,null))[_0x2dab('0x45')](handleError(_0x57a1ac,null));};exports[_0x2dab('0x50')]=function(_0x1b2ed0,_0x2f900e){return db[_0x2dab('0x47')]['describe']()[_0x2dab('0x29')](respondWithResult(_0x2f900e,null))[_0x2dab('0x45')](handleError(_0x2f900e,null));};exports[_0x2dab('0x51')]=function(_0xb36251,_0x52ccdf,_0x62b4e4){if(_0xb36251[_0x2dab('0x4f')]['id']){delete _0xb36251[_0x2dab('0x4f')]['id'];}return db[_0x2dab('0x47')]['find']({'where':{'id':_0xb36251[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x52ccdf,null))['then'](function(_0x56f6f3){if(_0x56f6f3){_0xb36251[_0x2dab('0x4f')][_0x2dab('0x53')]=_0x56f6f3['id'];return db[_0x2dab('0x54')][_0x2dab('0x49')](_0xb36251['body']);}})[_0x2dab('0x29')](respondWithResult(_0x52ccdf,null))[_0x2dab('0x45')](handleError(_0x52ccdf,null));};exports[_0x2dab('0x55')]=function(_0x10ff60,_0x1335ff,_0x52b207){var _0x2e34d2={'raw':![],'where':{}};var _0x448367={};var _0x53561c={'count':0x0,'rows':[]};return db[_0x2dab('0x47')][_0x2dab('0x56')]({'where':{'id':_0x10ff60[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x1335ff,null))[_0x2dab('0x29')](function(_0x489320){if(_0x489320){_0x448367[_0x2dab('0x36')]=_['keys'](db[_0x2dab('0x54')][_0x2dab('0x57')]);_0x448367[_0x2dab('0x34')]=_[_0x2dab('0x46')](_0x10ff60[_0x2dab('0x34')]);_0x448367[_0x2dab('0x35')]=_[_0x2dab('0x37')](_0x448367['model'],_0x448367[_0x2dab('0x34')]);_0x2e34d2[_0x2dab('0x38')]=_[_0x2dab('0x37')](_0x448367['model'],qs[_0x2dab('0x58')](_0x10ff60[_0x2dab('0x34')][_0x2dab('0x58')]));_0x2e34d2[_0x2dab('0x38')]=_0x2e34d2['attributes'][_0x2dab('0x39')]?_0x2e34d2[_0x2dab('0x38')]:_0x448367['model'];if(!_0x10ff60['query']['hasOwnProperty']('nolimit')){_0x2e34d2['limit']=qs[_0x2dab('0x21')](_0x10ff60[_0x2dab('0x34')][_0x2dab('0x21')]);_0x2e34d2['offset']=qs[_0x2dab('0x1f')](_0x10ff60['query']['offset']);}_0x2e34d2[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x10ff60[_0x2dab('0x34')][_0x2dab('0x3c')]);_0x2e34d2[_0x2dab('0x3d')]=qs[_0x2dab('0x35')](_['pick'](_0x10ff60[_0x2dab('0x34')],_0x448367[_0x2dab('0x35')]));_0x2e34d2['where'][_0x2dab('0x53')]=_0x489320['id'];if(_0x10ff60[_0x2dab('0x34')][_0x2dab('0x3e')]){_0x2e34d2[_0x2dab('0x3d')]=_['merge'](_0x2e34d2['where'],{'$or':_[_0x2dab('0x30')](_0x2e34d2['attributes'],function(_0x4a6c12){var _0x1c3ca6={};_0x1c3ca6[_0x4a6c12]={'$like':'%'+_0x10ff60['query'][_0x2dab('0x3e')]+'%'};return _0x1c3ca6;})});}_0x2e34d2=_[_0x2dab('0x40')]({},_0x2e34d2,_0x10ff60['options']);return db[_0x2dab('0x54')]['count']({'where':_0x2e34d2[_0x2dab('0x3d')]})[_0x2dab('0x29')](function(_0x3d218a){_0x53561c['count']=_0x3d218a;if(_0x10ff60[_0x2dab('0x34')][_0x2dab('0x42')]){_0x2e34d2[_0x2dab('0x43')]=[{'all':!![]}];}return db[_0x2dab('0x54')][_0x2dab('0x59')](_0x2e34d2);})[_0x2dab('0x29')](function(_0x5aaeef){_0x53561c[_0x2dab('0x44')]=_0x5aaeef;return _0x53561c;});}})['then'](respondWithFilteredResult(_0x1335ff,_0x2e34d2))['catch'](handleError(_0x1335ff,null));};exports[_0x2dab('0x5a')]=function(_0x10ab5b,_0x243c9a,_0x3133e7){return db['CmList']['find']({'where':{'id':_0x10ab5b[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x243c9a,null))[_0x2dab('0x29')](function(_0x326911){if(_0x326911){return _0x326911[_0x2dab('0x5a')](_0x10ab5b[_0x2dab('0x34')][_0x2dab('0x5b')]);}})[_0x2dab('0x29')](respondWithStatusCode(_0x243c9a,null))[_0x2dab('0x45')](handleError(_0x243c9a,null));};exports[_0x2dab('0x5c')]=function(_0x257fb7,_0x436ba8,_0x4e57de){return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0x257fb7[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x436ba8,null))[_0x2dab('0x29')](function(_0x40e874){if(_0x40e874){var _0x59909d=[];var _0x404eff={'success':[],'errors':[]};return db['CmContact'][_0x2dab('0x50')]()[_0x2dab('0x29')](function(_0x57b57f){if(_0x257fb7['body'][_0x2dab('0x5d')]&&_[_0x2dab('0x5e')](_0x257fb7[_0x2dab('0x4f')][_0x2dab('0x5d')])){if(_0x257fb7[_0x2dab('0x4f')]['tags'][_0x2dab('0x39')]){_0x257fb7[_0x2dab('0x4f')][_0x2dab('0x5d')]=_0x257fb7[_0x2dab('0x4f')]['tags'][_0x2dab('0x5f')](';')+';';}else{_0x257fb7[_0x2dab('0x4f')][_0x2dab('0x5d')]=null;}}else{_0x257fb7[_0x2dab('0x4f')][_0x2dab('0x5d')]=null;}if(_0x257fb7['body']&&_[_0x2dab('0x5e')](_0x257fb7['body'])){for(var _0x6cd64=0x0;_0x6cd64<_0x257fb7[_0x2dab('0x4f')][_0x2dab('0x39')];_0x6cd64+=0x1){_0x257fb7[_0x2dab('0x4f')][_0x6cd64][_0x2dab('0x53')]=_0x257fb7[_0x2dab('0x52')]['id'];_0x59909d[_0x2dab('0x60')](_0x257fb7[_0x2dab('0x4f')][_0x6cd64]);}return BPromise['each'](_0x59909d,function(_0x53b10c){return db['CmContact']['create'](_[_0x2dab('0x61')](_0x53b10c,[_0x2dab('0x5b'),'id'])||{},{'fields':_[_0x2dab('0x46')](_0x57b57f),'raw':!![]})['then'](function(_0x5a2c77){_0x404eff['success']['push'](_0x5a2c77[_0x2dab('0x62')]);})[_0x2dab('0x45')](function(_0x2c0a89){_0x404eff['errors'][_0x2dab('0x60')]({'data':_0x53b10c,'error':_0x2c0a89[_0x2dab('0x63')]});});})[_0x2dab('0x29')](function(_0xb64a1e){return _0x404eff;})[_0x2dab('0x45')](function(_0x44e2d1){return _0x44e2d1;});}else{_0x436ba8['status'](0x190)[_0x2dab('0x24')]({'message':_0x2dab('0x64')});}});}})[_0x2dab('0x29')](respondWithResult(_0x436ba8,null))[_0x2dab('0x45')](handleError(_0x436ba8,null));};exports[_0x2dab('0x65')]=function(_0x49dbc0,_0x46e49f,_0x58880b){var _0x4c9135;return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0x49dbc0[_0x2dab('0x52')]['id']},'include':[{'model':db[_0x2dab('0x66')],'as':'CustomFields'}]})[_0x2dab('0x29')](handleEntityNotFound(_0x46e49f,null))['then'](function(_0x1f6a09){if(_0x1f6a09){_0x4c9135=_0x1f6a09;return db[_0x2dab('0x67')]['rawAttributes'];}})['then'](function(_0x110bc1){if(_0x110bc1){var _0x344aed={};var _0x2e5ae7={};_0x2e5ae7[_0x2dab('0x36')]=_[_0x2dab('0x68')](_['keys'](_0x110bc1),_[_0x2dab('0x30')](_0x4c9135[_0x2dab('0x69')],function(_0x341b1d){return util['format'](_0x2dab('0x6a'),_0x341b1d['id']);}));_0x2e5ae7[_0x2dab('0x34')]=_[_0x2dab('0x46')](_0x49dbc0['query']);_0x2e5ae7[_0x2dab('0x35')]=_[_0x2dab('0x37')](_0x2e5ae7[_0x2dab('0x36')],_0x2e5ae7[_0x2dab('0x34')]);_0x344aed[_0x2dab('0x38')]=_[_0x2dab('0x37')](_0x2e5ae7['model'],qs[_0x2dab('0x58')](_0x49dbc0['query'][_0x2dab('0x58')]));_0x344aed[_0x2dab('0x38')]=_0x344aed['attributes'][_0x2dab('0x39')]?_0x344aed[_0x2dab('0x38')]:_0x2e5ae7['model'];if(!_0x49dbc0[_0x2dab('0x34')]['hasOwnProperty'](_0x2dab('0x3a'))){_0x344aed[_0x2dab('0x21')]=qs['limit'](_0x49dbc0[_0x2dab('0x34')]['limit']);_0x344aed['offset']=qs['offset'](_0x49dbc0[_0x2dab('0x34')][_0x2dab('0x1f')]);}_0x344aed[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x49dbc0['query'][_0x2dab('0x3c')]);_0x344aed[_0x2dab('0x3d')]=qs['filters'](_[_0x2dab('0x6b')](_0x49dbc0[_0x2dab('0x34')],_0x2e5ae7[_0x2dab('0x35')]));_0x344aed[_0x2dab('0x6c')]=!![];if(_0x49dbc0[_0x2dab('0x34')][_0x2dab('0x3e')]){_0x344aed[_0x2dab('0x3d')]=_[_0x2dab('0x40')](_0x344aed[_0x2dab('0x3d')],{'$or':_[_0x2dab('0x30')](_0x344aed[_0x2dab('0x38')],function(_0x2225aa){var _0x29500d={};_0x29500d[_0x2225aa]={'$like':'%'+_0x49dbc0[_0x2dab('0x34')][_0x2dab('0x3e')]+'%'};return _0x29500d;})});}_0x344aed=_[_0x2dab('0x40')]({},_0x344aed,_0x49dbc0[_0x2dab('0x41')]);return _0x4c9135[_0x2dab('0x65')](_0x344aed);}})[_0x2dab('0x29')](respondWithResult(_0x46e49f,null))[_0x2dab('0x45')](handleError(_0x46e49f,null));};exports[_0x2dab('0x6d')]=function(_0x19d2a9,_0xce42ad,_0x1702d0){var _0x1ea7d4;return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0x19d2a9['params']['id']},'include':[{'model':db[_0x2dab('0x66')],'as':_0x2dab('0x69')}]})[_0x2dab('0x29')](handleEntityNotFound(_0xce42ad,null))[_0x2dab('0x29')](function(_0x2956f2){if(_0x2956f2){_0x1ea7d4=_0x2956f2;return db[_0x2dab('0x67')]['rawAttributes'];}})[_0x2dab('0x29')](function(_0x1a90e8){if(_0x1a90e8){var _0x181995={};var _0x1ab920={};_0x1ab920[_0x2dab('0x36')]=_[_0x2dab('0x68')](_[_0x2dab('0x46')](_0x1a90e8),_[_0x2dab('0x30')](_0x1ea7d4['CustomFields'],function(_0x14b09e){return util[_0x2dab('0x6e')](_0x2dab('0x6a'),_0x14b09e['id']);}));_0x1ab920[_0x2dab('0x34')]=_[_0x2dab('0x46')](_0x19d2a9[_0x2dab('0x34')]);_0x1ab920['filters']=_[_0x2dab('0x37')](_0x1ab920[_0x2dab('0x36')],_0x1ab920[_0x2dab('0x34')]);_0x181995[_0x2dab('0x38')]=_[_0x2dab('0x37')](_0x1ab920[_0x2dab('0x36')],qs[_0x2dab('0x58')](_0x19d2a9['query'][_0x2dab('0x58')]));_0x181995['attributes']=_0x181995[_0x2dab('0x38')][_0x2dab('0x39')]?_0x181995['attributes']:_0x1ab920[_0x2dab('0x36')];if(!_0x19d2a9[_0x2dab('0x34')][_0x2dab('0x6f')]('nolimit')){_0x181995['limit']=qs[_0x2dab('0x21')](_0x19d2a9[_0x2dab('0x34')][_0x2dab('0x21')]);_0x181995[_0x2dab('0x1f')]=qs[_0x2dab('0x1f')](_0x19d2a9['query']['offset']);}_0x181995[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x19d2a9[_0x2dab('0x34')][_0x2dab('0x3c')]);_0x181995[_0x2dab('0x3d')]=qs[_0x2dab('0x35')](_[_0x2dab('0x6b')](_0x19d2a9[_0x2dab('0x34')],_0x1ab920[_0x2dab('0x35')]));_0x181995[_0x2dab('0x6c')]=!![];if(_0x19d2a9['query'][_0x2dab('0x3e')]){_0x181995[_0x2dab('0x3d')]=_['merge'](_0x181995['where'],{'$or':_[_0x2dab('0x30')](_0x181995['attributes'],function(_0x4ac03a){var _0x69a5c5={};_0x69a5c5[_0x4ac03a]={'$like':'%'+_0x19d2a9['query']['filter']+'%'};return _0x69a5c5;})});}_0x181995=_[_0x2dab('0x40')]({},_0x181995,_0x19d2a9[_0x2dab('0x41')]);return _0x1ea7d4[_0x2dab('0x65')](_0x181995);}})[_0x2dab('0x29')](function(_0xfef85c){if(!_[_0x2dab('0x70')](_0xfef85c)){var _0x29930a=toCsv(_0xfef85c);var _0x4a1868=Date[_0x2dab('0x71')]();fs['writeFileSync'](util[_0x2dab('0x6e')](_0x2dab('0x72'),_0x1ea7d4['id'],_0x4a1868),_0x29930a);_0xce42ad['setHeader'](_0x2dab('0x73'),_0x2dab('0x74')+util[_0x2dab('0x6e')]('list_%d_%s.csv',_0x1ea7d4['id'],_0x4a1868));_0xce42ad[_0x2dab('0x75')](_0x2dab('0x76'),'text/csv');return _0xce42ad['download'](util['format']('/tmp/list_%d_%s.csv',_0x1ea7d4['id'],_0x4a1868));}else{return _0xce42ad[_0x2dab('0x1c')](0xcc);}})[_0x2dab('0x45')](handleError(_0xce42ad,null));};exports[_0x2dab('0x77')]=function(_0x59ff02,_0x53ba45,_0x2a26c1){var _0x1de721;delete _0x59ff02[_0x2dab('0x4f')]['id'];return db[_0x2dab('0x47')]['findOne']({'where':{'id':_0x59ff02['params']['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x53ba45,null))[_0x2dab('0x29')](function(_0xde1a27){if(_0xde1a27){return db[_0x2dab('0x78')][_0x2dab('0x79')](function(_0x4a0ca7){return db[_0x2dab('0x66')][_0x2dab('0x49')](_0x59ff02[_0x2dab('0x4f')],{'transaction':_0x4a0ca7})[_0x2dab('0x29')](function(_0x59eb03){_0x1de721=_0x59eb03;return _0xde1a27[_0x2dab('0x7a')](_0x59eb03,{'transaction':_0x4a0ca7});})[_0x2dab('0x29')](function(){var _0x9ef1fb={'type':db['Sequelize'][_0x2dab('0x7b')],'transaction':_0x4a0ca7};switch(_0x59ff02[_0x2dab('0x4f')][_0x2dab('0x31')]){case _0x2dab('0x7c'):_0x9ef1fb[_0x2dab('0x31')]=db[_0x2dab('0x7d')]['TEXT'];break;case'number':_0x9ef1fb['type']=db['Sequelize'][_0x2dab('0x7e')];break;case _0x2dab('0x7f'):_0x9ef1fb[_0x2dab('0x31')]=db['Sequelize'][_0x2dab('0x80')];_0x9ef1fb[_0x2dab('0x81')]=![];break;default:}return db[_0x2dab('0x78')][_0x2dab('0x82')][_0x2dab('0x83')](_0x2dab('0x84'),util[_0x2dab('0x6e')]('cf_%s',_0x1de721['id']),_0x9ef1fb);})[_0x2dab('0x29')](function(){return _0x1de721;});});}})[_0x2dab('0x29')](respondWithResult(_0x53ba45,null))['catch'](handleError(_0x53ba45,null));};exports[_0x2dab('0x85')]=function(_0x373ef7,_0x1d307c,_0x470522){var _0x11fb77={};var _0x3338b1={};var _0x5ae054;var _0xf6cb0e;return db[_0x2dab('0x47')][_0x2dab('0x56')]({'where':{'id':_0x373ef7[_0x2dab('0x52')]['id']}})['then'](handleEntityNotFound(_0x1d307c,null))[_0x2dab('0x29')](function(_0x28dc16){if(_0x28dc16){_0x5ae054=_0x28dc16;_0x3338b1[_0x2dab('0x36')]=_['keys'](db[_0x2dab('0x66')][_0x2dab('0x57')]);_0x3338b1[_0x2dab('0x34')]=_[_0x2dab('0x46')](_0x373ef7[_0x2dab('0x34')]);_0x3338b1[_0x2dab('0x35')]=_[_0x2dab('0x37')](_0x3338b1[_0x2dab('0x36')],_0x3338b1['query']);_0x11fb77['attributes']=_[_0x2dab('0x37')](_0x3338b1['model'],qs[_0x2dab('0x58')](_0x373ef7[_0x2dab('0x34')][_0x2dab('0x58')]));_0x11fb77[_0x2dab('0x38')]=_0x11fb77[_0x2dab('0x38')]['length']?_0x11fb77['attributes']:_0x3338b1[_0x2dab('0x36')];_0x11fb77[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x373ef7['query'][_0x2dab('0x3c')]);_0x11fb77[_0x2dab('0x3d')]=qs[_0x2dab('0x35')](_['pick'](_0x373ef7[_0x2dab('0x34')],_0x3338b1[_0x2dab('0x35')]));_0x11fb77[_0x2dab('0x3d')]=_[_0x2dab('0x40')](_0x11fb77[_0x2dab('0x3d')],{'$or':[{'ListId':_0x28dc16['id']},{'ListId':null}]});if(_0x373ef7['query']['filter']){_0x11fb77['where']=_[_0x2dab('0x40')](_0x11fb77[_0x2dab('0x3d')],{'$or':_[_0x2dab('0x30')](_0x11fb77[_0x2dab('0x38')],function(_0x115554){var _0xefbfe9={};_0xefbfe9[_0x115554]={'$like':'%'+_0x373ef7[_0x2dab('0x34')]['filter']+'%'};return _0xefbfe9;})});}_0x11fb77=_[_0x2dab('0x40')]({},_0x11fb77,_0x373ef7['options']);return db[_0x2dab('0x66')][_0x2dab('0x86')](_0x11fb77);}})[_0x2dab('0x29')](respondWithResult(_0x1d307c,null))[_0x2dab('0x45')](handleError(_0x1d307c,null));};exports[_0x2dab('0x87')]=function(_0x4a6d70,_0x1d0b0b,_0x1634df){return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0x4a6d70[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x1d0b0b,null))[_0x2dab('0x29')](function(_0x4b0b67){if(_0x4b0b67){return _0x4b0b67['addAgents'](_0x4a6d70[_0x2dab('0x4f')]['ids'],_[_0x2dab('0x61')](_0x4a6d70[_0x2dab('0x4f')],[_0x2dab('0x5b'),'id'])||{})[_0x2dab('0x88')](function(_0x8c3053){for(var _0x1a055a=0x0;_0x1a055a<_0x4a6d70[_0x2dab('0x4f')][_0x2dab('0x5b')][_0x2dab('0x39')];_0x1a055a+=0x1){socket[_0x2dab('0x89')]('userCmList:save',{'UserId':Number(_0x4a6d70[_0x2dab('0x4f')][_0x2dab('0x5b')][_0x1a055a]),'CmListId':Number(_0x4a6d70['params']['id'])});}return _0x8c3053;});}})[_0x2dab('0x29')](respondWithResult(_0x1d0b0b,null))[_0x2dab('0x45')](handleError(_0x1d0b0b,null));};exports['removeAgents']=function(_0xc2df2,_0x3600de,_0x122ee5){return db[_0x2dab('0x47')][_0x2dab('0x48')]({'where':{'id':_0xc2df2[_0x2dab('0x52')]['id']}})['then'](handleEntityNotFound(_0x3600de,null))['then'](function(_0x5d8fd3){if(_0x5d8fd3){return _0x5d8fd3[_0x2dab('0x8a')](_0xc2df2['query'][_0x2dab('0x5b')])[_0x2dab('0x29')](function(){if(_[_0x2dab('0x5e')](_0xc2df2[_0x2dab('0x34')][_0x2dab('0x5b')])){for(var _0x93cf9=0x0;_0x93cf9<_0xc2df2[_0x2dab('0x34')][_0x2dab('0x5b')][_0x2dab('0x39')];_0x93cf9+=0x1){socket[_0x2dab('0x89')](_0x2dab('0x8b'),{'UserId':Number(_0xc2df2['query'][_0x2dab('0x5b')][_0x93cf9]),'CmListId':Number(_0xc2df2[_0x2dab('0x52')]['id'])});}}else{socket[_0x2dab('0x89')](_0x2dab('0x8b'),{'UserId':Number(_0xc2df2[_0x2dab('0x34')]['ids']),'CmListId':Number(_0xc2df2['params']['id'])});}});}})[_0x2dab('0x29')](respondWithStatusCode(_0x3600de,null))[_0x2dab('0x45')](handleError(_0x3600de,null));};exports[_0x2dab('0x8c')]=function(_0x5321e3,_0x1585cb,_0x4c2261){var _0x12bbba={};var _0xb0bdbb={};var _0x162d4e;var _0x938a57;return db[_0x2dab('0x47')]['findOne']({'where':{'id':_0x5321e3[_0x2dab('0x52')]['id']}})[_0x2dab('0x29')](handleEntityNotFound(_0x1585cb,null))[_0x2dab('0x29')](function(_0x5398d4){if(_0x5398d4){_0x162d4e=_0x5398d4;_0xb0bdbb[_0x2dab('0x36')]=_['keys'](db[_0x2dab('0x8d')][_0x2dab('0x57')]);_0xb0bdbb[_0x2dab('0x34')]=_['keys'](_0x5321e3[_0x2dab('0x34')]);_0xb0bdbb[_0x2dab('0x35')]=_[_0x2dab('0x37')](_0xb0bdbb[_0x2dab('0x36')],_0xb0bdbb[_0x2dab('0x34')]);_0x12bbba['attributes']=_['intersection'](_0xb0bdbb[_0x2dab('0x36')],qs[_0x2dab('0x58')](_0x5321e3[_0x2dab('0x34')][_0x2dab('0x58')]));_0x12bbba[_0x2dab('0x38')]=_0x12bbba[_0x2dab('0x38')][_0x2dab('0x39')]?_0x12bbba[_0x2dab('0x38')]:_0xb0bdbb[_0x2dab('0x36')];_0x12bbba[_0x2dab('0x3b')]=qs[_0x2dab('0x3c')](_0x5321e3[_0x2dab('0x34')]['sort']);_0x12bbba[_0x2dab('0x3d')]=qs[_0x2dab('0x35')](_[_0x2dab('0x6b')](_0x5321e3['query'],_0xb0bdbb['filters']));if(_0x5321e3[_0x2dab('0x34')]['filter']){_0x12bbba['where']=_[_0x2dab('0x40')](_0x12bbba['where'],{'$or':_[_0x2dab('0x30')](_0x12bbba[_0x2dab('0x38')],function(_0x22fb73){var _0x4ab030={};_0x4ab030[_0x22fb73]={'$like':'%'+_0x5321e3[_0x2dab('0x34')]['filter']+'%'};return _0x4ab030;})});}_0x12bbba=_[_0x2dab('0x40')]({},_0x12bbba,_0x5321e3[_0x2dab('0x41')]);return _0x162d4e[_0x2dab('0x8c')](_0x12bbba);}})[_0x2dab('0x29')](function(_0x16390d){if(_0x16390d){_0x938a57=_0x16390d[_0x2dab('0x39')];if(!_0x5321e3['query']['hasOwnProperty']('nolimit')){_0x12bbba[_0x2dab('0x21')]=qs['limit'](_0x5321e3['query'][_0x2dab('0x21')]);_0x12bbba[_0x2dab('0x1f')]=qs['offset'](_0x5321e3[_0x2dab('0x34')]['offset']);}return _0x162d4e[_0x2dab('0x8c')](_0x12bbba);}})[_0x2dab('0x29')](function(_0x1ed018){if(_0x1ed018){return _0x1ed018?{'count':_0x938a57,'rows':_0x1ed018}:null;}})['then'](respondWithResult(_0x1585cb,null))[_0x2dab('0x45')](handleError(_0x1585cb,null));};