Built motion from commit 9d1906d1.|2.5.40
[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 _0x2b91=['zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./cmList.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','reject','save','then','Lists','UserProfileResource','destroy','error','name','send','index','map','CmList','rawAttributes','type','key','model','query','filters','attributes','intersection','fields','length','order','sort','where','filter','VIRTUAL','merge','options','include','findAll','rows','show','params','keys','includeAll','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','describe','addDisposition','ListId','Disposition','getDispositions','findOne','hasOwnProperty','nolimit','pick','removeDispositions','addContacts','CmContact','isArray','tags','join','push','each','omit','ids','success','dataValues','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','concat','format','raw','getContactsCsv','CustomFields','cf_%d','isEmpty','now','/tmp/list_%d_%s.csv','setHeader','Content-disposition','Content-type','text/csv','download','transaction','addCustomFields','Sequelize','TEXT','switch','defaultValue','sequelize','queryInterface','addColumn','cm_contacts','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','eml-format','rimraf'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x2b91,0x120));var _0x12b9=function(_0xa32b53,_0x1fdacf){_0xa32b53=_0xa32b53-0x0;var _0x178b8c=_0x2b91[_0xa32b53];return _0x178b8c;};'use strict';var emlformat=require(_0x12b9('0x0'));var rimraf=require(_0x12b9('0x1'));var zipdir=require(_0x12b9('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x12b9('0x3'));var moment=require(_0x12b9('0x4'));var BPromise=require(_0x12b9('0x5'));var Mustache=require(_0x12b9('0x6'));var util=require('util');var path=require(_0x12b9('0x7'));var sox=require(_0x12b9('0x8'));var csv=require(_0x12b9('0x9'));var ejs=require(_0x12b9('0xa'));var fs=require('fs');var fs_extra=require(_0x12b9('0xb'));var _=require('lodash');var squel=require(_0x12b9('0xc'));var crypto=require(_0x12b9('0xd'));var jsforce=require(_0x12b9('0xe'));var deskjs=require(_0x12b9('0xf'));var toCsv=require('to-csv');var querystring=require(_0x12b9('0x10'));var Papa=require('papaparse');var Redis=require(_0x12b9('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x12b9('0x12'));var hardwareService=require(_0x12b9('0x13'));var logger=require(_0x12b9('0x14'))(_0x12b9('0x15'));var utils=require(_0x12b9('0x16'));var config=require(_0x12b9('0x17'));var licenseUtil=require(_0x12b9('0x18'));var db=require(_0x12b9('0x19'))['db'];config[_0x12b9('0x1a')]=_[_0x12b9('0x1b')](config[_0x12b9('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x12b9('0x1c'))[_0x12b9('0x1d')](socket);function respondWithStatusCode(_0x13b76e,_0x3b4e95){_0x3b4e95=_0x3b4e95||0xcc;return function(_0x563fec){if(_0x563fec){return _0x13b76e[_0x12b9('0x1e')](_0x3b4e95);}return _0x13b76e[_0x12b9('0x1f')](_0x3b4e95)[_0x12b9('0x20')]();};}function respondWithResult(_0xcc5379,_0x5503dd){_0x5503dd=_0x5503dd||0xc8;return function(_0x2293dc){if(_0x2293dc){return _0xcc5379[_0x12b9('0x1f')](_0x5503dd)[_0x12b9('0x21')](_0x2293dc);}};}function respondWithFilteredResult(_0x2bea93,_0x3af3c2){return function(_0x3477a7){if(_0x3477a7){var _0x3ca1f9=typeof _0x3af3c2[_0x12b9('0x22')]===_0x12b9('0x23')&&typeof _0x3af3c2[_0x12b9('0x24')]===_0x12b9('0x23');var _0x22f820=_0x3477a7[_0x12b9('0x25')];var _0x318f43=_0x3ca1f9?0x0:_0x3af3c2[_0x12b9('0x22')];var _0x6f05f3=_0x3ca1f9?_0x3477a7[_0x12b9('0x25')]:_0x3af3c2[_0x12b9('0x22')]+_0x3af3c2[_0x12b9('0x24')];var _0x3ed9c3;if(_0x6f05f3>=_0x22f820){_0x6f05f3=_0x22f820;_0x3ed9c3=0xc8;}else{_0x3ed9c3=0xce;}_0x2bea93[_0x12b9('0x1f')](_0x3ed9c3);return _0x2bea93[_0x12b9('0x26')]('Content-Range',_0x318f43+'-'+_0x6f05f3+'/'+_0x22f820)[_0x12b9('0x21')](_0x3477a7);}return null;};}function patchUpdates(_0x5a8468){return function(_0x1ff9c2){try{jsonpatch['apply'](_0x1ff9c2,_0x5a8468,!![]);}catch(_0x46e782){return BPromise[_0x12b9('0x27')](_0x46e782);}return _0x1ff9c2[_0x12b9('0x28')]();};}function saveUpdates(_0x261353,_0x2b4355){return function(_0x35fc50){if(_0x35fc50){return _0x35fc50['update'](_0x261353)[_0x12b9('0x29')](function(_0x3cc6d4){return _0x3cc6d4;});}return null;};}function removeEntity(_0x1f1c21,_0x3a6e01){return function(_0x22f781){if(_0x22f781){return _0x22f781['destroy']()[_0x12b9('0x29')](function(){var _0x5a8701=_0x22f781['get']({'plain':!![]});var _0x23e802=_0x12b9('0x2a');return db[_0x12b9('0x2b')][_0x12b9('0x2c')]({'where':{'type':_0x23e802,'resourceId':_0x5a8701['id']}})[_0x12b9('0x29')](function(){return _0x22f781;});})['then'](function(){_0x1f1c21[_0x12b9('0x1f')](0xcc)[_0x12b9('0x20')]();});}};}function handleEntityNotFound(_0x1fc8a1,_0x4d8b97){return function(_0x4f9226){if(!_0x4f9226){_0x1fc8a1['sendStatus'](0x194);}return _0x4f9226;};}function handleError(_0x2950ba,_0x9620c2){_0x9620c2=_0x9620c2||0x1f4;return function(_0x3d097e){logger[_0x12b9('0x2d')](_0x3d097e['stack']);if(_0x3d097e['name']){delete _0x3d097e[_0x12b9('0x2e')];}_0x2950ba[_0x12b9('0x1f')](_0x9620c2)[_0x12b9('0x2f')](_0x3d097e);};}exports[_0x12b9('0x30')]=function(_0xa3bd80,_0xb9f0e2){var _0x5000cb={},_0x2cd254={},_0x225c76={'count':0x0,'rows':[]};var _0x35e938=_[_0x12b9('0x31')](db[_0x12b9('0x32')][_0x12b9('0x33')],function(_0x3c4bab){return{'name':_0x3c4bab['fieldName'],'type':_0x3c4bab[_0x12b9('0x34')][_0x12b9('0x35')]};});_0x2cd254[_0x12b9('0x36')]=_[_0x12b9('0x31')](_0x35e938,_0x12b9('0x2e'));_0x2cd254['query']=_['keys'](_0xa3bd80[_0x12b9('0x37')]);_0x2cd254[_0x12b9('0x38')]=_['intersection'](_0x2cd254['model'],_0x2cd254['query']);_0x5000cb[_0x12b9('0x39')]=_[_0x12b9('0x3a')](_0x2cd254[_0x12b9('0x36')],qs[_0x12b9('0x3b')](_0xa3bd80[_0x12b9('0x37')][_0x12b9('0x3b')]));_0x5000cb[_0x12b9('0x39')]=_0x5000cb[_0x12b9('0x39')][_0x12b9('0x3c')]?_0x5000cb['attributes']:_0x2cd254[_0x12b9('0x36')];if(!_0xa3bd80[_0x12b9('0x37')]['hasOwnProperty']('nolimit')){_0x5000cb[_0x12b9('0x24')]=qs[_0x12b9('0x24')](_0xa3bd80['query']['limit']);_0x5000cb[_0x12b9('0x22')]=qs[_0x12b9('0x22')](_0xa3bd80[_0x12b9('0x37')][_0x12b9('0x22')]);}_0x5000cb[_0x12b9('0x3d')]=qs[_0x12b9('0x3e')](_0xa3bd80[_0x12b9('0x37')][_0x12b9('0x3e')]);_0x5000cb[_0x12b9('0x3f')]=qs[_0x12b9('0x38')](_['pick'](_0xa3bd80[_0x12b9('0x37')],_0x2cd254[_0x12b9('0x38')]),_0x35e938);if(_0xa3bd80[_0x12b9('0x37')][_0x12b9('0x40')]){_0x5000cb['where']=_['merge'](_0x5000cb['where'],{'$or':_[_0x12b9('0x31')](_0x35e938,function(_0x474a45){if(_0x474a45[_0x12b9('0x34')]!==_0x12b9('0x41')){var _0x3f45b6={};_0x3f45b6[_0x474a45[_0x12b9('0x2e')]]={'$like':'%'+_0xa3bd80[_0x12b9('0x37')][_0x12b9('0x40')]+'%'};return _0x3f45b6;}})});}_0x5000cb=_[_0x12b9('0x42')]({},_0x5000cb,_0xa3bd80[_0x12b9('0x43')]);var _0x3a9a91={'where':_0x5000cb[_0x12b9('0x3f')]};return db[_0x12b9('0x32')][_0x12b9('0x25')](_0x3a9a91)['then'](function(_0x45c7e5){_0x225c76[_0x12b9('0x25')]=_0x45c7e5;if(_0xa3bd80['query']['includeAll']){_0x5000cb[_0x12b9('0x44')]=[{'all':!![]}];}return db[_0x12b9('0x32')][_0x12b9('0x45')](_0x5000cb);})[_0x12b9('0x29')](function(_0x518755){_0x225c76[_0x12b9('0x46')]=_0x518755;return _0x225c76;})[_0x12b9('0x29')](respondWithFilteredResult(_0xb9f0e2,_0x5000cb))['catch'](handleError(_0xb9f0e2,null));};exports[_0x12b9('0x47')]=function(_0x4744d0,_0x2159bd){var _0x12d752={'raw':![],'where':{'id':_0x4744d0[_0x12b9('0x48')]['id']}},_0x40bc9d={};_0x40bc9d[_0x12b9('0x36')]=_['keys'](db[_0x12b9('0x32')][_0x12b9('0x33')]);_0x40bc9d[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0x4744d0[_0x12b9('0x37')]);_0x40bc9d[_0x12b9('0x38')]=_[_0x12b9('0x3a')](_0x40bc9d[_0x12b9('0x36')],_0x40bc9d[_0x12b9('0x37')]);_0x12d752[_0x12b9('0x39')]=_['intersection'](_0x40bc9d['model'],qs[_0x12b9('0x3b')](_0x4744d0[_0x12b9('0x37')][_0x12b9('0x3b')]));_0x12d752[_0x12b9('0x39')]=_0x12d752[_0x12b9('0x39')]['length']?_0x12d752['attributes']:_0x40bc9d['model'];if(_0x4744d0['query'][_0x12b9('0x4a')]){_0x12d752['include']=[{'all':!![]}];}_0x12d752=_[_0x12b9('0x42')]({},_0x12d752,_0x4744d0[_0x12b9('0x43')]);return db[_0x12b9('0x32')]['find'](_0x12d752)[_0x12b9('0x29')](handleEntityNotFound(_0x2159bd,null))[_0x12b9('0x29')](respondWithResult(_0x2159bd,null))[_0x12b9('0x4b')](handleError(_0x2159bd,null));};exports[_0x12b9('0x4c')]=function(_0x3e0b99,_0x1f952f){return db[_0x12b9('0x32')][_0x12b9('0x4c')](_0x3e0b99[_0x12b9('0x4d')],{})[_0x12b9('0x29')](function(_0x1d6792){var _0xcf5cba=_0x3e0b99[_0x12b9('0x4e')]['get']({'plain':!![]});if(!_0xcf5cba)throw new Error(_0x12b9('0x4f'));if(_0xcf5cba[_0x12b9('0x50')]===_0x12b9('0x4e')){var _0x1a8d19=_0x1d6792['get']({'plain':!![]});var _0x334151=_0x12b9('0x2a');return db[_0x12b9('0x51')]['find']({'where':{'name':_0x334151,'userProfileId':_0xcf5cba[_0x12b9('0x52')]},'raw':!![]})[_0x12b9('0x29')](function(_0x588c8f){if(_0x588c8f&&_0x588c8f[_0x12b9('0x53')]===0x0){return db['UserProfileResource'][_0x12b9('0x4c')]({'name':_0x1a8d19['name'],'resourceId':_0x1a8d19['id'],'type':_0x588c8f[_0x12b9('0x2e')],'sectionId':_0x588c8f['id']},{})[_0x12b9('0x29')](function(){return _0x1d6792;});}else{return _0x1d6792;}})['catch'](function(_0x4c592b){logger[_0x12b9('0x2d')](_0x12b9('0x54'),_0x4c592b);throw _0x4c592b;});}return _0x1d6792;})[_0x12b9('0x29')](respondWithResult(_0x1f952f,0xc9))['catch'](handleError(_0x1f952f,null));};exports['update']=function(_0x28401a,_0x3c1a6d){if(_0x28401a[_0x12b9('0x4d')]['id']){delete _0x28401a['body']['id'];}return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0x28401a[_0x12b9('0x48')]['id']}})['then'](handleEntityNotFound(_0x3c1a6d,null))[_0x12b9('0x29')](saveUpdates(_0x28401a[_0x12b9('0x4d')],null))[_0x12b9('0x29')](respondWithResult(_0x3c1a6d,null))['catch'](handleError(_0x3c1a6d,null));};exports[_0x12b9('0x2c')]=function(_0x4bb781,_0x35efd9){return db[_0x12b9('0x32')]['find']({'where':{'id':_0x4bb781[_0x12b9('0x48')]['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x35efd9,null))[_0x12b9('0x29')](removeEntity(_0x35efd9,null))['catch'](handleError(_0x35efd9,null));};exports[_0x12b9('0x56')]=function(_0x4e8e25,_0x4919da){return db[_0x12b9('0x32')][_0x12b9('0x56')]()[_0x12b9('0x29')](respondWithResult(_0x4919da,null))[_0x12b9('0x4b')](handleError(_0x4919da,null));};exports[_0x12b9('0x57')]=function(_0x4ed388,_0x3af157,_0x91178b){if(_0x4ed388[_0x12b9('0x4d')]['id']){delete _0x4ed388[_0x12b9('0x4d')]['id'];}return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0x4ed388[_0x12b9('0x48')]['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x3af157,null))[_0x12b9('0x29')](function(_0x58f45e){if(_0x58f45e){_0x4ed388[_0x12b9('0x4d')][_0x12b9('0x58')]=_0x58f45e['id'];return db[_0x12b9('0x59')][_0x12b9('0x4c')](_0x4ed388['body']);}})[_0x12b9('0x29')](respondWithResult(_0x3af157,null))[_0x12b9('0x4b')](handleError(_0x3af157,null));};exports[_0x12b9('0x5a')]=function(_0x3f3708,_0x43eff1,_0x3cb4a0){var _0xcd8594={'raw':![],'where':{}};var _0x48a643={};var _0xe8264={'count':0x0,'rows':[]};return db[_0x12b9('0x32')][_0x12b9('0x5b')]({'where':{'id':_0x3f3708[_0x12b9('0x48')]['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x43eff1,null))[_0x12b9('0x29')](function(_0x3966c7){if(_0x3966c7){_0x48a643['model']=_[_0x12b9('0x49')](db[_0x12b9('0x59')][_0x12b9('0x33')]);_0x48a643[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0x3f3708['query']);_0x48a643[_0x12b9('0x38')]=_[_0x12b9('0x3a')](_0x48a643[_0x12b9('0x36')],_0x48a643[_0x12b9('0x37')]);_0xcd8594[_0x12b9('0x39')]=_[_0x12b9('0x3a')](_0x48a643['model'],qs['fields'](_0x3f3708['query']['fields']));_0xcd8594[_0x12b9('0x39')]=_0xcd8594[_0x12b9('0x39')][_0x12b9('0x3c')]?_0xcd8594[_0x12b9('0x39')]:_0x48a643[_0x12b9('0x36')];if(!_0x3f3708[_0x12b9('0x37')][_0x12b9('0x5c')](_0x12b9('0x5d'))){_0xcd8594[_0x12b9('0x24')]=qs['limit'](_0x3f3708[_0x12b9('0x37')][_0x12b9('0x24')]);_0xcd8594[_0x12b9('0x22')]=qs['offset'](_0x3f3708[_0x12b9('0x37')][_0x12b9('0x22')]);}_0xcd8594[_0x12b9('0x3d')]=qs[_0x12b9('0x3e')](_0x3f3708[_0x12b9('0x37')]['sort']);_0xcd8594['where']=qs[_0x12b9('0x38')](_[_0x12b9('0x5e')](_0x3f3708[_0x12b9('0x37')],_0x48a643[_0x12b9('0x38')]));_0xcd8594['where'][_0x12b9('0x58')]=_0x3966c7['id'];if(_0x3f3708[_0x12b9('0x37')]['filter']){_0xcd8594[_0x12b9('0x3f')]=_[_0x12b9('0x42')](_0xcd8594[_0x12b9('0x3f')],{'$or':_[_0x12b9('0x31')](_0xcd8594[_0x12b9('0x39')],function(_0x588391){var _0x29fdea={};_0x29fdea[_0x588391]={'$like':'%'+_0x3f3708['query'][_0x12b9('0x40')]+'%'};return _0x29fdea;})});}_0xcd8594=_[_0x12b9('0x42')]({},_0xcd8594,_0x3f3708['options']);return db[_0x12b9('0x59')]['count']({'where':_0xcd8594[_0x12b9('0x3f')]})['then'](function(_0x3a6633){_0xe8264[_0x12b9('0x25')]=_0x3a6633;if(_0x3f3708['query'][_0x12b9('0x4a')]){_0xcd8594['include']=[{'all':!![]}];}return db['Disposition'][_0x12b9('0x45')](_0xcd8594);})[_0x12b9('0x29')](function(_0x2191b8){_0xe8264[_0x12b9('0x46')]=_0x2191b8;return _0xe8264;});}})[_0x12b9('0x29')](respondWithFilteredResult(_0x43eff1,_0xcd8594))['catch'](handleError(_0x43eff1,null));};exports[_0x12b9('0x5f')]=function(_0x54fb3f,_0x151cdc,_0x1cdaae){return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0x54fb3f['params']['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x151cdc,null))[_0x12b9('0x29')](function(_0x3c18fc){if(_0x3c18fc){return _0x3c18fc[_0x12b9('0x5f')](_0x54fb3f['query']['ids']);}})[_0x12b9('0x29')](respondWithStatusCode(_0x151cdc,null))[_0x12b9('0x4b')](handleError(_0x151cdc,null));};exports[_0x12b9('0x60')]=function(_0x195142,_0x5202ac,_0x29f980){return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0x195142['params']['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x5202ac,null))[_0x12b9('0x29')](function(_0x3fc678){if(_0x3fc678){var _0x2dda99=[];var _0x526570={'success':[],'errors':[]};return db[_0x12b9('0x61')][_0x12b9('0x56')]()[_0x12b9('0x29')](function(_0x358c5a){if(_0x195142[_0x12b9('0x4d')]['tags']&&_[_0x12b9('0x62')](_0x195142[_0x12b9('0x4d')]['tags'])){if(_0x195142[_0x12b9('0x4d')]['tags'][_0x12b9('0x3c')]){_0x195142['body'][_0x12b9('0x63')]=_0x195142['body'][_0x12b9('0x63')][_0x12b9('0x64')](';')+';';}else{_0x195142[_0x12b9('0x4d')]['tags']=null;}}else{_0x195142[_0x12b9('0x4d')][_0x12b9('0x63')]=null;}if(_0x195142['body']&&_[_0x12b9('0x62')](_0x195142[_0x12b9('0x4d')])){for(var _0x47739f=0x0;_0x47739f<_0x195142[_0x12b9('0x4d')][_0x12b9('0x3c')];_0x47739f+=0x1){_0x195142[_0x12b9('0x4d')][_0x47739f][_0x12b9('0x58')]=_0x195142[_0x12b9('0x48')]['id'];_0x2dda99[_0x12b9('0x65')](_0x195142['body'][_0x47739f]);}return BPromise[_0x12b9('0x66')](_0x2dda99,function(_0x58d93b){return db[_0x12b9('0x61')]['create'](_[_0x12b9('0x67')](_0x58d93b,[_0x12b9('0x68'),'id'])||{},{'fields':_[_0x12b9('0x49')](_0x358c5a),'raw':!![]})['then'](function(_0x3616fe){_0x526570[_0x12b9('0x69')][_0x12b9('0x65')](_0x3616fe[_0x12b9('0x6a')]);})['catch'](function(_0x4131d6){_0x526570['errors'][_0x12b9('0x65')]({'data':_0x58d93b,'error':_0x4131d6[_0x12b9('0x6b')]});});})['then'](function(_0x57664e){return _0x526570;})['catch'](function(_0x33c13d){return _0x33c13d;});}else{_0x5202ac['status'](0x190)['json']({'message':_0x12b9('0x6c')});}});}})['then'](respondWithResult(_0x5202ac,null))[_0x12b9('0x4b')](handleError(_0x5202ac,null));};exports[_0x12b9('0x6d')]=function(_0x2eeb18,_0x2cc2e1,_0x17f10a){var _0x1598ff;return db[_0x12b9('0x32')]['find']({'where':{'id':_0x2eeb18[_0x12b9('0x48')]['id']},'include':[{'model':db[_0x12b9('0x6e')],'as':'CustomFields'}]})[_0x12b9('0x29')](handleEntityNotFound(_0x2cc2e1,null))[_0x12b9('0x29')](function(_0x70b200){if(_0x70b200){_0x1598ff=_0x70b200;return db[_0x12b9('0x61')]['rawAttributes'];}})['then'](function(_0xac01f2){if(_0xac01f2){var _0x3fe12e={};var _0x30ccd7={};_0x30ccd7[_0x12b9('0x36')]=_[_0x12b9('0x6f')](_[_0x12b9('0x49')](_0xac01f2),_[_0x12b9('0x31')](_0x1598ff['CustomFields'],function(_0x263675){return util[_0x12b9('0x70')]('cf_%d',_0x263675['id']);}));_0x30ccd7[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0x2eeb18[_0x12b9('0x37')]);_0x30ccd7[_0x12b9('0x38')]=_[_0x12b9('0x3a')](_0x30ccd7[_0x12b9('0x36')],_0x30ccd7[_0x12b9('0x37')]);_0x3fe12e[_0x12b9('0x39')]=_['intersection'](_0x30ccd7['model'],qs['fields'](_0x2eeb18['query'][_0x12b9('0x3b')]));_0x3fe12e[_0x12b9('0x39')]=_0x3fe12e[_0x12b9('0x39')]['length']?_0x3fe12e[_0x12b9('0x39')]:_0x30ccd7[_0x12b9('0x36')];if(!_0x2eeb18['query']['hasOwnProperty'](_0x12b9('0x5d'))){_0x3fe12e[_0x12b9('0x24')]=qs[_0x12b9('0x24')](_0x2eeb18[_0x12b9('0x37')][_0x12b9('0x24')]);_0x3fe12e[_0x12b9('0x22')]=qs[_0x12b9('0x22')](_0x2eeb18[_0x12b9('0x37')][_0x12b9('0x22')]);}_0x3fe12e['order']=qs[_0x12b9('0x3e')](_0x2eeb18[_0x12b9('0x37')][_0x12b9('0x3e')]);_0x3fe12e[_0x12b9('0x3f')]=qs['filters'](_[_0x12b9('0x5e')](_0x2eeb18['query'],_0x30ccd7[_0x12b9('0x38')]));_0x3fe12e[_0x12b9('0x71')]=!![];if(_0x2eeb18[_0x12b9('0x37')][_0x12b9('0x40')]){_0x3fe12e[_0x12b9('0x3f')]=_[_0x12b9('0x42')](_0x3fe12e[_0x12b9('0x3f')],{'$or':_[_0x12b9('0x31')](_0x3fe12e[_0x12b9('0x39')],function(_0x61350){var _0xce0470={};_0xce0470[_0x61350]={'$like':'%'+_0x2eeb18[_0x12b9('0x37')][_0x12b9('0x40')]+'%'};return _0xce0470;})});}_0x3fe12e=_[_0x12b9('0x42')]({},_0x3fe12e,_0x2eeb18[_0x12b9('0x43')]);return _0x1598ff[_0x12b9('0x6d')](_0x3fe12e);}})[_0x12b9('0x29')](respondWithResult(_0x2cc2e1,null))['catch'](handleError(_0x2cc2e1,null));};exports[_0x12b9('0x72')]=function(_0xb7cf35,_0x82589d,_0x939189){var _0x99c4e6;return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0xb7cf35[_0x12b9('0x48')]['id']},'include':[{'model':db[_0x12b9('0x6e')],'as':_0x12b9('0x73')}]})[_0x12b9('0x29')](handleEntityNotFound(_0x82589d,null))[_0x12b9('0x29')](function(_0x1b6e6f){if(_0x1b6e6f){_0x99c4e6=_0x1b6e6f;return db[_0x12b9('0x61')]['rawAttributes'];}})['then'](function(_0x4a2e8c){if(_0x4a2e8c){var _0x5e34ec={};var _0x345972={};_0x345972[_0x12b9('0x36')]=_['concat'](_[_0x12b9('0x49')](_0x4a2e8c),_[_0x12b9('0x31')](_0x99c4e6[_0x12b9('0x73')],function(_0x4753ca){return util['format'](_0x12b9('0x74'),_0x4753ca['id']);}));_0x345972[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0xb7cf35[_0x12b9('0x37')]);_0x345972['filters']=_[_0x12b9('0x3a')](_0x345972[_0x12b9('0x36')],_0x345972[_0x12b9('0x37')]);_0x5e34ec['attributes']=_[_0x12b9('0x3a')](_0x345972[_0x12b9('0x36')],qs['fields'](_0xb7cf35[_0x12b9('0x37')][_0x12b9('0x3b')]));_0x5e34ec[_0x12b9('0x39')]=_0x5e34ec['attributes']['length']?_0x5e34ec['attributes']:_0x345972[_0x12b9('0x36')];if(!_0xb7cf35['query'][_0x12b9('0x5c')](_0x12b9('0x5d'))){_0x5e34ec[_0x12b9('0x24')]=qs['limit'](_0xb7cf35[_0x12b9('0x37')][_0x12b9('0x24')]);_0x5e34ec[_0x12b9('0x22')]=qs[_0x12b9('0x22')](_0xb7cf35[_0x12b9('0x37')][_0x12b9('0x22')]);}_0x5e34ec[_0x12b9('0x3d')]=qs[_0x12b9('0x3e')](_0xb7cf35[_0x12b9('0x37')][_0x12b9('0x3e')]);_0x5e34ec['where']=qs['filters'](_[_0x12b9('0x5e')](_0xb7cf35[_0x12b9('0x37')],_0x345972['filters']));_0x5e34ec['raw']=!![];if(_0xb7cf35['query']['filter']){_0x5e34ec[_0x12b9('0x3f')]=_[_0x12b9('0x42')](_0x5e34ec[_0x12b9('0x3f')],{'$or':_[_0x12b9('0x31')](_0x5e34ec[_0x12b9('0x39')],function(_0x57bc23){var _0xc6e7c6={};_0xc6e7c6[_0x57bc23]={'$like':'%'+_0xb7cf35[_0x12b9('0x37')][_0x12b9('0x40')]+'%'};return _0xc6e7c6;})});}_0x5e34ec=_[_0x12b9('0x42')]({},_0x5e34ec,_0xb7cf35['options']);return _0x99c4e6[_0x12b9('0x6d')](_0x5e34ec);}})['then'](function(_0x46bfc4){if(!_[_0x12b9('0x75')](_0x46bfc4)){var _0x550a21=toCsv(_0x46bfc4);var _0x244aa8=Date[_0x12b9('0x76')]();fs['writeFileSync'](util[_0x12b9('0x70')](_0x12b9('0x77'),_0x99c4e6['id'],_0x244aa8),_0x550a21);_0x82589d[_0x12b9('0x78')](_0x12b9('0x79'),'attachment;\x20filename='+util[_0x12b9('0x70')]('list_%d_%s.csv',_0x99c4e6['id'],_0x244aa8));_0x82589d[_0x12b9('0x78')](_0x12b9('0x7a'),_0x12b9('0x7b'));return _0x82589d[_0x12b9('0x7c')](util[_0x12b9('0x70')](_0x12b9('0x77'),_0x99c4e6['id'],_0x244aa8));}else{return _0x82589d[_0x12b9('0x1e')](0xcc);}})['catch'](handleError(_0x82589d,null));};exports['addCustomField']=function(_0x4bfc56,_0x2fda0d,_0x579c41){var _0x940bec;delete _0x4bfc56['body']['id'];return db['CmList'][_0x12b9('0x5b')]({'where':{'id':_0x4bfc56[_0x12b9('0x48')]['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x2fda0d,null))[_0x12b9('0x29')](function(_0x390dc7){if(_0x390dc7){return db['sequelize'][_0x12b9('0x7d')](function(_0xe3fb69){return db[_0x12b9('0x6e')][_0x12b9('0x4c')](_0x4bfc56[_0x12b9('0x4d')],{'transaction':_0xe3fb69})[_0x12b9('0x29')](function(_0x210e88){_0x940bec=_0x210e88;return _0x390dc7[_0x12b9('0x7e')](_0x210e88,{'transaction':_0xe3fb69});})['then'](function(){var _0xf6ddea={'type':db[_0x12b9('0x7f')][_0x12b9('0x80')],'transaction':_0xe3fb69};switch(_0x4bfc56['body'][_0x12b9('0x34')]){case'text':_0xf6ddea['type']=db[_0x12b9('0x7f')][_0x12b9('0x80')];break;case'number':_0xf6ddea['type']=db[_0x12b9('0x7f')]['INTEGER'];break;case _0x12b9('0x81'):_0xf6ddea[_0x12b9('0x34')]=db[_0x12b9('0x7f')]['BOOLEAN'];_0xf6ddea[_0x12b9('0x82')]=![];break;default:}return db[_0x12b9('0x83')][_0x12b9('0x84')][_0x12b9('0x85')](_0x12b9('0x86'),util[_0x12b9('0x70')]('cf_%s',_0x940bec['id']),_0xf6ddea);})[_0x12b9('0x29')](function(){return _0x940bec;});});}})[_0x12b9('0x29')](respondWithResult(_0x2fda0d,null))[_0x12b9('0x4b')](handleError(_0x2fda0d,null));};exports[_0x12b9('0x87')]=function(_0x3cc072,_0x5d5c66,_0xd5d0b5){var _0x4d4108={};var _0x3d2e1c={};var _0x330164;var _0x3e7b09;return db['CmList'][_0x12b9('0x5b')]({'where':{'id':_0x3cc072[_0x12b9('0x48')]['id']}})['then'](handleEntityNotFound(_0x5d5c66,null))[_0x12b9('0x29')](function(_0x284cca){if(_0x284cca){_0x330164=_0x284cca;_0x3d2e1c['model']=_[_0x12b9('0x49')](db['CmCustomField'][_0x12b9('0x33')]);_0x3d2e1c[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0x3cc072[_0x12b9('0x37')]);_0x3d2e1c[_0x12b9('0x38')]=_['intersection'](_0x3d2e1c[_0x12b9('0x36')],_0x3d2e1c[_0x12b9('0x37')]);_0x4d4108[_0x12b9('0x39')]=_[_0x12b9('0x3a')](_0x3d2e1c['model'],qs[_0x12b9('0x3b')](_0x3cc072[_0x12b9('0x37')]['fields']));_0x4d4108['attributes']=_0x4d4108['attributes'][_0x12b9('0x3c')]?_0x4d4108[_0x12b9('0x39')]:_0x3d2e1c['model'];_0x4d4108[_0x12b9('0x3d')]=qs[_0x12b9('0x3e')](_0x3cc072[_0x12b9('0x37')][_0x12b9('0x3e')]);_0x4d4108[_0x12b9('0x3f')]=qs['filters'](_['pick'](_0x3cc072[_0x12b9('0x37')],_0x3d2e1c['filters']));_0x4d4108[_0x12b9('0x3f')]=_[_0x12b9('0x42')](_0x4d4108[_0x12b9('0x3f')],{'$or':[{'ListId':_0x284cca['id']},{'ListId':null}]});if(_0x3cc072['query']['filter']){_0x4d4108[_0x12b9('0x3f')]=_['merge'](_0x4d4108['where'],{'$or':_[_0x12b9('0x31')](_0x4d4108['attributes'],function(_0x9805c0){var _0x5b575a={};_0x5b575a[_0x9805c0]={'$like':'%'+_0x3cc072[_0x12b9('0x37')]['filter']+'%'};return _0x5b575a;})});}_0x4d4108=_['merge']({},_0x4d4108,_0x3cc072['options']);return db[_0x12b9('0x6e')][_0x12b9('0x88')](_0x4d4108);}})[_0x12b9('0x29')](respondWithResult(_0x5d5c66,null))['catch'](handleError(_0x5d5c66,null));};exports[_0x12b9('0x89')]=function(_0xdccf56,_0x5594d7,_0xcdd189){return db['CmList'][_0x12b9('0x55')]({'where':{'id':_0xdccf56['params']['id']}})['then'](handleEntityNotFound(_0x5594d7,null))[_0x12b9('0x29')](function(_0x1c37b2){if(_0x1c37b2){return _0x1c37b2[_0x12b9('0x89')](_0xdccf56[_0x12b9('0x4d')][_0x12b9('0x68')],_['omit'](_0xdccf56['body'],['ids','id'])||{})[_0x12b9('0x8a')](function(_0xf359b5){for(var _0x211be4=0x0;_0x211be4<_0xdccf56[_0x12b9('0x4d')]['ids']['length'];_0x211be4+=0x1){socket[_0x12b9('0x8b')](_0x12b9('0x8c'),{'UserId':Number(_0xdccf56[_0x12b9('0x4d')][_0x12b9('0x68')][_0x211be4]),'CmListId':Number(_0xdccf56[_0x12b9('0x48')]['id'])});}return _0xf359b5;});}})[_0x12b9('0x29')](respondWithResult(_0x5594d7,null))['catch'](handleError(_0x5594d7,null));};exports[_0x12b9('0x8d')]=function(_0x31fc49,_0x5aaee2,_0x2600de){return db[_0x12b9('0x32')][_0x12b9('0x55')]({'where':{'id':_0x31fc49['params']['id']}})['then'](handleEntityNotFound(_0x5aaee2,null))['then'](function(_0x31343c){if(_0x31343c){return _0x31343c['removeAgents'](_0x31fc49['query'][_0x12b9('0x68')])[_0x12b9('0x29')](function(){if(_[_0x12b9('0x62')](_0x31fc49[_0x12b9('0x37')][_0x12b9('0x68')])){for(var _0x59dd4b=0x0;_0x59dd4b<_0x31fc49[_0x12b9('0x37')]['ids'][_0x12b9('0x3c')];_0x59dd4b+=0x1){socket[_0x12b9('0x8b')](_0x12b9('0x8e'),{'UserId':Number(_0x31fc49['query'][_0x12b9('0x68')][_0x59dd4b]),'CmListId':Number(_0x31fc49[_0x12b9('0x48')]['id'])});}}else{socket[_0x12b9('0x8b')](_0x12b9('0x8e'),{'UserId':Number(_0x31fc49['query'][_0x12b9('0x68')]),'CmListId':Number(_0x31fc49[_0x12b9('0x48')]['id'])});}});}})[_0x12b9('0x29')](respondWithStatusCode(_0x5aaee2,null))[_0x12b9('0x4b')](handleError(_0x5aaee2,null));};exports[_0x12b9('0x8f')]=function(_0x6cd1f1,_0x433586,_0x1cb4e8){var _0x3327aa={};var _0x484335={};var _0x4a3a51;var _0x1f74be;return db[_0x12b9('0x32')][_0x12b9('0x5b')]({'where':{'id':_0x6cd1f1['params']['id']}})[_0x12b9('0x29')](handleEntityNotFound(_0x433586,null))[_0x12b9('0x29')](function(_0x472f77){if(_0x472f77){_0x4a3a51=_0x472f77;_0x484335[_0x12b9('0x36')]=_['keys'](db[_0x12b9('0x90')][_0x12b9('0x33')]);_0x484335[_0x12b9('0x37')]=_[_0x12b9('0x49')](_0x6cd1f1['query']);_0x484335[_0x12b9('0x38')]=_[_0x12b9('0x3a')](_0x484335[_0x12b9('0x36')],_0x484335['query']);_0x3327aa[_0x12b9('0x39')]=_[_0x12b9('0x3a')](_0x484335[_0x12b9('0x36')],qs[_0x12b9('0x3b')](_0x6cd1f1[_0x12b9('0x37')][_0x12b9('0x3b')]));_0x3327aa[_0x12b9('0x39')]=_0x3327aa[_0x12b9('0x39')][_0x12b9('0x3c')]?_0x3327aa['attributes']:_0x484335[_0x12b9('0x36')];_0x3327aa[_0x12b9('0x3d')]=qs[_0x12b9('0x3e')](_0x6cd1f1[_0x12b9('0x37')][_0x12b9('0x3e')]);_0x3327aa['where']=qs[_0x12b9('0x38')](_['pick'](_0x6cd1f1['query'],_0x484335[_0x12b9('0x38')]));if(_0x6cd1f1[_0x12b9('0x37')]['filter']){_0x3327aa[_0x12b9('0x3f')]=_[_0x12b9('0x42')](_0x3327aa[_0x12b9('0x3f')],{'$or':_[_0x12b9('0x31')](_0x3327aa[_0x12b9('0x39')],function(_0x486313){var _0x228cd9={};_0x228cd9[_0x486313]={'$like':'%'+_0x6cd1f1[_0x12b9('0x37')][_0x12b9('0x40')]+'%'};return _0x228cd9;})});}_0x3327aa=_[_0x12b9('0x42')]({},_0x3327aa,_0x6cd1f1[_0x12b9('0x43')]);return _0x4a3a51[_0x12b9('0x8f')](_0x3327aa);}})[_0x12b9('0x29')](function(_0x385678){if(_0x385678){_0x1f74be=_0x385678[_0x12b9('0x3c')];if(!_0x6cd1f1['query'][_0x12b9('0x5c')](_0x12b9('0x5d'))){_0x3327aa[_0x12b9('0x24')]=qs[_0x12b9('0x24')](_0x6cd1f1[_0x12b9('0x37')][_0x12b9('0x24')]);_0x3327aa[_0x12b9('0x22')]=qs['offset'](_0x6cd1f1[_0x12b9('0x37')]['offset']);}return _0x4a3a51['getAgents'](_0x3327aa);}})[_0x12b9('0x29')](function(_0x358007){if(_0x358007){return _0x358007?{'count':_0x1f74be,'rows':_0x358007}:null;}})[_0x12b9('0x29')](respondWithResult(_0x433586,null))[_0x12b9('0x4b')](handleError(_0x433586,null));};