1f49fd23289b9f82af653e5cf3d6b0f913fd1e8f
[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 _0xb016=['get','Lists','UserProfileResource','sendStatus','error','stack','name','send','map','CmList','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','where','filter','merge','VIRTUAL','includeAll','include','show','params','length','options','find','catch','create','body','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','describe','addDisposition','ListId','Disposition','getDispositions','findOne','sort','pick','findAll','rows','removeDispositions','addContacts','CmContact','tags','isArray','join','each','omit','success','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','format','cf_%d','raw','getContactsCsv','concat','isEmpty','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','text/csv','/tmp/list_%d_%s.csv','addCustomField','sequelize','transaction','Sequelize','text','TEXT','number','INTEGER','switch','defaultValue','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','ids','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmList.socket','register','status','end','json','offset','undefined','limit','count','Content-Range','reject','save','then'];(function(_0xa21fa0,_0x423401){var _0x4deb53=function(_0x5d2bb8){while(--_0x5d2bb8){_0xa21fa0['push'](_0xa21fa0['shift']());}};_0x4deb53(++_0x423401);}(_0xb016,0x191));var _0x6b01=function(_0x5ce9ed,_0x42b573){_0x5ce9ed=_0x5ce9ed-0x0;var _0x5a92f0=_0xb016[_0x5ce9ed];return _0x5a92f0;};'use strict';var emlformat=require(_0x6b01('0x0'));var rimraf=require(_0x6b01('0x1'));var zipdir=require(_0x6b01('0x2'));var jsonpatch=require(_0x6b01('0x3'));var rp=require(_0x6b01('0x4'));var moment=require(_0x6b01('0x5'));var BPromise=require(_0x6b01('0x6'));var Mustache=require(_0x6b01('0x7'));var util=require(_0x6b01('0x8'));var path=require(_0x6b01('0x9'));var sox=require(_0x6b01('0xa'));var csv=require(_0x6b01('0xb'));var ejs=require(_0x6b01('0xc'));var fs=require('fs');var fs_extra=require(_0x6b01('0xd'));var _=require('lodash');var squel=require(_0x6b01('0xe'));var crypto=require('crypto');var jsforce=require(_0x6b01('0xf'));var deskjs=require(_0x6b01('0x10'));var toCsv=require(_0x6b01('0xb'));var querystring=require(_0x6b01('0x11'));var Papa=require(_0x6b01('0x12'));var Redis=require(_0x6b01('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6b01('0x14'));var hardwareService=require(_0x6b01('0x15'));var logger=require(_0x6b01('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x6b01('0x17'));var licenseUtil=require(_0x6b01('0x18'));var db=require(_0x6b01('0x19'))['db'];config[_0x6b01('0x1a')]=_[_0x6b01('0x1b')](config[_0x6b01('0x1a')],{'host':_0x6b01('0x1c'),'port':0x18eb});var socket=require(_0x6b01('0x1d'))(new Redis(config[_0x6b01('0x1a')]));require(_0x6b01('0x1e'))[_0x6b01('0x1f')](socket);function respondWithStatusCode(_0x555935,_0x1538a4){_0x1538a4=_0x1538a4||0xcc;return function(_0x328533){if(_0x328533){return _0x555935['sendStatus'](_0x1538a4);}return _0x555935[_0x6b01('0x20')](_0x1538a4)[_0x6b01('0x21')]();};}function respondWithResult(_0x487446,_0x3ff6bb){_0x3ff6bb=_0x3ff6bb||0xc8;return function(_0x4fb049){if(_0x4fb049){return _0x487446[_0x6b01('0x20')](_0x3ff6bb)[_0x6b01('0x22')](_0x4fb049);}};}function respondWithFilteredResult(_0x1b2c48,_0x459028){return function(_0x40acd1){if(_0x40acd1){var _0x2a45d2=typeof _0x459028[_0x6b01('0x23')]===_0x6b01('0x24')&&typeof _0x459028[_0x6b01('0x25')]==='undefined';var _0x5f42f0=_0x40acd1['count'];var _0x38a648=_0x2a45d2?0x0:_0x459028[_0x6b01('0x23')];var _0x503334=_0x2a45d2?_0x40acd1[_0x6b01('0x26')]:_0x459028[_0x6b01('0x23')]+_0x459028[_0x6b01('0x25')];var _0xefd767;if(_0x503334>=_0x5f42f0){_0x503334=_0x5f42f0;_0xefd767=0xc8;}else{_0xefd767=0xce;}_0x1b2c48[_0x6b01('0x20')](_0xefd767);return _0x1b2c48['set'](_0x6b01('0x27'),_0x38a648+'-'+_0x503334+'/'+_0x5f42f0)[_0x6b01('0x22')](_0x40acd1);}return null;};}function patchUpdates(_0x32180f){return function(_0x3a5a94){try{jsonpatch['apply'](_0x3a5a94,_0x32180f,!![]);}catch(_0x30ffb0){return BPromise[_0x6b01('0x28')](_0x30ffb0);}return _0x3a5a94[_0x6b01('0x29')]();};}function saveUpdates(_0x54ae2d,_0x4d442c){return function(_0x755f41){if(_0x755f41){return _0x755f41['update'](_0x54ae2d)[_0x6b01('0x2a')](function(_0x50d1df){return _0x50d1df;});}return null;};}function removeEntity(_0x229a5b,_0x2d7e5a){return function(_0x285ccc){if(_0x285ccc){return _0x285ccc['destroy']()['then'](function(){var _0x5e2c3c=_0x285ccc[_0x6b01('0x2b')]({'plain':!![]});var _0x5b6f90=_0x6b01('0x2c');return db[_0x6b01('0x2d')]['destroy']({'where':{'type':_0x5b6f90,'resourceId':_0x5e2c3c['id']}})[_0x6b01('0x2a')](function(){return _0x285ccc;});})['then'](function(){_0x229a5b[_0x6b01('0x20')](0xcc)[_0x6b01('0x21')]();});}};}function handleEntityNotFound(_0x3f2b37,_0x47df63){return function(_0x584caf){if(!_0x584caf){_0x3f2b37[_0x6b01('0x2e')](0x194);}return _0x584caf;};}function handleError(_0xaea8b9,_0x490fd8){_0x490fd8=_0x490fd8||0x1f4;return function(_0x20a21e){logger[_0x6b01('0x2f')](_0x20a21e[_0x6b01('0x30')]);if(_0x20a21e[_0x6b01('0x31')]){delete _0x20a21e[_0x6b01('0x31')];}_0xaea8b9[_0x6b01('0x20')](_0x490fd8)[_0x6b01('0x32')](_0x20a21e);};}exports['index']=function(_0x466a9c,_0xfb226a){var _0x415c47={},_0x2ad03a={},_0x47bc7c={'count':0x0,'rows':[]};var _0x43a65c=_[_0x6b01('0x33')](db[_0x6b01('0x34')][_0x6b01('0x35')],function(_0x23c2f2){return{'name':_0x23c2f2['fieldName'],'type':_0x23c2f2[_0x6b01('0x36')][_0x6b01('0x37')]};});_0x2ad03a[_0x6b01('0x38')]=_[_0x6b01('0x33')](_0x43a65c,'name');_0x2ad03a[_0x6b01('0x39')]=_[_0x6b01('0x3a')](_0x466a9c['query']);_0x2ad03a[_0x6b01('0x3b')]=_['intersection'](_0x2ad03a['model'],_0x2ad03a['query']);_0x415c47[_0x6b01('0x3c')]=_[_0x6b01('0x3d')](_0x2ad03a[_0x6b01('0x38')],qs['fields'](_0x466a9c['query'][_0x6b01('0x3e')]));_0x415c47[_0x6b01('0x3c')]=_0x415c47[_0x6b01('0x3c')]['length']?_0x415c47[_0x6b01('0x3c')]:_0x2ad03a[_0x6b01('0x38')];if(!_0x466a9c[_0x6b01('0x39')][_0x6b01('0x3f')](_0x6b01('0x40'))){_0x415c47[_0x6b01('0x25')]=qs['limit'](_0x466a9c['query'][_0x6b01('0x25')]);_0x415c47[_0x6b01('0x23')]=qs[_0x6b01('0x23')](_0x466a9c[_0x6b01('0x39')][_0x6b01('0x23')]);}_0x415c47[_0x6b01('0x41')]=qs['sort'](_0x466a9c[_0x6b01('0x39')]['sort']);_0x415c47[_0x6b01('0x42')]=qs['filters'](_['pick'](_0x466a9c[_0x6b01('0x39')],_0x2ad03a[_0x6b01('0x3b')]),_0x43a65c);if(_0x466a9c[_0x6b01('0x39')][_0x6b01('0x43')]){_0x415c47['where']=_[_0x6b01('0x44')](_0x415c47[_0x6b01('0x42')],{'$or':_[_0x6b01('0x33')](_0x43a65c,function(_0x56ee71){if(_0x56ee71[_0x6b01('0x36')]!==_0x6b01('0x45')){var _0x3fbb22={};_0x3fbb22[_0x56ee71['name']]={'$like':'%'+_0x466a9c[_0x6b01('0x39')][_0x6b01('0x43')]+'%'};return _0x3fbb22;}})});}_0x415c47=_[_0x6b01('0x44')]({},_0x415c47,_0x466a9c['options']);var _0x922c4f={'where':_0x415c47[_0x6b01('0x42')]};return db['CmList'][_0x6b01('0x26')](_0x922c4f)[_0x6b01('0x2a')](function(_0x3665a7){_0x47bc7c[_0x6b01('0x26')]=_0x3665a7;if(_0x466a9c['query'][_0x6b01('0x46')]){_0x415c47[_0x6b01('0x47')]=[{'all':!![]}];}return db[_0x6b01('0x34')]['findAll'](_0x415c47);})[_0x6b01('0x2a')](function(_0x3d68a6){_0x47bc7c['rows']=_0x3d68a6;return _0x47bc7c;})[_0x6b01('0x2a')](respondWithFilteredResult(_0xfb226a,_0x415c47))['catch'](handleError(_0xfb226a,null));};exports[_0x6b01('0x48')]=function(_0x16bba2,_0x2a8a78){var _0x166b52={'raw':![],'where':{'id':_0x16bba2[_0x6b01('0x49')]['id']}},_0x26812f={};_0x26812f['model']=_[_0x6b01('0x3a')](db['CmList'][_0x6b01('0x35')]);_0x26812f[_0x6b01('0x39')]=_[_0x6b01('0x3a')](_0x16bba2[_0x6b01('0x39')]);_0x26812f[_0x6b01('0x3b')]=_[_0x6b01('0x3d')](_0x26812f[_0x6b01('0x38')],_0x26812f[_0x6b01('0x39')]);_0x166b52[_0x6b01('0x3c')]=_['intersection'](_0x26812f['model'],qs[_0x6b01('0x3e')](_0x16bba2[_0x6b01('0x39')][_0x6b01('0x3e')]));_0x166b52[_0x6b01('0x3c')]=_0x166b52[_0x6b01('0x3c')][_0x6b01('0x4a')]?_0x166b52[_0x6b01('0x3c')]:_0x26812f['model'];if(_0x16bba2[_0x6b01('0x39')][_0x6b01('0x46')]){_0x166b52[_0x6b01('0x47')]=[{'all':!![]}];}_0x166b52=_[_0x6b01('0x44')]({},_0x166b52,_0x16bba2[_0x6b01('0x4b')]);return db[_0x6b01('0x34')][_0x6b01('0x4c')](_0x166b52)['then'](handleEntityNotFound(_0x2a8a78,null))[_0x6b01('0x2a')](respondWithResult(_0x2a8a78,null))[_0x6b01('0x4d')](handleError(_0x2a8a78,null));};exports[_0x6b01('0x4e')]=function(_0x190f65,_0x24ca81){return db[_0x6b01('0x34')][_0x6b01('0x4e')](_0x190f65[_0x6b01('0x4f')],{})[_0x6b01('0x2a')](function(_0x17bad5){var _0x8ea193=_0x190f65['user'][_0x6b01('0x2b')]({'plain':!![]});if(!_0x8ea193)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x8ea193[_0x6b01('0x50')]===_0x6b01('0x51')){var _0x255332=_0x17bad5[_0x6b01('0x2b')]({'plain':!![]});var _0x4b5015='Lists';return db['UserProfileSection'][_0x6b01('0x4c')]({'where':{'name':_0x4b5015,'userProfileId':_0x8ea193[_0x6b01('0x52')]},'raw':!![]})[_0x6b01('0x2a')](function(_0x5ad845){if(_0x5ad845&&_0x5ad845[_0x6b01('0x53')]===0x0){return db[_0x6b01('0x2d')]['create']({'name':_0x255332[_0x6b01('0x31')],'resourceId':_0x255332['id'],'type':_0x5ad845[_0x6b01('0x31')],'sectionId':_0x5ad845['id']},{})['then'](function(){return _0x17bad5;});}else{return _0x17bad5;}})[_0x6b01('0x4d')](function(_0x5d4c5e){logger[_0x6b01('0x2f')](_0x6b01('0x54'),_0x5d4c5e);throw _0x5d4c5e;});}return _0x17bad5;})[_0x6b01('0x2a')](respondWithResult(_0x24ca81,0xc9))[_0x6b01('0x4d')](handleError(_0x24ca81,null));};exports['update']=function(_0x16dc63,_0x1f85e8){if(_0x16dc63[_0x6b01('0x4f')]['id']){delete _0x16dc63['body']['id'];}return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x16dc63['params']['id']}})['then'](handleEntityNotFound(_0x1f85e8,null))['then'](saveUpdates(_0x16dc63[_0x6b01('0x4f')],null))[_0x6b01('0x2a')](respondWithResult(_0x1f85e8,null))[_0x6b01('0x4d')](handleError(_0x1f85e8,null));};exports[_0x6b01('0x55')]=function(_0x2c9a64,_0x42c897){return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x2c9a64['params']['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x42c897,null))[_0x6b01('0x2a')](removeEntity(_0x42c897,null))[_0x6b01('0x4d')](handleError(_0x42c897,null));};exports['describe']=function(_0x49b594,_0x58b939){return db[_0x6b01('0x34')][_0x6b01('0x56')]()[_0x6b01('0x2a')](respondWithResult(_0x58b939,null))['catch'](handleError(_0x58b939,null));};exports[_0x6b01('0x57')]=function(_0x16bc67,_0x147fab,_0x178087){if(_0x16bc67[_0x6b01('0x4f')]['id']){delete _0x16bc67['body']['id'];}return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x16bc67[_0x6b01('0x49')]['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x147fab,null))['then'](function(_0x316a8d){if(_0x316a8d){_0x16bc67[_0x6b01('0x4f')][_0x6b01('0x58')]=_0x316a8d['id'];return db[_0x6b01('0x59')]['create'](_0x16bc67[_0x6b01('0x4f')]);}})[_0x6b01('0x2a')](respondWithResult(_0x147fab,null))[_0x6b01('0x4d')](handleError(_0x147fab,null));};exports[_0x6b01('0x5a')]=function(_0x37c953,_0x3e3dea,_0x290c5e){var _0x431804={'raw':![],'where':{}};var _0x41217a={};var _0x4370b0={'count':0x0,'rows':[]};return db['CmList'][_0x6b01('0x5b')]({'where':{'id':_0x37c953[_0x6b01('0x49')]['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x3e3dea,null))['then'](function(_0x3eef41){if(_0x3eef41){_0x41217a[_0x6b01('0x38')]=_['keys'](db[_0x6b01('0x59')][_0x6b01('0x35')]);_0x41217a['query']=_[_0x6b01('0x3a')](_0x37c953[_0x6b01('0x39')]);_0x41217a[_0x6b01('0x3b')]=_[_0x6b01('0x3d')](_0x41217a[_0x6b01('0x38')],_0x41217a[_0x6b01('0x39')]);_0x431804[_0x6b01('0x3c')]=_[_0x6b01('0x3d')](_0x41217a[_0x6b01('0x38')],qs[_0x6b01('0x3e')](_0x37c953[_0x6b01('0x39')][_0x6b01('0x3e')]));_0x431804[_0x6b01('0x3c')]=_0x431804['attributes']['length']?_0x431804['attributes']:_0x41217a[_0x6b01('0x38')];if(!_0x37c953['query']['hasOwnProperty']('nolimit')){_0x431804['limit']=qs[_0x6b01('0x25')](_0x37c953[_0x6b01('0x39')][_0x6b01('0x25')]);_0x431804[_0x6b01('0x23')]=qs['offset'](_0x37c953[_0x6b01('0x39')][_0x6b01('0x23')]);}_0x431804[_0x6b01('0x41')]=qs['sort'](_0x37c953[_0x6b01('0x39')][_0x6b01('0x5c')]);_0x431804['where']=qs[_0x6b01('0x3b')](_[_0x6b01('0x5d')](_0x37c953['query'],_0x41217a[_0x6b01('0x3b')]));_0x431804[_0x6b01('0x42')]['ListId']=_0x3eef41['id'];if(_0x37c953[_0x6b01('0x39')][_0x6b01('0x43')]){_0x431804[_0x6b01('0x42')]=_['merge'](_0x431804[_0x6b01('0x42')],{'$or':_[_0x6b01('0x33')](_0x431804[_0x6b01('0x3c')],function(_0x4cfa92){var _0x2046a3={};_0x2046a3[_0x4cfa92]={'$like':'%'+_0x37c953['query'][_0x6b01('0x43')]+'%'};return _0x2046a3;})});}_0x431804=_[_0x6b01('0x44')]({},_0x431804,_0x37c953[_0x6b01('0x4b')]);return db[_0x6b01('0x59')][_0x6b01('0x26')]({'where':_0x431804['where']})[_0x6b01('0x2a')](function(_0x189b04){_0x4370b0[_0x6b01('0x26')]=_0x189b04;if(_0x37c953[_0x6b01('0x39')][_0x6b01('0x46')]){_0x431804[_0x6b01('0x47')]=[{'all':!![]}];}return db[_0x6b01('0x59')][_0x6b01('0x5e')](_0x431804);})['then'](function(_0x33804c){_0x4370b0[_0x6b01('0x5f')]=_0x33804c;return _0x4370b0;});}})[_0x6b01('0x2a')](respondWithFilteredResult(_0x3e3dea,_0x431804))['catch'](handleError(_0x3e3dea,null));};exports['removeDispositions']=function(_0x6e0a3d,_0x2235b7,_0x4e1216){return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x6e0a3d[_0x6b01('0x49')]['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x2235b7,null))[_0x6b01('0x2a')](function(_0x281053){if(_0x281053){return _0x281053[_0x6b01('0x60')](_0x6e0a3d['query']['ids']);}})[_0x6b01('0x2a')](respondWithStatusCode(_0x2235b7,null))[_0x6b01('0x4d')](handleError(_0x2235b7,null));};exports[_0x6b01('0x61')]=function(_0x418be3,_0x30ac67,_0x11f03f){return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x418be3[_0x6b01('0x49')]['id']}})['then'](handleEntityNotFound(_0x30ac67,null))[_0x6b01('0x2a')](function(_0x14154c){if(_0x14154c){var _0x5a67a4=[];var _0x55b955={'success':[],'errors':[]};return db[_0x6b01('0x62')][_0x6b01('0x56')]()[_0x6b01('0x2a')](function(_0x355e50){if(_0x418be3[_0x6b01('0x4f')][_0x6b01('0x63')]&&_[_0x6b01('0x64')](_0x418be3[_0x6b01('0x4f')]['tags'])){if(_0x418be3['body'][_0x6b01('0x63')][_0x6b01('0x4a')]){_0x418be3[_0x6b01('0x4f')]['tags']=_0x418be3[_0x6b01('0x4f')][_0x6b01('0x63')][_0x6b01('0x65')](';')+';';}else{_0x418be3[_0x6b01('0x4f')][_0x6b01('0x63')]=null;}}else{_0x418be3['body'][_0x6b01('0x63')]=null;}if(_0x418be3[_0x6b01('0x4f')]&&_['isArray'](_0x418be3[_0x6b01('0x4f')])){for(var _0x2b4273=0x0;_0x2b4273<_0x418be3[_0x6b01('0x4f')][_0x6b01('0x4a')];_0x2b4273+=0x1){_0x418be3['body'][_0x2b4273]['ListId']=_0x418be3[_0x6b01('0x49')]['id'];_0x5a67a4['push'](_0x418be3[_0x6b01('0x4f')][_0x2b4273]);}return BPromise[_0x6b01('0x66')](_0x5a67a4,function(_0x379f44){return db['CmContact'][_0x6b01('0x4e')](_[_0x6b01('0x67')](_0x379f44,['ids','id'])||{},{'fields':_[_0x6b01('0x3a')](_0x355e50),'raw':!![]})[_0x6b01('0x2a')](function(_0x557c42){_0x55b955[_0x6b01('0x68')]['push'](_0x557c42[_0x6b01('0x69')]);})[_0x6b01('0x4d')](function(_0x33f5c2){_0x55b955[_0x6b01('0x6a')]['push']({'data':_0x379f44,'error':_0x33f5c2[_0x6b01('0x6b')]});});})[_0x6b01('0x2a')](function(_0x22bdc1){return _0x55b955;})[_0x6b01('0x4d')](function(_0x12e6c2){return _0x12e6c2;});}else{_0x30ac67['status'](0x190)[_0x6b01('0x22')]({'message':_0x6b01('0x6c')});}});}})[_0x6b01('0x2a')](respondWithResult(_0x30ac67,null))[_0x6b01('0x4d')](handleError(_0x30ac67,null));};exports[_0x6b01('0x6d')]=function(_0x4b83c1,_0x582e14,_0x4562c2){var _0x14daa2;return db[_0x6b01('0x34')]['find']({'where':{'id':_0x4b83c1[_0x6b01('0x49')]['id']},'include':[{'model':db[_0x6b01('0x6e')],'as':'CustomFields'}]})[_0x6b01('0x2a')](handleEntityNotFound(_0x582e14,null))[_0x6b01('0x2a')](function(_0x3d97bd){if(_0x3d97bd){_0x14daa2=_0x3d97bd;return db['CmContact'][_0x6b01('0x35')];}})[_0x6b01('0x2a')](function(_0x203fcb){if(_0x203fcb){var _0x1e4178={};var _0xdc1cff={};_0xdc1cff[_0x6b01('0x38')]=_['concat'](_[_0x6b01('0x3a')](_0x203fcb),_[_0x6b01('0x33')](_0x14daa2[_0x6b01('0x6f')],function(_0x48472e){return util[_0x6b01('0x70')](_0x6b01('0x71'),_0x48472e['id']);}));_0xdc1cff[_0x6b01('0x39')]=_[_0x6b01('0x3a')](_0x4b83c1[_0x6b01('0x39')]);_0xdc1cff[_0x6b01('0x3b')]=_['intersection'](_0xdc1cff[_0x6b01('0x38')],_0xdc1cff[_0x6b01('0x39')]);_0x1e4178[_0x6b01('0x3c')]=_[_0x6b01('0x3d')](_0xdc1cff['model'],qs[_0x6b01('0x3e')](_0x4b83c1[_0x6b01('0x39')][_0x6b01('0x3e')]));_0x1e4178[_0x6b01('0x3c')]=_0x1e4178[_0x6b01('0x3c')]['length']?_0x1e4178[_0x6b01('0x3c')]:_0xdc1cff[_0x6b01('0x38')];if(!_0x4b83c1[_0x6b01('0x39')][_0x6b01('0x3f')]('nolimit')){_0x1e4178[_0x6b01('0x25')]=qs[_0x6b01('0x25')](_0x4b83c1[_0x6b01('0x39')][_0x6b01('0x25')]);_0x1e4178[_0x6b01('0x23')]=qs[_0x6b01('0x23')](_0x4b83c1[_0x6b01('0x39')][_0x6b01('0x23')]);}_0x1e4178[_0x6b01('0x41')]=qs[_0x6b01('0x5c')](_0x4b83c1[_0x6b01('0x39')][_0x6b01('0x5c')]);_0x1e4178['where']=qs['filters'](_[_0x6b01('0x5d')](_0x4b83c1['query'],_0xdc1cff[_0x6b01('0x3b')]));_0x1e4178[_0x6b01('0x72')]=!![];if(_0x4b83c1[_0x6b01('0x39')]['filter']){_0x1e4178[_0x6b01('0x42')]=_[_0x6b01('0x44')](_0x1e4178[_0x6b01('0x42')],{'$or':_[_0x6b01('0x33')](_0x1e4178[_0x6b01('0x3c')],function(_0x5c8172){var _0xb752b3={};_0xb752b3[_0x5c8172]={'$like':'%'+_0x4b83c1['query'][_0x6b01('0x43')]+'%'};return _0xb752b3;})});}_0x1e4178=_[_0x6b01('0x44')]({},_0x1e4178,_0x4b83c1[_0x6b01('0x4b')]);return _0x14daa2['getContacts'](_0x1e4178);}})[_0x6b01('0x2a')](respondWithResult(_0x582e14,null))[_0x6b01('0x4d')](handleError(_0x582e14,null));};exports[_0x6b01('0x73')]=function(_0x4e82ff,_0x3a9e22,_0x8b699d){var _0x5e5b96;return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x4e82ff[_0x6b01('0x49')]['id']},'include':[{'model':db[_0x6b01('0x6e')],'as':_0x6b01('0x6f')}]})['then'](handleEntityNotFound(_0x3a9e22,null))[_0x6b01('0x2a')](function(_0x20e868){if(_0x20e868){_0x5e5b96=_0x20e868;return db[_0x6b01('0x62')][_0x6b01('0x35')];}})[_0x6b01('0x2a')](function(_0xa933ec){if(_0xa933ec){var _0x1b8b27={};var _0x583e29={};_0x583e29['model']=_[_0x6b01('0x74')](_[_0x6b01('0x3a')](_0xa933ec),_[_0x6b01('0x33')](_0x5e5b96['CustomFields'],function(_0x4a7812){return util[_0x6b01('0x70')](_0x6b01('0x71'),_0x4a7812['id']);}));_0x583e29[_0x6b01('0x39')]=_[_0x6b01('0x3a')](_0x4e82ff[_0x6b01('0x39')]);_0x583e29[_0x6b01('0x3b')]=_['intersection'](_0x583e29['model'],_0x583e29[_0x6b01('0x39')]);_0x1b8b27[_0x6b01('0x3c')]=_['intersection'](_0x583e29[_0x6b01('0x38')],qs[_0x6b01('0x3e')](_0x4e82ff[_0x6b01('0x39')][_0x6b01('0x3e')]));_0x1b8b27[_0x6b01('0x3c')]=_0x1b8b27[_0x6b01('0x3c')][_0x6b01('0x4a')]?_0x1b8b27['attributes']:_0x583e29['model'];if(!_0x4e82ff[_0x6b01('0x39')][_0x6b01('0x3f')](_0x6b01('0x40'))){_0x1b8b27[_0x6b01('0x25')]=qs[_0x6b01('0x25')](_0x4e82ff['query'][_0x6b01('0x25')]);_0x1b8b27['offset']=qs[_0x6b01('0x23')](_0x4e82ff['query'][_0x6b01('0x23')]);}_0x1b8b27['order']=qs[_0x6b01('0x5c')](_0x4e82ff['query'][_0x6b01('0x5c')]);_0x1b8b27[_0x6b01('0x42')]=qs[_0x6b01('0x3b')](_[_0x6b01('0x5d')](_0x4e82ff[_0x6b01('0x39')],_0x583e29[_0x6b01('0x3b')]));_0x1b8b27['raw']=!![];if(_0x4e82ff['query']['filter']){_0x1b8b27[_0x6b01('0x42')]=_[_0x6b01('0x44')](_0x1b8b27[_0x6b01('0x42')],{'$or':_['map'](_0x1b8b27[_0x6b01('0x3c')],function(_0x45e15a){var _0x34243c={};_0x34243c[_0x45e15a]={'$like':'%'+_0x4e82ff[_0x6b01('0x39')][_0x6b01('0x43')]+'%'};return _0x34243c;})});}_0x1b8b27=_[_0x6b01('0x44')]({},_0x1b8b27,_0x4e82ff[_0x6b01('0x4b')]);return _0x5e5b96[_0x6b01('0x6d')](_0x1b8b27);}})[_0x6b01('0x2a')](function(_0x4e9f41){if(!_[_0x6b01('0x75')](_0x4e9f41)){var _0x1862aa=toCsv(_0x4e9f41);var _0x5682dc=Date['now']();fs['writeFileSync'](util[_0x6b01('0x70')]('/tmp/list_%d_%s.csv',_0x5e5b96['id'],_0x5682dc),_0x1862aa);_0x3a9e22[_0x6b01('0x76')](_0x6b01('0x77'),_0x6b01('0x78')+util[_0x6b01('0x70')](_0x6b01('0x79'),_0x5e5b96['id'],_0x5682dc));_0x3a9e22[_0x6b01('0x76')](_0x6b01('0x7a'),_0x6b01('0x7b'));return _0x3a9e22['download'](util[_0x6b01('0x70')](_0x6b01('0x7c'),_0x5e5b96['id'],_0x5682dc));}else{return _0x3a9e22[_0x6b01('0x2e')](0xcc);}})['catch'](handleError(_0x3a9e22,null));};exports[_0x6b01('0x7d')]=function(_0x513be4,_0x21d205,_0x23cc2c){var _0x2c1f8b;delete _0x513be4[_0x6b01('0x4f')]['id'];return db[_0x6b01('0x34')]['findOne']({'where':{'id':_0x513be4['params']['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x21d205,null))[_0x6b01('0x2a')](function(_0x44a89f){if(_0x44a89f){return db[_0x6b01('0x7e')][_0x6b01('0x7f')](function(_0x507f1a){return db[_0x6b01('0x6e')][_0x6b01('0x4e')](_0x513be4['body'],{'transaction':_0x507f1a})[_0x6b01('0x2a')](function(_0xe1a139){_0x2c1f8b=_0xe1a139;return _0x44a89f['addCustomFields'](_0xe1a139,{'transaction':_0x507f1a});})['then'](function(){var _0x171562={'type':db[_0x6b01('0x80')]['TEXT'],'transaction':_0x507f1a};switch(_0x513be4[_0x6b01('0x4f')][_0x6b01('0x36')]){case _0x6b01('0x81'):_0x171562[_0x6b01('0x36')]=db[_0x6b01('0x80')][_0x6b01('0x82')];break;case _0x6b01('0x83'):_0x171562[_0x6b01('0x36')]=db[_0x6b01('0x80')][_0x6b01('0x84')];break;case _0x6b01('0x85'):_0x171562[_0x6b01('0x36')]=db[_0x6b01('0x80')]['BOOLEAN'];_0x171562[_0x6b01('0x86')]=![];break;default:}return db[_0x6b01('0x7e')]['queryInterface'][_0x6b01('0x87')](_0x6b01('0x88'),util[_0x6b01('0x70')](_0x6b01('0x89'),_0x2c1f8b['id']),_0x171562);})[_0x6b01('0x2a')](function(){return _0x2c1f8b;});});}})['then'](respondWithResult(_0x21d205,null))['catch'](handleError(_0x21d205,null));};exports[_0x6b01('0x8a')]=function(_0x399240,_0x5ca743,_0x2909dd){var _0x36d908={};var _0x15340a={};var _0x1ea717;var _0x2c16de;return db[_0x6b01('0x34')][_0x6b01('0x5b')]({'where':{'id':_0x399240[_0x6b01('0x49')]['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x5ca743,null))['then'](function(_0x5e20cb){if(_0x5e20cb){_0x1ea717=_0x5e20cb;_0x15340a[_0x6b01('0x38')]=_[_0x6b01('0x3a')](db[_0x6b01('0x6e')]['rawAttributes']);_0x15340a['query']=_['keys'](_0x399240[_0x6b01('0x39')]);_0x15340a[_0x6b01('0x3b')]=_[_0x6b01('0x3d')](_0x15340a[_0x6b01('0x38')],_0x15340a['query']);_0x36d908[_0x6b01('0x3c')]=_[_0x6b01('0x3d')](_0x15340a[_0x6b01('0x38')],qs[_0x6b01('0x3e')](_0x399240[_0x6b01('0x39')][_0x6b01('0x3e')]));_0x36d908[_0x6b01('0x3c')]=_0x36d908[_0x6b01('0x3c')][_0x6b01('0x4a')]?_0x36d908['attributes']:_0x15340a[_0x6b01('0x38')];_0x36d908['order']=qs['sort'](_0x399240['query']['sort']);_0x36d908[_0x6b01('0x42')]=qs['filters'](_['pick'](_0x399240[_0x6b01('0x39')],_0x15340a['filters']));_0x36d908[_0x6b01('0x42')]=_[_0x6b01('0x44')](_0x36d908[_0x6b01('0x42')],{'$or':[{'ListId':_0x5e20cb['id']},{'ListId':null}]});if(_0x399240[_0x6b01('0x39')][_0x6b01('0x43')]){_0x36d908[_0x6b01('0x42')]=_['merge'](_0x36d908['where'],{'$or':_[_0x6b01('0x33')](_0x36d908[_0x6b01('0x3c')],function(_0x2cfe0c){var _0x12ded3={};_0x12ded3[_0x2cfe0c]={'$like':'%'+_0x399240[_0x6b01('0x39')][_0x6b01('0x43')]+'%'};return _0x12ded3;})});}_0x36d908=_[_0x6b01('0x44')]({},_0x36d908,_0x399240['options']);return db[_0x6b01('0x6e')][_0x6b01('0x8b')](_0x36d908);}})['then'](respondWithResult(_0x5ca743,null))[_0x6b01('0x4d')](handleError(_0x5ca743,null));};exports[_0x6b01('0x8c')]=function(_0x28ea03,_0x5c684e,_0x29b3e0){return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x28ea03['params']['id']}})['then'](handleEntityNotFound(_0x5c684e,null))['then'](function(_0x1cf221){if(_0x1cf221){return _0x1cf221[_0x6b01('0x8c')](_0x28ea03['body'][_0x6b01('0x8d')],_[_0x6b01('0x67')](_0x28ea03[_0x6b01('0x4f')],[_0x6b01('0x8d'),'id'])||{})[_0x6b01('0x8e')](function(_0x4be22e){for(var _0x4be770=0x0;_0x4be770<_0x28ea03[_0x6b01('0x4f')][_0x6b01('0x8d')]['length'];_0x4be770+=0x1){socket[_0x6b01('0x8f')](_0x6b01('0x90'),{'UserId':Number(_0x28ea03[_0x6b01('0x4f')][_0x6b01('0x8d')][_0x4be770]),'CmListId':Number(_0x28ea03[_0x6b01('0x49')]['id'])});}return _0x4be22e;});}})[_0x6b01('0x2a')](respondWithResult(_0x5c684e,null))['catch'](handleError(_0x5c684e,null));};exports[_0x6b01('0x91')]=function(_0x1e0c63,_0x20a48d,_0x5b85be){return db[_0x6b01('0x34')][_0x6b01('0x4c')]({'where':{'id':_0x1e0c63['params']['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0x20a48d,null))[_0x6b01('0x2a')](function(_0xcaf9f9){if(_0xcaf9f9){return _0xcaf9f9['removeAgents'](_0x1e0c63[_0x6b01('0x39')][_0x6b01('0x8d')])['then'](function(){if(_[_0x6b01('0x64')](_0x1e0c63[_0x6b01('0x39')][_0x6b01('0x8d')])){for(var _0x40a8c1=0x0;_0x40a8c1<_0x1e0c63[_0x6b01('0x39')]['ids'][_0x6b01('0x4a')];_0x40a8c1+=0x1){socket[_0x6b01('0x8f')](_0x6b01('0x92'),{'UserId':Number(_0x1e0c63['query'][_0x6b01('0x8d')][_0x40a8c1]),'CmListId':Number(_0x1e0c63[_0x6b01('0x49')]['id'])});}}else{socket[_0x6b01('0x8f')](_0x6b01('0x92'),{'UserId':Number(_0x1e0c63[_0x6b01('0x39')][_0x6b01('0x8d')]),'CmListId':Number(_0x1e0c63['params']['id'])});}});}})['then'](respondWithStatusCode(_0x20a48d,null))[_0x6b01('0x4d')](handleError(_0x20a48d,null));};exports[_0x6b01('0x93')]=function(_0x54b750,_0xc45a09,_0x520433){var _0x1eee94={};var _0x42c6d3={};var _0x46c98a;var _0x5ec40a;return db[_0x6b01('0x34')][_0x6b01('0x5b')]({'where':{'id':_0x54b750[_0x6b01('0x49')]['id']}})[_0x6b01('0x2a')](handleEntityNotFound(_0xc45a09,null))[_0x6b01('0x2a')](function(_0x3508b2){if(_0x3508b2){_0x46c98a=_0x3508b2;_0x42c6d3[_0x6b01('0x38')]=_[_0x6b01('0x3a')](db['User']['rawAttributes']);_0x42c6d3[_0x6b01('0x39')]=_[_0x6b01('0x3a')](_0x54b750['query']);_0x42c6d3[_0x6b01('0x3b')]=_['intersection'](_0x42c6d3[_0x6b01('0x38')],_0x42c6d3[_0x6b01('0x39')]);_0x1eee94[_0x6b01('0x3c')]=_['intersection'](_0x42c6d3[_0x6b01('0x38')],qs[_0x6b01('0x3e')](_0x54b750['query'][_0x6b01('0x3e')]));_0x1eee94[_0x6b01('0x3c')]=_0x1eee94['attributes'][_0x6b01('0x4a')]?_0x1eee94[_0x6b01('0x3c')]:_0x42c6d3[_0x6b01('0x38')];_0x1eee94[_0x6b01('0x41')]=qs[_0x6b01('0x5c')](_0x54b750[_0x6b01('0x39')][_0x6b01('0x5c')]);_0x1eee94[_0x6b01('0x42')]=qs[_0x6b01('0x3b')](_[_0x6b01('0x5d')](_0x54b750['query'],_0x42c6d3[_0x6b01('0x3b')]));if(_0x54b750[_0x6b01('0x39')][_0x6b01('0x43')]){_0x1eee94[_0x6b01('0x42')]=_['merge'](_0x1eee94[_0x6b01('0x42')],{'$or':_[_0x6b01('0x33')](_0x1eee94['attributes'],function(_0xd17fec){var _0x25d7b7={};_0x25d7b7[_0xd17fec]={'$like':'%'+_0x54b750['query']['filter']+'%'};return _0x25d7b7;})});}_0x1eee94=_[_0x6b01('0x44')]({},_0x1eee94,_0x54b750[_0x6b01('0x4b')]);return _0x46c98a[_0x6b01('0x93')](_0x1eee94);}})['then'](function(_0x3a190b){if(_0x3a190b){_0x5ec40a=_0x3a190b['length'];if(!_0x54b750[_0x6b01('0x39')][_0x6b01('0x3f')](_0x6b01('0x40'))){_0x1eee94[_0x6b01('0x25')]=qs[_0x6b01('0x25')](_0x54b750[_0x6b01('0x39')][_0x6b01('0x25')]);_0x1eee94[_0x6b01('0x23')]=qs[_0x6b01('0x23')](_0x54b750[_0x6b01('0x39')]['offset']);}return _0x46c98a[_0x6b01('0x93')](_0x1eee94);}})[_0x6b01('0x2a')](function(_0x39668a){if(_0x39668a){return _0x39668a?{'count':_0x5ec40a,'rows':_0x39668a}:null;}})['then'](respondWithResult(_0xc45a09,null))[_0x6b01('0x4d')](handleError(_0xc45a09,null));};