Built motion from commit 85328c08.|2.5.50
[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 _0xb947=['register','sendStatus','end','status','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','get','Lists','UserProfileResource','stack','name','send','map','CmList','rawAttributes','type','key','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','rows','catch','show','find','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','error','params','describe','addDisposition','ListId','Disposition','create','getDispositions','findOne','removeDispositions','addContacts','CmContact','tags','isArray','push','each','omit','ids','success','message','CmCustomField','CustomFields','concat','cf_%d','raw','getContacts','getContactsCsv','format','isEmpty','now','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','addCustomField','transaction','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','sequelize','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','emit','removeAgents','userCmList:remove','getAgents','User','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./cmList.socket'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb947,0x73));var _0x7b94=function(_0x27e916,_0x490784){_0x27e916=_0x27e916-0x0;var _0x582985=_0xb947[_0x27e916];return _0x582985;};'use strict';var emlformat=require(_0x7b94('0x0'));var rimraf=require(_0x7b94('0x1'));var zipdir=require(_0x7b94('0x2'));var jsonpatch=require(_0x7b94('0x3'));var rp=require(_0x7b94('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7b94('0x5'));var path=require(_0x7b94('0x6'));var sox=require(_0x7b94('0x7'));var csv=require(_0x7b94('0x8'));var ejs=require(_0x7b94('0x9'));var fs=require('fs');var fs_extra=require(_0x7b94('0xa'));var _=require(_0x7b94('0xb'));var squel=require(_0x7b94('0xc'));var crypto=require('crypto');var jsforce=require(_0x7b94('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7b94('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x7b94('0xe'));var authService=require(_0x7b94('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x7b94('0x10'));var hardwareService=require(_0x7b94('0x11'));var logger=require(_0x7b94('0x12'))(_0x7b94('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x7b94('0x14'));var db=require(_0x7b94('0x15'))['db'];config[_0x7b94('0x16')]=_[_0x7b94('0x17')](config[_0x7b94('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x7b94('0x18'))(new Redis(config[_0x7b94('0x16')]));require(_0x7b94('0x19'))[_0x7b94('0x1a')](socket);function respondWithStatusCode(_0x15fbe3,_0x4e7721){_0x4e7721=_0x4e7721||0xcc;return function(_0x4e84a7){if(_0x4e84a7){return _0x15fbe3[_0x7b94('0x1b')](_0x4e7721);}return _0x15fbe3['status'](_0x4e7721)[_0x7b94('0x1c')]();};}function respondWithResult(_0x1cc454,_0x3d8fbd){_0x3d8fbd=_0x3d8fbd||0xc8;return function(_0x15f70c){if(_0x15f70c){return _0x1cc454[_0x7b94('0x1d')](_0x3d8fbd)[_0x7b94('0x1e')](_0x15f70c);}};}function respondWithFilteredResult(_0xe8dc4b,_0x420638){return function(_0x267017){if(_0x267017){var _0x44756c=typeof _0x420638['offset']===_0x7b94('0x1f')&&typeof _0x420638[_0x7b94('0x20')]===_0x7b94('0x1f');var _0x22cb71=_0x267017[_0x7b94('0x21')];var _0x5c1de1=_0x44756c?0x0:_0x420638[_0x7b94('0x22')];var _0x2bd6a6=_0x44756c?_0x267017[_0x7b94('0x21')]:_0x420638[_0x7b94('0x22')]+_0x420638[_0x7b94('0x20')];var _0x51f8ae;if(_0x2bd6a6>=_0x22cb71){_0x2bd6a6=_0x22cb71;_0x51f8ae=0xc8;}else{_0x51f8ae=0xce;}_0xe8dc4b[_0x7b94('0x1d')](_0x51f8ae);return _0xe8dc4b[_0x7b94('0x23')](_0x7b94('0x24'),_0x5c1de1+'-'+_0x2bd6a6+'/'+_0x22cb71)[_0x7b94('0x1e')](_0x267017);}return null;};}function patchUpdates(_0x146943){return function(_0x3c068f){try{jsonpatch[_0x7b94('0x25')](_0x3c068f,_0x146943,!![]);}catch(_0x17a144){return BPromise[_0x7b94('0x26')](_0x17a144);}return _0x3c068f[_0x7b94('0x27')]();};}function saveUpdates(_0x8ed905,_0x209c7e){return function(_0x1798d8){if(_0x1798d8){return _0x1798d8[_0x7b94('0x28')](_0x8ed905)['then'](function(_0x23ebd0){return _0x23ebd0;});}return null;};}function removeEntity(_0x50ae8e,_0xfd9353){return function(_0x355ab1){if(_0x355ab1){return _0x355ab1[_0x7b94('0x29')]()[_0x7b94('0x2a')](function(){var _0xe865ad=_0x355ab1[_0x7b94('0x2b')]({'plain':!![]});var _0x4791da=_0x7b94('0x2c');return db[_0x7b94('0x2d')][_0x7b94('0x29')]({'where':{'type':_0x4791da,'resourceId':_0xe865ad['id']}})['then'](function(){return _0x355ab1;});})[_0x7b94('0x2a')](function(){_0x50ae8e[_0x7b94('0x1d')](0xcc)[_0x7b94('0x1c')]();});}};}function handleEntityNotFound(_0x157b23,_0x4f7ca7){return function(_0x574e86){if(!_0x574e86){_0x157b23[_0x7b94('0x1b')](0x194);}return _0x574e86;};}function handleError(_0x36803f,_0x1453e1){_0x1453e1=_0x1453e1||0x1f4;return function(_0x9a078c){logger['error'](_0x9a078c[_0x7b94('0x2e')]);if(_0x9a078c[_0x7b94('0x2f')]){delete _0x9a078c[_0x7b94('0x2f')];}_0x36803f[_0x7b94('0x1d')](_0x1453e1)[_0x7b94('0x30')](_0x9a078c);};}exports['index']=function(_0x1b98d6,_0xaff53b){var _0xe90588={},_0xf5db8a={},_0x3ca474={'count':0x0,'rows':[]};var _0x15cd6a=_[_0x7b94('0x31')](db[_0x7b94('0x32')][_0x7b94('0x33')],function(_0x534b9e){return{'name':_0x534b9e['fieldName'],'type':_0x534b9e[_0x7b94('0x34')][_0x7b94('0x35')]};});_0xf5db8a['model']=_[_0x7b94('0x31')](_0x15cd6a,'name');_0xf5db8a[_0x7b94('0x36')]=_[_0x7b94('0x37')](_0x1b98d6[_0x7b94('0x36')]);_0xf5db8a['filters']=_[_0x7b94('0x38')](_0xf5db8a[_0x7b94('0x39')],_0xf5db8a[_0x7b94('0x36')]);_0xe90588[_0x7b94('0x3a')]=_['intersection'](_0xf5db8a['model'],qs[_0x7b94('0x3b')](_0x1b98d6['query'][_0x7b94('0x3b')]));_0xe90588[_0x7b94('0x3a')]=_0xe90588[_0x7b94('0x3a')][_0x7b94('0x3c')]?_0xe90588[_0x7b94('0x3a')]:_0xf5db8a[_0x7b94('0x39')];if(!_0x1b98d6['query'][_0x7b94('0x3d')](_0x7b94('0x3e'))){_0xe90588['limit']=qs[_0x7b94('0x20')](_0x1b98d6[_0x7b94('0x36')][_0x7b94('0x20')]);_0xe90588[_0x7b94('0x22')]=qs[_0x7b94('0x22')](_0x1b98d6[_0x7b94('0x36')][_0x7b94('0x22')]);}_0xe90588[_0x7b94('0x3f')]=qs[_0x7b94('0x40')](_0x1b98d6[_0x7b94('0x36')][_0x7b94('0x40')]);_0xe90588[_0x7b94('0x41')]=qs[_0x7b94('0x42')](_[_0x7b94('0x43')](_0x1b98d6[_0x7b94('0x36')],_0xf5db8a[_0x7b94('0x42')]),_0x15cd6a);if(_0x1b98d6['query']['filter']){_0xe90588[_0x7b94('0x41')]=_[_0x7b94('0x44')](_0xe90588[_0x7b94('0x41')],{'$or':_[_0x7b94('0x31')](_0x15cd6a,function(_0x14fca2){if(_0x14fca2['type']!==_0x7b94('0x45')){var _0x49b18d={};_0x49b18d[_0x14fca2[_0x7b94('0x2f')]]={'$like':'%'+_0x1b98d6[_0x7b94('0x36')][_0x7b94('0x46')]+'%'};return _0x49b18d;}})});}_0xe90588=_[_0x7b94('0x44')]({},_0xe90588,_0x1b98d6[_0x7b94('0x47')]);var _0x655352={'where':_0xe90588[_0x7b94('0x41')]};return db[_0x7b94('0x32')][_0x7b94('0x21')](_0x655352)['then'](function(_0x192425){_0x3ca474['count']=_0x192425;if(_0x1b98d6[_0x7b94('0x36')][_0x7b94('0x48')]){_0xe90588[_0x7b94('0x49')]=[{'all':!![]}];}return db['CmList'][_0x7b94('0x4a')](_0xe90588);})[_0x7b94('0x2a')](function(_0x41af44){_0x3ca474[_0x7b94('0x4b')]=_0x41af44;return _0x3ca474;})[_0x7b94('0x2a')](respondWithFilteredResult(_0xaff53b,_0xe90588))[_0x7b94('0x4c')](handleError(_0xaff53b,null));};exports[_0x7b94('0x4d')]=function(_0x3fee07,_0x46e4c7){var _0x29982f={'raw':![],'where':{'id':_0x3fee07['params']['id']}},_0x1bcefe={};_0x1bcefe['model']=_['keys'](db[_0x7b94('0x32')][_0x7b94('0x33')]);_0x1bcefe[_0x7b94('0x36')]=_['keys'](_0x3fee07[_0x7b94('0x36')]);_0x1bcefe[_0x7b94('0x42')]=_['intersection'](_0x1bcefe[_0x7b94('0x39')],_0x1bcefe[_0x7b94('0x36')]);_0x29982f[_0x7b94('0x3a')]=_[_0x7b94('0x38')](_0x1bcefe[_0x7b94('0x39')],qs[_0x7b94('0x3b')](_0x3fee07[_0x7b94('0x36')][_0x7b94('0x3b')]));_0x29982f[_0x7b94('0x3a')]=_0x29982f['attributes']['length']?_0x29982f['attributes']:_0x1bcefe[_0x7b94('0x39')];if(_0x3fee07[_0x7b94('0x36')][_0x7b94('0x48')]){_0x29982f['include']=[{'all':!![]}];}_0x29982f=_[_0x7b94('0x44')]({},_0x29982f,_0x3fee07[_0x7b94('0x47')]);return db[_0x7b94('0x32')][_0x7b94('0x4e')](_0x29982f)['then'](handleEntityNotFound(_0x46e4c7,null))[_0x7b94('0x2a')](respondWithResult(_0x46e4c7,null))[_0x7b94('0x4c')](handleError(_0x46e4c7,null));};exports['create']=function(_0x162014,_0x306de1){return db['CmList']['create'](_0x162014[_0x7b94('0x4f')],{})[_0x7b94('0x2a')](function(_0xff3491){var _0x382a9f=_0x162014['user'][_0x7b94('0x2b')]({'plain':!![]});if(!_0x382a9f)throw new Error(_0x7b94('0x50'));if(_0x382a9f['role']===_0x7b94('0x51')){var _0x1045cf=_0xff3491[_0x7b94('0x2b')]({'plain':!![]});var _0x15f6c6='Lists';return db[_0x7b94('0x52')][_0x7b94('0x4e')]({'where':{'name':_0x15f6c6,'userProfileId':_0x382a9f['userProfileId']},'raw':!![]})[_0x7b94('0x2a')](function(_0x3cf218){if(_0x3cf218&&_0x3cf218[_0x7b94('0x53')]===0x0){return db[_0x7b94('0x2d')]['create']({'name':_0x1045cf['name'],'resourceId':_0x1045cf['id'],'type':_0x3cf218['name'],'sectionId':_0x3cf218['id']},{})['then'](function(){return _0xff3491;});}else{return _0xff3491;}})[_0x7b94('0x4c')](function(_0x513464){logger[_0x7b94('0x54')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x513464);throw _0x513464;});}return _0xff3491;})[_0x7b94('0x2a')](respondWithResult(_0x306de1,0xc9))[_0x7b94('0x4c')](handleError(_0x306de1,null));};exports[_0x7b94('0x28')]=function(_0x51a888,_0x2f0ba3){if(_0x51a888['body']['id']){delete _0x51a888[_0x7b94('0x4f')]['id'];}return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x51a888['params']['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x2f0ba3,null))[_0x7b94('0x2a')](saveUpdates(_0x51a888[_0x7b94('0x4f')],null))[_0x7b94('0x2a')](respondWithResult(_0x2f0ba3,null))[_0x7b94('0x4c')](handleError(_0x2f0ba3,null));};exports[_0x7b94('0x29')]=function(_0x334bfd,_0x118b2b){return db[_0x7b94('0x32')]['find']({'where':{'id':_0x334bfd[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x118b2b,null))['then'](removeEntity(_0x118b2b,null))[_0x7b94('0x4c')](handleError(_0x118b2b,null));};exports[_0x7b94('0x56')]=function(_0x395792,_0x5099dd){return db[_0x7b94('0x32')][_0x7b94('0x56')]()[_0x7b94('0x2a')](respondWithResult(_0x5099dd,null))[_0x7b94('0x4c')](handleError(_0x5099dd,null));};exports[_0x7b94('0x57')]=function(_0x45934d,_0x486150,_0x24a98a){if(_0x45934d[_0x7b94('0x4f')]['id']){delete _0x45934d[_0x7b94('0x4f')]['id'];}return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x45934d['params']['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x486150,null))[_0x7b94('0x2a')](function(_0x1f6a7a){if(_0x1f6a7a){_0x45934d[_0x7b94('0x4f')][_0x7b94('0x58')]=_0x1f6a7a['id'];return db[_0x7b94('0x59')][_0x7b94('0x5a')](_0x45934d['body']);}})['then'](respondWithResult(_0x486150,null))[_0x7b94('0x4c')](handleError(_0x486150,null));};exports[_0x7b94('0x5b')]=function(_0x13c526,_0x21fc1b,_0x6be383){var _0x4d8deb={'raw':![],'where':{}};var _0x4f4b78={};var _0x4d3432={'count':0x0,'rows':[]};return db[_0x7b94('0x32')][_0x7b94('0x5c')]({'where':{'id':_0x13c526[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x21fc1b,null))[_0x7b94('0x2a')](function(_0x5ef85a){if(_0x5ef85a){_0x4f4b78[_0x7b94('0x39')]=_[_0x7b94('0x37')](db[_0x7b94('0x59')][_0x7b94('0x33')]);_0x4f4b78[_0x7b94('0x36')]=_[_0x7b94('0x37')](_0x13c526[_0x7b94('0x36')]);_0x4f4b78['filters']=_[_0x7b94('0x38')](_0x4f4b78[_0x7b94('0x39')],_0x4f4b78['query']);_0x4d8deb[_0x7b94('0x3a')]=_[_0x7b94('0x38')](_0x4f4b78[_0x7b94('0x39')],qs[_0x7b94('0x3b')](_0x13c526[_0x7b94('0x36')][_0x7b94('0x3b')]));_0x4d8deb[_0x7b94('0x3a')]=_0x4d8deb[_0x7b94('0x3a')][_0x7b94('0x3c')]?_0x4d8deb[_0x7b94('0x3a')]:_0x4f4b78['model'];if(!_0x13c526[_0x7b94('0x36')]['hasOwnProperty']('nolimit')){_0x4d8deb[_0x7b94('0x20')]=qs[_0x7b94('0x20')](_0x13c526[_0x7b94('0x36')][_0x7b94('0x20')]);_0x4d8deb[_0x7b94('0x22')]=qs[_0x7b94('0x22')](_0x13c526[_0x7b94('0x36')][_0x7b94('0x22')]);}_0x4d8deb['order']=qs['sort'](_0x13c526[_0x7b94('0x36')][_0x7b94('0x40')]);_0x4d8deb['where']=qs[_0x7b94('0x42')](_[_0x7b94('0x43')](_0x13c526[_0x7b94('0x36')],_0x4f4b78[_0x7b94('0x42')]));_0x4d8deb[_0x7b94('0x41')]['ListId']=_0x5ef85a['id'];if(_0x13c526[_0x7b94('0x36')][_0x7b94('0x46')]){_0x4d8deb[_0x7b94('0x41')]=_[_0x7b94('0x44')](_0x4d8deb[_0x7b94('0x41')],{'$or':_['map'](_0x4d8deb['attributes'],function(_0x1dd40d){var _0x2e186b={};_0x2e186b[_0x1dd40d]={'$like':'%'+_0x13c526[_0x7b94('0x36')]['filter']+'%'};return _0x2e186b;})});}_0x4d8deb=_[_0x7b94('0x44')]({},_0x4d8deb,_0x13c526[_0x7b94('0x47')]);return db[_0x7b94('0x59')][_0x7b94('0x21')]({'where':_0x4d8deb['where']})[_0x7b94('0x2a')](function(_0x26b9e8){_0x4d3432[_0x7b94('0x21')]=_0x26b9e8;if(_0x13c526['query'][_0x7b94('0x48')]){_0x4d8deb[_0x7b94('0x49')]=[{'all':!![]}];}return db[_0x7b94('0x59')][_0x7b94('0x4a')](_0x4d8deb);})[_0x7b94('0x2a')](function(_0x2f0830){_0x4d3432[_0x7b94('0x4b')]=_0x2f0830;return _0x4d3432;});}})[_0x7b94('0x2a')](respondWithFilteredResult(_0x21fc1b,_0x4d8deb))[_0x7b94('0x4c')](handleError(_0x21fc1b,null));};exports[_0x7b94('0x5d')]=function(_0x5918c5,_0x4d9445,_0x219f44){return db[_0x7b94('0x32')]['find']({'where':{'id':_0x5918c5['params']['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x4d9445,null))[_0x7b94('0x2a')](function(_0x35f824){if(_0x35f824){return _0x35f824['removeDispositions'](_0x5918c5[_0x7b94('0x36')]['ids']);}})['then'](respondWithStatusCode(_0x4d9445,null))[_0x7b94('0x4c')](handleError(_0x4d9445,null));};exports[_0x7b94('0x5e')]=function(_0x50d725,_0x3c09b0,_0x25af94){return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x50d725[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x3c09b0,null))['then'](function(_0xdf19fa){if(_0xdf19fa){var _0x31e128=[];var _0x4bccb1={'success':[],'errors':[]};return db[_0x7b94('0x5f')][_0x7b94('0x56')]()[_0x7b94('0x2a')](function(_0x4559fe){if(_0x50d725['body'][_0x7b94('0x60')]&&_[_0x7b94('0x61')](_0x50d725['body'][_0x7b94('0x60')])){if(_0x50d725['body']['tags'][_0x7b94('0x3c')]){_0x50d725[_0x7b94('0x4f')]['tags']=_0x50d725[_0x7b94('0x4f')][_0x7b94('0x60')]['join'](';')+';';}else{_0x50d725['body'][_0x7b94('0x60')]=null;}}else{_0x50d725['body']['tags']=null;}if(_0x50d725[_0x7b94('0x4f')]&&_[_0x7b94('0x61')](_0x50d725['body'])){for(var _0x4d8bb3=0x0;_0x4d8bb3<_0x50d725[_0x7b94('0x4f')]['length'];_0x4d8bb3+=0x1){_0x50d725[_0x7b94('0x4f')][_0x4d8bb3][_0x7b94('0x58')]=_0x50d725[_0x7b94('0x55')]['id'];_0x31e128[_0x7b94('0x62')](_0x50d725['body'][_0x4d8bb3]);}return BPromise[_0x7b94('0x63')](_0x31e128,function(_0x1bf3cd){return db[_0x7b94('0x5f')][_0x7b94('0x5a')](_[_0x7b94('0x64')](_0x1bf3cd,[_0x7b94('0x65'),'id'])||{},{'fields':_['keys'](_0x4559fe),'raw':!![]})[_0x7b94('0x2a')](function(_0xd15639){_0x4bccb1[_0x7b94('0x66')]['push'](_0xd15639['dataValues']);})[_0x7b94('0x4c')](function(_0x36c297){_0x4bccb1['errors'][_0x7b94('0x62')]({'data':_0x1bf3cd,'error':_0x36c297[_0x7b94('0x67')]});});})[_0x7b94('0x2a')](function(_0x162627){return _0x4bccb1;})[_0x7b94('0x4c')](function(_0x1b5c28){return _0x1b5c28;});}else{_0x3c09b0[_0x7b94('0x1d')](0x190)[_0x7b94('0x1e')]({'message':'Malformed\x20request\x20syntax'});}});}})[_0x7b94('0x2a')](respondWithResult(_0x3c09b0,null))['catch'](handleError(_0x3c09b0,null));};exports['getContacts']=function(_0x30d038,_0x2fcf5b,_0x5f7ac6){var _0x5f299f;return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x30d038[_0x7b94('0x55')]['id']},'include':[{'model':db[_0x7b94('0x68')],'as':_0x7b94('0x69')}]})[_0x7b94('0x2a')](handleEntityNotFound(_0x2fcf5b,null))[_0x7b94('0x2a')](function(_0x2f3bcc){if(_0x2f3bcc){_0x5f299f=_0x2f3bcc;return db['CmContact']['rawAttributes'];}})[_0x7b94('0x2a')](function(_0x5900e9){if(_0x5900e9){var _0x2f9eb6={};var _0x579ee8={};_0x579ee8['model']=_[_0x7b94('0x6a')](_[_0x7b94('0x37')](_0x5900e9),_['map'](_0x5f299f[_0x7b94('0x69')],function(_0xff3a39){return util['format'](_0x7b94('0x6b'),_0xff3a39['id']);}));_0x579ee8[_0x7b94('0x36')]=_[_0x7b94('0x37')](_0x30d038[_0x7b94('0x36')]);_0x579ee8['filters']=_[_0x7b94('0x38')](_0x579ee8['model'],_0x579ee8[_0x7b94('0x36')]);_0x2f9eb6['attributes']=_[_0x7b94('0x38')](_0x579ee8[_0x7b94('0x39')],qs[_0x7b94('0x3b')](_0x30d038[_0x7b94('0x36')][_0x7b94('0x3b')]));_0x2f9eb6[_0x7b94('0x3a')]=_0x2f9eb6['attributes'][_0x7b94('0x3c')]?_0x2f9eb6[_0x7b94('0x3a')]:_0x579ee8[_0x7b94('0x39')];if(!_0x30d038[_0x7b94('0x36')][_0x7b94('0x3d')]('nolimit')){_0x2f9eb6[_0x7b94('0x20')]=qs[_0x7b94('0x20')](_0x30d038[_0x7b94('0x36')][_0x7b94('0x20')]);_0x2f9eb6[_0x7b94('0x22')]=qs[_0x7b94('0x22')](_0x30d038['query'][_0x7b94('0x22')]);}_0x2f9eb6['order']=qs[_0x7b94('0x40')](_0x30d038[_0x7b94('0x36')][_0x7b94('0x40')]);_0x2f9eb6[_0x7b94('0x41')]=qs[_0x7b94('0x42')](_[_0x7b94('0x43')](_0x30d038[_0x7b94('0x36')],_0x579ee8['filters']));_0x2f9eb6[_0x7b94('0x6c')]=!![];if(_0x30d038[_0x7b94('0x36')]['filter']){_0x2f9eb6[_0x7b94('0x41')]=_[_0x7b94('0x44')](_0x2f9eb6[_0x7b94('0x41')],{'$or':_[_0x7b94('0x31')](_0x2f9eb6[_0x7b94('0x3a')],function(_0x5f5826){var _0x20d6a8={};_0x20d6a8[_0x5f5826]={'$like':'%'+_0x30d038[_0x7b94('0x36')][_0x7b94('0x46')]+'%'};return _0x20d6a8;})});}_0x2f9eb6=_['merge']({},_0x2f9eb6,_0x30d038[_0x7b94('0x47')]);return _0x5f299f[_0x7b94('0x6d')](_0x2f9eb6);}})[_0x7b94('0x2a')](respondWithResult(_0x2fcf5b,null))['catch'](handleError(_0x2fcf5b,null));};exports[_0x7b94('0x6e')]=function(_0x3f4c36,_0x14cc7b,_0x1ca066){var _0x155b7b;return db['CmList'][_0x7b94('0x4e')]({'where':{'id':_0x3f4c36[_0x7b94('0x55')]['id']},'include':[{'model':db['CmCustomField'],'as':_0x7b94('0x69')}]})[_0x7b94('0x2a')](handleEntityNotFound(_0x14cc7b,null))[_0x7b94('0x2a')](function(_0x3e35ff){if(_0x3e35ff){_0x155b7b=_0x3e35ff;return db[_0x7b94('0x5f')][_0x7b94('0x33')];}})[_0x7b94('0x2a')](function(_0x439501){if(_0x439501){var _0x442e2e={};var _0x18427f={};_0x18427f['model']=_[_0x7b94('0x6a')](_[_0x7b94('0x37')](_0x439501),_[_0x7b94('0x31')](_0x155b7b['CustomFields'],function(_0x46e161){return util[_0x7b94('0x6f')]('cf_%d',_0x46e161['id']);}));_0x18427f['query']=_['keys'](_0x3f4c36[_0x7b94('0x36')]);_0x18427f[_0x7b94('0x42')]=_[_0x7b94('0x38')](_0x18427f[_0x7b94('0x39')],_0x18427f[_0x7b94('0x36')]);_0x442e2e['attributes']=_['intersection'](_0x18427f[_0x7b94('0x39')],qs[_0x7b94('0x3b')](_0x3f4c36[_0x7b94('0x36')][_0x7b94('0x3b')]));_0x442e2e[_0x7b94('0x3a')]=_0x442e2e[_0x7b94('0x3a')]['length']?_0x442e2e[_0x7b94('0x3a')]:_0x18427f[_0x7b94('0x39')];if(!_0x3f4c36['query']['hasOwnProperty'](_0x7b94('0x3e'))){_0x442e2e['limit']=qs[_0x7b94('0x20')](_0x3f4c36[_0x7b94('0x36')]['limit']);_0x442e2e[_0x7b94('0x22')]=qs[_0x7b94('0x22')](_0x3f4c36['query'][_0x7b94('0x22')]);}_0x442e2e[_0x7b94('0x3f')]=qs[_0x7b94('0x40')](_0x3f4c36[_0x7b94('0x36')]['sort']);_0x442e2e[_0x7b94('0x41')]=qs['filters'](_[_0x7b94('0x43')](_0x3f4c36[_0x7b94('0x36')],_0x18427f['filters']));_0x442e2e[_0x7b94('0x6c')]=!![];if(_0x3f4c36[_0x7b94('0x36')]['filter']){_0x442e2e[_0x7b94('0x41')]=_[_0x7b94('0x44')](_0x442e2e[_0x7b94('0x41')],{'$or':_[_0x7b94('0x31')](_0x442e2e['attributes'],function(_0x34bfc4){var _0x4e8ad9={};_0x4e8ad9[_0x34bfc4]={'$like':'%'+_0x3f4c36['query'][_0x7b94('0x46')]+'%'};return _0x4e8ad9;})});}_0x442e2e=_[_0x7b94('0x44')]({},_0x442e2e,_0x3f4c36[_0x7b94('0x47')]);return _0x155b7b[_0x7b94('0x6d')](_0x442e2e);}})[_0x7b94('0x2a')](function(_0x110054){if(!_[_0x7b94('0x70')](_0x110054)){var _0x4fe5fd=toCsv(_0x110054);var _0x59985c=Date[_0x7b94('0x71')]();fs['writeFileSync'](util['format']('/tmp/list_%d_%s.csv',_0x155b7b['id'],_0x59985c),_0x4fe5fd);_0x14cc7b[_0x7b94('0x72')](_0x7b94('0x73'),_0x7b94('0x74')+util[_0x7b94('0x6f')](_0x7b94('0x75'),_0x155b7b['id'],_0x59985c));_0x14cc7b['setHeader'](_0x7b94('0x76'),'text/csv');return _0x14cc7b['download'](util[_0x7b94('0x6f')]('/tmp/list_%d_%s.csv',_0x155b7b['id'],_0x59985c));}else{return _0x14cc7b[_0x7b94('0x1b')](0xcc);}})[_0x7b94('0x4c')](handleError(_0x14cc7b,null));};exports[_0x7b94('0x77')]=function(_0x31a15c,_0x256be1,_0x132172){var _0x54bc45;delete _0x31a15c[_0x7b94('0x4f')]['id'];return db[_0x7b94('0x32')][_0x7b94('0x5c')]({'where':{'id':_0x31a15c[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x256be1,null))[_0x7b94('0x2a')](function(_0x4664c9){if(_0x4664c9){return db['sequelize'][_0x7b94('0x78')](function(_0x30ad0b){return db[_0x7b94('0x68')]['create'](_0x31a15c['body'],{'transaction':_0x30ad0b})[_0x7b94('0x2a')](function(_0x3350bb){_0x54bc45=_0x3350bb;return _0x4664c9['addCustomFields'](_0x3350bb,{'transaction':_0x30ad0b});})[_0x7b94('0x2a')](function(){var _0xe846a4={'type':db[_0x7b94('0x79')][_0x7b94('0x7a')],'transaction':_0x30ad0b};switch(_0x31a15c[_0x7b94('0x4f')]['type']){case _0x7b94('0x7b'):_0xe846a4[_0x7b94('0x34')]=db[_0x7b94('0x79')][_0x7b94('0x7a')];break;case _0x7b94('0x7c'):_0xe846a4[_0x7b94('0x34')]=db[_0x7b94('0x79')][_0x7b94('0x7d')];break;case _0x7b94('0x7e'):_0xe846a4[_0x7b94('0x34')]=db[_0x7b94('0x79')][_0x7b94('0x7f')];_0xe846a4['defaultValue']=![];break;default:}return db[_0x7b94('0x80')]['queryInterface'][_0x7b94('0x81')](_0x7b94('0x82'),util[_0x7b94('0x6f')](_0x7b94('0x83'),_0x54bc45['id']),_0xe846a4);})[_0x7b94('0x2a')](function(){return _0x54bc45;});});}})[_0x7b94('0x2a')](respondWithResult(_0x256be1,null))[_0x7b94('0x4c')](handleError(_0x256be1,null));};exports[_0x7b94('0x84')]=function(_0xb94085,_0x1e9378,_0x2bc411){var _0x2a7a20={};var _0x230e1b={};var _0x5b8172;var _0xa10940;return db[_0x7b94('0x32')][_0x7b94('0x5c')]({'where':{'id':_0xb94085[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x1e9378,null))['then'](function(_0x5cd72d){if(_0x5cd72d){_0x5b8172=_0x5cd72d;_0x230e1b[_0x7b94('0x39')]=_['keys'](db[_0x7b94('0x68')][_0x7b94('0x33')]);_0x230e1b[_0x7b94('0x36')]=_[_0x7b94('0x37')](_0xb94085[_0x7b94('0x36')]);_0x230e1b[_0x7b94('0x42')]=_[_0x7b94('0x38')](_0x230e1b[_0x7b94('0x39')],_0x230e1b['query']);_0x2a7a20[_0x7b94('0x3a')]=_[_0x7b94('0x38')](_0x230e1b['model'],qs[_0x7b94('0x3b')](_0xb94085[_0x7b94('0x36')]['fields']));_0x2a7a20[_0x7b94('0x3a')]=_0x2a7a20['attributes'][_0x7b94('0x3c')]?_0x2a7a20[_0x7b94('0x3a')]:_0x230e1b[_0x7b94('0x39')];_0x2a7a20[_0x7b94('0x3f')]=qs[_0x7b94('0x40')](_0xb94085[_0x7b94('0x36')][_0x7b94('0x40')]);_0x2a7a20[_0x7b94('0x41')]=qs[_0x7b94('0x42')](_[_0x7b94('0x43')](_0xb94085['query'],_0x230e1b[_0x7b94('0x42')]));_0x2a7a20['where']=_['merge'](_0x2a7a20['where'],{'$or':[{'ListId':_0x5cd72d['id']},{'ListId':null}]});if(_0xb94085[_0x7b94('0x36')][_0x7b94('0x46')]){_0x2a7a20[_0x7b94('0x41')]=_[_0x7b94('0x44')](_0x2a7a20['where'],{'$or':_[_0x7b94('0x31')](_0x2a7a20[_0x7b94('0x3a')],function(_0x435680){var _0x421134={};_0x421134[_0x435680]={'$like':'%'+_0xb94085[_0x7b94('0x36')][_0x7b94('0x46')]+'%'};return _0x421134;})});}_0x2a7a20=_[_0x7b94('0x44')]({},_0x2a7a20,_0xb94085[_0x7b94('0x47')]);return db[_0x7b94('0x68')][_0x7b94('0x85')](_0x2a7a20);}})[_0x7b94('0x2a')](respondWithResult(_0x1e9378,null))[_0x7b94('0x4c')](handleError(_0x1e9378,null));};exports[_0x7b94('0x86')]=function(_0x3fce78,_0x4924eb,_0x3cbabc){return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x3fce78[_0x7b94('0x55')]['id']}})['then'](handleEntityNotFound(_0x4924eb,null))[_0x7b94('0x2a')](function(_0x97d3ae){if(_0x97d3ae){return _0x97d3ae['addAgents'](_0x3fce78[_0x7b94('0x4f')][_0x7b94('0x65')],_[_0x7b94('0x64')](_0x3fce78[_0x7b94('0x4f')],[_0x7b94('0x65'),'id'])||{})[_0x7b94('0x87')](function(_0x32e2be){for(var _0xbafcf8=0x0;_0xbafcf8<_0x3fce78['body']['ids'][_0x7b94('0x3c')];_0xbafcf8+=0x1){socket[_0x7b94('0x88')]('userCmList:save',{'UserId':Number(_0x3fce78[_0x7b94('0x4f')]['ids'][_0xbafcf8]),'CmListId':Number(_0x3fce78[_0x7b94('0x55')]['id'])});}return _0x32e2be;});}})[_0x7b94('0x2a')](respondWithResult(_0x4924eb,null))['catch'](handleError(_0x4924eb,null));};exports[_0x7b94('0x89')]=function(_0x59c15b,_0x3f2214,_0x21981f){return db[_0x7b94('0x32')][_0x7b94('0x4e')]({'where':{'id':_0x59c15b[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x3f2214,null))[_0x7b94('0x2a')](function(_0x5dc8dd){if(_0x5dc8dd){return _0x5dc8dd[_0x7b94('0x89')](_0x59c15b[_0x7b94('0x36')][_0x7b94('0x65')])[_0x7b94('0x2a')](function(){if(_[_0x7b94('0x61')](_0x59c15b[_0x7b94('0x36')][_0x7b94('0x65')])){for(var _0x3e5c65=0x0;_0x3e5c65<_0x59c15b[_0x7b94('0x36')][_0x7b94('0x65')][_0x7b94('0x3c')];_0x3e5c65+=0x1){socket['emit'](_0x7b94('0x8a'),{'UserId':Number(_0x59c15b[_0x7b94('0x36')][_0x7b94('0x65')][_0x3e5c65]),'CmListId':Number(_0x59c15b[_0x7b94('0x55')]['id'])});}}else{socket[_0x7b94('0x88')](_0x7b94('0x8a'),{'UserId':Number(_0x59c15b['query'][_0x7b94('0x65')]),'CmListId':Number(_0x59c15b[_0x7b94('0x55')]['id'])});}});}})[_0x7b94('0x2a')](respondWithStatusCode(_0x3f2214,null))[_0x7b94('0x4c')](handleError(_0x3f2214,null));};exports[_0x7b94('0x8b')]=function(_0xf88017,_0x4afbe8,_0x29f114){var _0x5b97c6={};var _0x5d1870={};var _0x205e21;var _0x38a5a0;return db[_0x7b94('0x32')][_0x7b94('0x5c')]({'where':{'id':_0xf88017[_0x7b94('0x55')]['id']}})[_0x7b94('0x2a')](handleEntityNotFound(_0x4afbe8,null))['then'](function(_0x5da05a){if(_0x5da05a){_0x205e21=_0x5da05a;_0x5d1870[_0x7b94('0x39')]=_[_0x7b94('0x37')](db[_0x7b94('0x8c')][_0x7b94('0x33')]);_0x5d1870[_0x7b94('0x36')]=_[_0x7b94('0x37')](_0xf88017[_0x7b94('0x36')]);_0x5d1870[_0x7b94('0x42')]=_[_0x7b94('0x38')](_0x5d1870['model'],_0x5d1870[_0x7b94('0x36')]);_0x5b97c6['attributes']=_[_0x7b94('0x38')](_0x5d1870[_0x7b94('0x39')],qs[_0x7b94('0x3b')](_0xf88017[_0x7b94('0x36')][_0x7b94('0x3b')]));_0x5b97c6[_0x7b94('0x3a')]=_0x5b97c6[_0x7b94('0x3a')][_0x7b94('0x3c')]?_0x5b97c6['attributes']:_0x5d1870[_0x7b94('0x39')];_0x5b97c6[_0x7b94('0x3f')]=qs[_0x7b94('0x40')](_0xf88017['query']['sort']);_0x5b97c6[_0x7b94('0x41')]=qs[_0x7b94('0x42')](_[_0x7b94('0x43')](_0xf88017[_0x7b94('0x36')],_0x5d1870[_0x7b94('0x42')]));if(_0xf88017['query'][_0x7b94('0x46')]){_0x5b97c6[_0x7b94('0x41')]=_['merge'](_0x5b97c6[_0x7b94('0x41')],{'$or':_[_0x7b94('0x31')](_0x5b97c6[_0x7b94('0x3a')],function(_0x26b66c){var _0x1923ae={};_0x1923ae[_0x26b66c]={'$like':'%'+_0xf88017['query'][_0x7b94('0x46')]+'%'};return _0x1923ae;})});}_0x5b97c6=_['merge']({},_0x5b97c6,_0xf88017[_0x7b94('0x47')]);return _0x205e21[_0x7b94('0x8b')](_0x5b97c6);}})[_0x7b94('0x2a')](function(_0x560d46){if(_0x560d46){_0x38a5a0=_0x560d46[_0x7b94('0x3c')];if(!_0xf88017[_0x7b94('0x36')][_0x7b94('0x3d')](_0x7b94('0x3e'))){_0x5b97c6[_0x7b94('0x20')]=qs[_0x7b94('0x20')](_0xf88017[_0x7b94('0x36')][_0x7b94('0x20')]);_0x5b97c6[_0x7b94('0x22')]=qs['offset'](_0xf88017[_0x7b94('0x36')][_0x7b94('0x22')]);}return _0x205e21[_0x7b94('0x8b')](_0x5b97c6);}})[_0x7b94('0x2a')](function(_0x162ffa){if(_0x162ffa){return _0x162ffa?{'count':_0x38a5a0,'rows':_0x162ffa}:null;}})[_0x7b94('0x2a')](respondWithResult(_0x4afbe8,null))[_0x7b94('0x4c')](handleError(_0x4afbe8,null));};