56463a891c2b280ba90b92aab7d57d80f68a883a
[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 _0x1b9e=['describe','addDisposition','ListId','Disposition','getDispositions','findOne','hasOwnProperty','merge','findAll','removeDispositions','addContacts','CmContact','tags','isArray','push','omit','ids','success','dataValues','errors','message','Malformed\x20request\x20syntax','CmCustomField','CustomFields','format','getContacts','getContactsCsv','concat','cf_%d','raw','isEmpty','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','Content-type','text/csv','addCustomField','sequelize','addCustomFields','Sequelize','TEXT','text','INTEGER','switch','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','pick','findAndCountAll','addAgents','emit','userCmList:save','removeAgents','userCmList:remove','User','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./cmList.socket','register','status','end','json','count','offset','limit','set','apply','reject','save','destroy','then','Lists','sendStatus','error','stack','name','index','map','CmList','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','filter','VIRTUAL','options','includeAll','include','rows','catch','show','params','find','create','body','user','get','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0x56cc28,_0x4a921e){var _0x1f5798=function(_0x45f7a5){while(--_0x45f7a5){_0x56cc28['push'](_0x56cc28['shift']());}};_0x1f5798(++_0x4a921e);}(_0x1b9e,0x165));var _0xe1b9=function(_0x1c6b48,_0x4d418c){_0x1c6b48=_0x1c6b48-0x0;var _0x2b550d=_0x1b9e[_0x1c6b48];return _0x2b550d;};'use strict';var emlformat=require(_0xe1b9('0x0'));var rimraf=require(_0xe1b9('0x1'));var zipdir=require(_0xe1b9('0x2'));var jsonpatch=require(_0xe1b9('0x3'));var rp=require(_0xe1b9('0x4'));var moment=require(_0xe1b9('0x5'));var BPromise=require(_0xe1b9('0x6'));var Mustache=require(_0xe1b9('0x7'));var util=require(_0xe1b9('0x8'));var path=require('path');var sox=require(_0xe1b9('0x9'));var csv=require('to-csv');var ejs=require(_0xe1b9('0xa'));var fs=require('fs');var fs_extra=require(_0xe1b9('0xb'));var _=require('lodash');var squel=require(_0xe1b9('0xc'));var crypto=require(_0xe1b9('0xd'));var jsforce=require(_0xe1b9('0xe'));var deskjs=require(_0xe1b9('0xf'));var toCsv=require(_0xe1b9('0x10'));var querystring=require(_0xe1b9('0x11'));var Papa=require('papaparse');var Redis=require(_0xe1b9('0x12'));var authService=require(_0xe1b9('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe1b9('0x14'));var logger=require(_0xe1b9('0x15'))(_0xe1b9('0x16'));var utils=require('../../config/utils');var config=require(_0xe1b9('0x17'));var licenseUtil=require(_0xe1b9('0x18'));var db=require(_0xe1b9('0x19'))['db'];config[_0xe1b9('0x1a')]=_[_0xe1b9('0x1b')](config[_0xe1b9('0x1a')],{'host':_0xe1b9('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe1b9('0x1a')]));require(_0xe1b9('0x1d'))[_0xe1b9('0x1e')](socket);function respondWithStatusCode(_0xcb1ce4,_0x3e66fe){_0x3e66fe=_0x3e66fe||0xcc;return function(_0x4fd020){if(_0x4fd020){return _0xcb1ce4['sendStatus'](_0x3e66fe);}return _0xcb1ce4[_0xe1b9('0x1f')](_0x3e66fe)[_0xe1b9('0x20')]();};}function respondWithResult(_0x168b95,_0x1f0a56){_0x1f0a56=_0x1f0a56||0xc8;return function(_0x386e86){if(_0x386e86){return _0x168b95['status'](_0x1f0a56)[_0xe1b9('0x21')](_0x386e86);}};}function respondWithFilteredResult(_0x5f59ac,_0x261170){return function(_0x687754){if(_0x687754){var _0x5ae831=_0x687754[_0xe1b9('0x22')],_0x2efa94=_0x261170[_0xe1b9('0x23')],_0x97010b=_0x261170[_0xe1b9('0x23')]+_0x261170[_0xe1b9('0x24')],_0x2f84c8;if(_0x97010b>=_0x5ae831){_0x97010b=_0x5ae831;_0x2f84c8=0xc8;}else{_0x2f84c8=0xce;}_0x5f59ac['status'](_0x2f84c8);return _0x5f59ac[_0xe1b9('0x25')]('Content-Range',_0x2efa94+'-'+_0x97010b+'/'+_0x5ae831)[_0xe1b9('0x21')](_0x687754);}return null;};}function patchUpdates(_0x1d3c76){return function(_0x2d3af8){try{jsonpatch[_0xe1b9('0x26')](_0x2d3af8,_0x1d3c76,!![]);}catch(_0x4c6463){return BPromise[_0xe1b9('0x27')](_0x4c6463);}return _0x2d3af8[_0xe1b9('0x28')]();};}function saveUpdates(_0x3c796c,_0x23533e){return function(_0x4f2db2){if(_0x4f2db2){return _0x4f2db2['update'](_0x3c796c)['then'](function(_0x2922bf){return _0x2922bf;});}return null;};}function removeEntity(_0x18460e,_0x379530){return function(_0x471711){if(_0x471711){return _0x471711[_0xe1b9('0x29')]()[_0xe1b9('0x2a')](function(){var _0x598cd1=_0x471711['get']({'plain':!![]});var _0x212d79=_0xe1b9('0x2b');return db['UserProfileResource'][_0xe1b9('0x29')]({'where':{'type':_0x212d79,'resourceId':_0x598cd1['id']}})[_0xe1b9('0x2a')](function(){return _0x471711;});})[_0xe1b9('0x2a')](function(){_0x18460e[_0xe1b9('0x1f')](0xcc)[_0xe1b9('0x20')]();});}};}function handleEntityNotFound(_0x1c34d6,_0x277240){return function(_0x220a16){if(!_0x220a16){_0x1c34d6[_0xe1b9('0x2c')](0x194);}return _0x220a16;};}function handleError(_0x20cbe7,_0x1b7452){_0x1b7452=_0x1b7452||0x1f4;return function(_0x4d2b0a){logger[_0xe1b9('0x2d')](_0x4d2b0a[_0xe1b9('0x2e')]);if(_0x4d2b0a[_0xe1b9('0x2f')]){delete _0x4d2b0a['name'];}_0x20cbe7[_0xe1b9('0x1f')](_0x1b7452)['send'](_0x4d2b0a);};}exports[_0xe1b9('0x30')]=function(_0x32ee58,_0x4068b8){var _0x342a80={},_0x145a32={},_0x57c6f7={'count':0x0,'rows':[]};var _0x44f0ec=_[_0xe1b9('0x31')](db[_0xe1b9('0x32')][_0xe1b9('0x33')],function(_0x10dc4d){return{'name':_0x10dc4d[_0xe1b9('0x34')],'type':_0x10dc4d[_0xe1b9('0x35')][_0xe1b9('0x36')]};});_0x145a32[_0xe1b9('0x37')]=_[_0xe1b9('0x31')](_0x44f0ec,_0xe1b9('0x2f'));_0x145a32[_0xe1b9('0x38')]=_[_0xe1b9('0x39')](_0x32ee58[_0xe1b9('0x38')]);_0x145a32[_0xe1b9('0x3a')]=_[_0xe1b9('0x3b')](_0x145a32[_0xe1b9('0x37')],_0x145a32[_0xe1b9('0x38')]);_0x342a80[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x145a32[_0xe1b9('0x37')],qs['fields'](_0x32ee58[_0xe1b9('0x38')][_0xe1b9('0x3d')]));_0x342a80[_0xe1b9('0x3c')]=_0x342a80[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0x342a80[_0xe1b9('0x3c')]:_0x145a32[_0xe1b9('0x37')];if(!_0x32ee58[_0xe1b9('0x38')]['hasOwnProperty'](_0xe1b9('0x3f'))){_0x342a80['limit']=qs[_0xe1b9('0x24')](_0x32ee58[_0xe1b9('0x38')][_0xe1b9('0x24')]);_0x342a80[_0xe1b9('0x23')]=qs[_0xe1b9('0x23')](_0x32ee58[_0xe1b9('0x38')][_0xe1b9('0x23')]);}_0x342a80[_0xe1b9('0x40')]=qs[_0xe1b9('0x41')](_0x32ee58[_0xe1b9('0x38')][_0xe1b9('0x41')]);_0x342a80[_0xe1b9('0x42')]=qs[_0xe1b9('0x3a')](_['pick'](_0x32ee58[_0xe1b9('0x38')],_0x145a32[_0xe1b9('0x3a')]),_0x44f0ec);if(_0x32ee58[_0xe1b9('0x38')][_0xe1b9('0x43')]){_0x342a80[_0xe1b9('0x42')]=_['merge'](_0x342a80[_0xe1b9('0x42')],{'$or':_['map'](_0x44f0ec,function(_0x792649){if(_0x792649[_0xe1b9('0x35')]!==_0xe1b9('0x44')){var _0x462f2a={};_0x462f2a[_0x792649['name']]={'$like':'%'+_0x32ee58[_0xe1b9('0x38')]['filter']+'%'};return _0x462f2a;}})});}_0x342a80=_['merge']({},_0x342a80,_0x32ee58[_0xe1b9('0x45')]);var _0x33ed42={'where':_0x342a80['where']};return db[_0xe1b9('0x32')][_0xe1b9('0x22')](_0x33ed42)[_0xe1b9('0x2a')](function(_0x3776a6){_0x57c6f7[_0xe1b9('0x22')]=_0x3776a6;if(_0x32ee58['query'][_0xe1b9('0x46')]){_0x342a80[_0xe1b9('0x47')]=[{'all':!![]}];}return db['CmList']['findAll'](_0x342a80);})[_0xe1b9('0x2a')](function(_0x140597){_0x57c6f7[_0xe1b9('0x48')]=_0x140597;return _0x57c6f7;})['then'](respondWithFilteredResult(_0x4068b8,_0x342a80))[_0xe1b9('0x49')](handleError(_0x4068b8,null));};exports[_0xe1b9('0x4a')]=function(_0x3b7a61,_0x2eb0d9){var _0x3c25bc={'raw':![],'where':{'id':_0x3b7a61[_0xe1b9('0x4b')]['id']}},_0x3d084e={};_0x3d084e[_0xe1b9('0x37')]=_[_0xe1b9('0x39')](db['CmList']['rawAttributes']);_0x3d084e[_0xe1b9('0x38')]=_[_0xe1b9('0x39')](_0x3b7a61[_0xe1b9('0x38')]);_0x3d084e[_0xe1b9('0x3a')]=_[_0xe1b9('0x3b')](_0x3d084e[_0xe1b9('0x37')],_0x3d084e[_0xe1b9('0x38')]);_0x3c25bc[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x3d084e[_0xe1b9('0x37')],qs[_0xe1b9('0x3d')](_0x3b7a61[_0xe1b9('0x38')][_0xe1b9('0x3d')]));_0x3c25bc[_0xe1b9('0x3c')]=_0x3c25bc[_0xe1b9('0x3c')]['length']?_0x3c25bc['attributes']:_0x3d084e[_0xe1b9('0x37')];if(_0x3b7a61[_0xe1b9('0x38')][_0xe1b9('0x46')]){_0x3c25bc['include']=[{'all':!![]}];}_0x3c25bc=_['merge']({},_0x3c25bc,_0x3b7a61[_0xe1b9('0x45')]);return db[_0xe1b9('0x32')][_0xe1b9('0x4c')](_0x3c25bc)[_0xe1b9('0x2a')](handleEntityNotFound(_0x2eb0d9,null))[_0xe1b9('0x2a')](respondWithResult(_0x2eb0d9,null))[_0xe1b9('0x49')](handleError(_0x2eb0d9,null));};exports['create']=function(_0x5e8dac,_0x5ed6ee){return db[_0xe1b9('0x32')][_0xe1b9('0x4d')](_0x5e8dac[_0xe1b9('0x4e')],{})[_0xe1b9('0x2a')](function(_0x556f50){var _0x2894e3=_0x5e8dac[_0xe1b9('0x4f')][_0xe1b9('0x50')]({'plain':!![]});if(!_0x2894e3)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2894e3['role']===_0xe1b9('0x4f')){var _0x16a526=_0x556f50[_0xe1b9('0x50')]({'plain':!![]});var _0x3611c8=_0xe1b9('0x2b');return db[_0xe1b9('0x51')][_0xe1b9('0x4c')]({'where':{'name':_0x3611c8,'userProfileId':_0x2894e3[_0xe1b9('0x52')]},'raw':!![]})[_0xe1b9('0x2a')](function(_0x4263f0){if(_0x4263f0&&_0x4263f0[_0xe1b9('0x53')]===0x0){return db[_0xe1b9('0x54')][_0xe1b9('0x4d')]({'name':_0x16a526[_0xe1b9('0x2f')],'resourceId':_0x16a526['id'],'type':_0x4263f0['name'],'sectionId':_0x4263f0['id']},{})[_0xe1b9('0x2a')](function(){return _0x556f50;});}else{return _0x556f50;}})[_0xe1b9('0x49')](function(_0x43d260){logger[_0xe1b9('0x2d')](_0xe1b9('0x55'),_0x43d260);throw _0x43d260;});}return _0x556f50;})[_0xe1b9('0x2a')](respondWithResult(_0x5ed6ee,0xc9))[_0xe1b9('0x49')](handleError(_0x5ed6ee,null));};exports[_0xe1b9('0x56')]=function(_0x22050b,_0x5e4a5e){if(_0x22050b[_0xe1b9('0x4e')]['id']){delete _0x22050b[_0xe1b9('0x4e')]['id'];}return db['CmList'][_0xe1b9('0x4c')]({'where':{'id':_0x22050b[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x5e4a5e,null))[_0xe1b9('0x2a')](saveUpdates(_0x22050b[_0xe1b9('0x4e')],null))[_0xe1b9('0x2a')](respondWithResult(_0x5e4a5e,null))[_0xe1b9('0x49')](handleError(_0x5e4a5e,null));};exports[_0xe1b9('0x29')]=function(_0x5550cc,_0x5366c3){return db[_0xe1b9('0x32')][_0xe1b9('0x4c')]({'where':{'id':_0x5550cc[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x5366c3,null))[_0xe1b9('0x2a')](removeEntity(_0x5366c3,null))['catch'](handleError(_0x5366c3,null));};exports[_0xe1b9('0x57')]=function(_0xcabee8,_0x3b2e55){return db[_0xe1b9('0x32')]['describe']()[_0xe1b9('0x2a')](respondWithResult(_0x3b2e55,null))[_0xe1b9('0x49')](handleError(_0x3b2e55,null));};exports[_0xe1b9('0x58')]=function(_0x57bdb4,_0x2684a0,_0x550777){if(_0x57bdb4[_0xe1b9('0x4e')]['id']){delete _0x57bdb4[_0xe1b9('0x4e')]['id'];}return db[_0xe1b9('0x32')][_0xe1b9('0x4c')]({'where':{'id':_0x57bdb4[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x2684a0,null))[_0xe1b9('0x2a')](function(_0x3124ee){if(_0x3124ee){_0x57bdb4[_0xe1b9('0x4e')][_0xe1b9('0x59')]=_0x3124ee['id'];return db[_0xe1b9('0x5a')]['create'](_0x57bdb4['body']);}})[_0xe1b9('0x2a')](respondWithResult(_0x2684a0,null))['catch'](handleError(_0x2684a0,null));};exports[_0xe1b9('0x5b')]=function(_0xdb6f2f,_0xd1839b,_0x447274){var _0x126eb8={'raw':![],'where':{}};var _0x26f551={};var _0x5781fd={'count':0x0,'rows':[]};return db[_0xe1b9('0x32')][_0xe1b9('0x5c')]({'where':{'id':_0xdb6f2f[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0xd1839b,null))[_0xe1b9('0x2a')](function(_0x4e64c8){if(_0x4e64c8){_0x26f551['model']=_['keys'](db['Disposition'][_0xe1b9('0x33')]);_0x26f551[_0xe1b9('0x38')]=_[_0xe1b9('0x39')](_0xdb6f2f[_0xe1b9('0x38')]);_0x26f551[_0xe1b9('0x3a')]=_[_0xe1b9('0x3b')](_0x26f551['model'],_0x26f551[_0xe1b9('0x38')]);_0x126eb8[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x26f551[_0xe1b9('0x37')],qs[_0xe1b9('0x3d')](_0xdb6f2f[_0xe1b9('0x38')][_0xe1b9('0x3d')]));_0x126eb8[_0xe1b9('0x3c')]=_0x126eb8[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0x126eb8[_0xe1b9('0x3c')]:_0x26f551[_0xe1b9('0x37')];if(!_0xdb6f2f['query'][_0xe1b9('0x5d')](_0xe1b9('0x3f'))){_0x126eb8[_0xe1b9('0x24')]=qs[_0xe1b9('0x24')](_0xdb6f2f[_0xe1b9('0x38')]['limit']);_0x126eb8[_0xe1b9('0x23')]=qs[_0xe1b9('0x23')](_0xdb6f2f[_0xe1b9('0x38')][_0xe1b9('0x23')]);}_0x126eb8[_0xe1b9('0x40')]=qs[_0xe1b9('0x41')](_0xdb6f2f[_0xe1b9('0x38')][_0xe1b9('0x41')]);_0x126eb8['where']=qs[_0xe1b9('0x3a')](_['pick'](_0xdb6f2f[_0xe1b9('0x38')],_0x26f551['filters']));_0x126eb8[_0xe1b9('0x42')][_0xe1b9('0x59')]=_0x4e64c8['id'];if(_0xdb6f2f[_0xe1b9('0x38')][_0xe1b9('0x43')]){_0x126eb8[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0x126eb8[_0xe1b9('0x42')],{'$or':_[_0xe1b9('0x31')](_0x126eb8[_0xe1b9('0x3c')],function(_0x5c3488){var _0x192406={};_0x192406[_0x5c3488]={'$like':'%'+_0xdb6f2f[_0xe1b9('0x38')][_0xe1b9('0x43')]+'%'};return _0x192406;})});}_0x126eb8=_[_0xe1b9('0x5e')]({},_0x126eb8,_0xdb6f2f['options']);return db['Disposition'][_0xe1b9('0x22')]({'where':_0x126eb8[_0xe1b9('0x42')]})[_0xe1b9('0x2a')](function(_0x2aa9d5){_0x5781fd[_0xe1b9('0x22')]=_0x2aa9d5;if(_0xdb6f2f['query'][_0xe1b9('0x46')]){_0x126eb8[_0xe1b9('0x47')]=[{'all':!![]}];}return db[_0xe1b9('0x5a')][_0xe1b9('0x5f')](_0x126eb8);})['then'](function(_0x470d53){_0x5781fd[_0xe1b9('0x48')]=_0x470d53;return _0x5781fd;});}})[_0xe1b9('0x2a')](respondWithFilteredResult(_0xd1839b,_0x126eb8))[_0xe1b9('0x49')](handleError(_0xd1839b,null));};exports[_0xe1b9('0x60')]=function(_0x1f44e7,_0x26e750,_0x549c05){return db['CmList'][_0xe1b9('0x4c')]({'where':{'id':_0x1f44e7['params']['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x26e750,null))[_0xe1b9('0x2a')](function(_0x5f5398){if(_0x5f5398){return _0x5f5398[_0xe1b9('0x60')](_0x1f44e7[_0xe1b9('0x38')]['ids']);}})[_0xe1b9('0x2a')](respondWithStatusCode(_0x26e750,null))[_0xe1b9('0x49')](handleError(_0x26e750,null));};exports[_0xe1b9('0x61')]=function(_0x16fe69,_0x36550f,_0x5ebe0f){return db[_0xe1b9('0x32')]['find']({'where':{'id':_0x16fe69[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x36550f,null))['then'](function(_0x54eba6){if(_0x54eba6){var _0x55e753=[];var _0x302be2={'success':[],'errors':[]};return db[_0xe1b9('0x62')][_0xe1b9('0x57')]()[_0xe1b9('0x2a')](function(_0x3b4c71){if(_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')]&&_['isArray'](_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')])){if(_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')][_0xe1b9('0x3e')]){_0x16fe69['body'][_0xe1b9('0x63')]=_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')]['join'](';')+';';}else{_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')]=null;}}else{_0x16fe69[_0xe1b9('0x4e')][_0xe1b9('0x63')]=null;}if(_0x16fe69['body']&&_[_0xe1b9('0x64')](_0x16fe69['body'])){for(var _0xcb3d93=0x0;_0xcb3d93<_0x16fe69['body'][_0xe1b9('0x3e')];_0xcb3d93+=0x1){_0x16fe69[_0xe1b9('0x4e')][_0xcb3d93][_0xe1b9('0x59')]=_0x16fe69[_0xe1b9('0x4b')]['id'];_0x55e753[_0xe1b9('0x65')](_0x16fe69[_0xe1b9('0x4e')][_0xcb3d93]);}return BPromise['each'](_0x55e753,function(_0x460f0e){return db[_0xe1b9('0x62')][_0xe1b9('0x4d')](_[_0xe1b9('0x66')](_0x460f0e,[_0xe1b9('0x67'),'id'])||{},{'fields':_[_0xe1b9('0x39')](_0x3b4c71),'raw':!![]})[_0xe1b9('0x2a')](function(_0x3fd6ab){_0x302be2[_0xe1b9('0x68')]['push'](_0x3fd6ab[_0xe1b9('0x69')]);})[_0xe1b9('0x49')](function(_0x3e08aa){_0x302be2[_0xe1b9('0x6a')][_0xe1b9('0x65')]({'data':_0x460f0e,'error':_0x3e08aa[_0xe1b9('0x6b')]});});})[_0xe1b9('0x2a')](function(_0x3b938c){return _0x302be2;})[_0xe1b9('0x49')](function(_0x256fd3){return _0x256fd3;});}else{_0x36550f[_0xe1b9('0x1f')](0x190)[_0xe1b9('0x21')]({'message':_0xe1b9('0x6c')});}});}})[_0xe1b9('0x2a')](respondWithResult(_0x36550f,null))[_0xe1b9('0x49')](handleError(_0x36550f,null));};exports['getContacts']=function(_0x42734a,_0x21fde2,_0x3830e7){var _0x2d42ac;return db['CmList'][_0xe1b9('0x4c')]({'where':{'id':_0x42734a[_0xe1b9('0x4b')]['id']},'include':[{'model':db[_0xe1b9('0x6d')],'as':_0xe1b9('0x6e')}]})[_0xe1b9('0x2a')](handleEntityNotFound(_0x21fde2,null))[_0xe1b9('0x2a')](function(_0x4dd046){if(_0x4dd046){_0x2d42ac=_0x4dd046;return db[_0xe1b9('0x62')]['rawAttributes'];}})[_0xe1b9('0x2a')](function(_0x3e234f){if(_0x3e234f){var _0xa71314={};var _0x53fd69={};_0x53fd69['model']=_['concat'](_[_0xe1b9('0x39')](_0x3e234f),_[_0xe1b9('0x31')](_0x2d42ac['CustomFields'],function(_0x33915c){return util[_0xe1b9('0x6f')]('cf_%d',_0x33915c['id']);}));_0x53fd69['query']=_['keys'](_0x42734a[_0xe1b9('0x38')]);_0x53fd69['filters']=_[_0xe1b9('0x3b')](_0x53fd69[_0xe1b9('0x37')],_0x53fd69['query']);_0xa71314[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x53fd69[_0xe1b9('0x37')],qs[_0xe1b9('0x3d')](_0x42734a['query'][_0xe1b9('0x3d')]));_0xa71314[_0xe1b9('0x3c')]=_0xa71314[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0xa71314['attributes']:_0x53fd69[_0xe1b9('0x37')];if(!_0x42734a[_0xe1b9('0x38')][_0xe1b9('0x5d')](_0xe1b9('0x3f'))){_0xa71314[_0xe1b9('0x24')]=qs[_0xe1b9('0x24')](_0x42734a[_0xe1b9('0x38')][_0xe1b9('0x24')]);_0xa71314[_0xe1b9('0x23')]=qs[_0xe1b9('0x23')](_0x42734a[_0xe1b9('0x38')][_0xe1b9('0x23')]);}_0xa71314['order']=qs[_0xe1b9('0x41')](_0x42734a['query'][_0xe1b9('0x41')]);_0xa71314[_0xe1b9('0x42')]=qs[_0xe1b9('0x3a')](_['pick'](_0x42734a[_0xe1b9('0x38')],_0x53fd69[_0xe1b9('0x3a')]));_0xa71314['raw']=!![];if(_0x42734a[_0xe1b9('0x38')][_0xe1b9('0x43')]){_0xa71314[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0xa71314[_0xe1b9('0x42')],{'$or':_[_0xe1b9('0x31')](_0xa71314[_0xe1b9('0x3c')],function(_0x5ced70){var _0x4b3fe9={};_0x4b3fe9[_0x5ced70]={'$like':'%'+_0x42734a['query']['filter']+'%'};return _0x4b3fe9;})});}_0xa71314=_[_0xe1b9('0x5e')]({},_0xa71314,_0x42734a[_0xe1b9('0x45')]);return _0x2d42ac[_0xe1b9('0x70')](_0xa71314);}})[_0xe1b9('0x2a')](respondWithResult(_0x21fde2,null))[_0xe1b9('0x49')](handleError(_0x21fde2,null));};exports[_0xe1b9('0x71')]=function(_0x599119,_0x313941,_0x1ad4c0){var _0x4ccecc;return db['CmList'][_0xe1b9('0x4c')]({'where':{'id':_0x599119[_0xe1b9('0x4b')]['id']},'include':[{'model':db[_0xe1b9('0x6d')],'as':_0xe1b9('0x6e')}]})['then'](handleEntityNotFound(_0x313941,null))[_0xe1b9('0x2a')](function(_0x29fcd8){if(_0x29fcd8){_0x4ccecc=_0x29fcd8;return db[_0xe1b9('0x62')][_0xe1b9('0x33')];}})['then'](function(_0x535a85){if(_0x535a85){var _0x47ee53={};var _0xde8ed0={};_0xde8ed0[_0xe1b9('0x37')]=_[_0xe1b9('0x72')](_[_0xe1b9('0x39')](_0x535a85),_[_0xe1b9('0x31')](_0x4ccecc[_0xe1b9('0x6e')],function(_0x1e349b){return util[_0xe1b9('0x6f')](_0xe1b9('0x73'),_0x1e349b['id']);}));_0xde8ed0[_0xe1b9('0x38')]=_[_0xe1b9('0x39')](_0x599119[_0xe1b9('0x38')]);_0xde8ed0[_0xe1b9('0x3a')]=_[_0xe1b9('0x3b')](_0xde8ed0[_0xe1b9('0x37')],_0xde8ed0[_0xe1b9('0x38')]);_0x47ee53[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0xde8ed0[_0xe1b9('0x37')],qs['fields'](_0x599119[_0xe1b9('0x38')][_0xe1b9('0x3d')]));_0x47ee53[_0xe1b9('0x3c')]=_0x47ee53[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0x47ee53[_0xe1b9('0x3c')]:_0xde8ed0['model'];if(!_0x599119[_0xe1b9('0x38')]['hasOwnProperty'](_0xe1b9('0x3f'))){_0x47ee53[_0xe1b9('0x24')]=qs[_0xe1b9('0x24')](_0x599119[_0xe1b9('0x38')][_0xe1b9('0x24')]);_0x47ee53[_0xe1b9('0x23')]=qs[_0xe1b9('0x23')](_0x599119[_0xe1b9('0x38')][_0xe1b9('0x23')]);}_0x47ee53['order']=qs[_0xe1b9('0x41')](_0x599119[_0xe1b9('0x38')][_0xe1b9('0x41')]);_0x47ee53['where']=qs[_0xe1b9('0x3a')](_['pick'](_0x599119[_0xe1b9('0x38')],_0xde8ed0[_0xe1b9('0x3a')]));_0x47ee53[_0xe1b9('0x74')]=!![];if(_0x599119[_0xe1b9('0x38')][_0xe1b9('0x43')]){_0x47ee53[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0x47ee53[_0xe1b9('0x42')],{'$or':_[_0xe1b9('0x31')](_0x47ee53[_0xe1b9('0x3c')],function(_0xcd471){var _0x4ebf7f={};_0x4ebf7f[_0xcd471]={'$like':'%'+_0x599119['query'][_0xe1b9('0x43')]+'%'};return _0x4ebf7f;})});}_0x47ee53=_[_0xe1b9('0x5e')]({},_0x47ee53,_0x599119[_0xe1b9('0x45')]);return _0x4ccecc['getContacts'](_0x47ee53);}})[_0xe1b9('0x2a')](function(_0x554ff2){if(!_[_0xe1b9('0x75')](_0x554ff2)){var _0x1b1c86=toCsv(_0x554ff2);var _0x13badd=Date[_0xe1b9('0x76')]();fs[_0xe1b9('0x77')](util[_0xe1b9('0x6f')](_0xe1b9('0x78'),_0x4ccecc['id'],_0x13badd),_0x1b1c86);_0x313941[_0xe1b9('0x79')](_0xe1b9('0x7a'),'attachment;\x20filename='+util[_0xe1b9('0x6f')]('list_%d_%s.csv',_0x4ccecc['id'],_0x13badd));_0x313941['setHeader'](_0xe1b9('0x7b'),_0xe1b9('0x7c'));return _0x313941['download'](util[_0xe1b9('0x6f')](_0xe1b9('0x78'),_0x4ccecc['id'],_0x13badd));}else{return _0x313941['sendStatus'](0xcc);}})[_0xe1b9('0x49')](handleError(_0x313941,null));};exports[_0xe1b9('0x7d')]=function(_0x48dd6c,_0x3920a1,_0x3eeb19){var _0x3caf02;delete _0x48dd6c[_0xe1b9('0x4e')]['id'];return db[_0xe1b9('0x32')]['findOne']({'where':{'id':_0x48dd6c['params']['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x3920a1,null))[_0xe1b9('0x2a')](function(_0x3df373){if(_0x3df373){return db[_0xe1b9('0x7e')]['transaction'](function(_0x59c281){return db[_0xe1b9('0x6d')][_0xe1b9('0x4d')](_0x48dd6c[_0xe1b9('0x4e')],{'transaction':_0x59c281})[_0xe1b9('0x2a')](function(_0x2ff019){_0x3caf02=_0x2ff019;return _0x3df373[_0xe1b9('0x7f')](_0x2ff019,{'transaction':_0x59c281});})[_0xe1b9('0x2a')](function(){var _0x5a398f={'type':db[_0xe1b9('0x80')][_0xe1b9('0x81')],'transaction':_0x59c281};switch(_0x48dd6c[_0xe1b9('0x4e')][_0xe1b9('0x35')]){case _0xe1b9('0x82'):_0x5a398f[_0xe1b9('0x35')]=db[_0xe1b9('0x80')][_0xe1b9('0x81')];break;case'number':_0x5a398f[_0xe1b9('0x35')]=db[_0xe1b9('0x80')][_0xe1b9('0x83')];break;case _0xe1b9('0x84'):_0x5a398f[_0xe1b9('0x35')]=db[_0xe1b9('0x80')]['BOOLEAN'];_0x5a398f[_0xe1b9('0x85')]=![];break;default:}return db['sequelize'][_0xe1b9('0x86')][_0xe1b9('0x87')](_0xe1b9('0x88'),util['format'](_0xe1b9('0x89'),_0x3caf02['id']),_0x5a398f);})[_0xe1b9('0x2a')](function(){return _0x3caf02;});});}})[_0xe1b9('0x2a')](respondWithResult(_0x3920a1,null))[_0xe1b9('0x49')](handleError(_0x3920a1,null));};exports[_0xe1b9('0x8a')]=function(_0x22b296,_0x3e7f51,_0x2da703){var _0x3ceace={};var _0x5812db={};var _0x5c11f0;var _0x2d8bdc;return db[_0xe1b9('0x32')][_0xe1b9('0x5c')]({'where':{'id':_0x22b296[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x3e7f51,null))[_0xe1b9('0x2a')](function(_0x2ca2d6){if(_0x2ca2d6){_0x5c11f0=_0x2ca2d6;_0x5812db['model']=_[_0xe1b9('0x39')](db[_0xe1b9('0x6d')][_0xe1b9('0x33')]);_0x5812db['query']=_['keys'](_0x22b296[_0xe1b9('0x38')]);_0x5812db[_0xe1b9('0x3a')]=_['intersection'](_0x5812db['model'],_0x5812db['query']);_0x3ceace[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x5812db[_0xe1b9('0x37')],qs[_0xe1b9('0x3d')](_0x22b296[_0xe1b9('0x38')][_0xe1b9('0x3d')]));_0x3ceace[_0xe1b9('0x3c')]=_0x3ceace[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0x3ceace[_0xe1b9('0x3c')]:_0x5812db['model'];_0x3ceace[_0xe1b9('0x40')]=qs[_0xe1b9('0x41')](_0x22b296[_0xe1b9('0x38')]['sort']);_0x3ceace['where']=qs[_0xe1b9('0x3a')](_[_0xe1b9('0x8b')](_0x22b296[_0xe1b9('0x38')],_0x5812db[_0xe1b9('0x3a')]));_0x3ceace[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0x3ceace['where'],{'$or':[{'ListId':_0x2ca2d6['id']},{'ListId':null}]});if(_0x22b296[_0xe1b9('0x38')][_0xe1b9('0x43')]){_0x3ceace[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0x3ceace['where'],{'$or':_[_0xe1b9('0x31')](_0x3ceace['attributes'],function(_0x4130d2){var _0x3b2991={};_0x3b2991[_0x4130d2]={'$like':'%'+_0x22b296['query']['filter']+'%'};return _0x3b2991;})});}_0x3ceace=_[_0xe1b9('0x5e')]({},_0x3ceace,_0x22b296['options']);return db[_0xe1b9('0x6d')][_0xe1b9('0x8c')](_0x3ceace);}})['then'](respondWithResult(_0x3e7f51,null))[_0xe1b9('0x49')](handleError(_0x3e7f51,null));};exports['addAgents']=function(_0x3d6cfd,_0xde5074,_0x1e79ba){return db[_0xe1b9('0x32')]['find']({'where':{'id':_0x3d6cfd[_0xe1b9('0x4b')]['id']}})['then'](handleEntityNotFound(_0xde5074,null))[_0xe1b9('0x2a')](function(_0x4c4de2){if(_0x4c4de2){return _0x4c4de2[_0xe1b9('0x8d')](_0x3d6cfd[_0xe1b9('0x4e')][_0xe1b9('0x67')],_[_0xe1b9('0x66')](_0x3d6cfd['body'],[_0xe1b9('0x67'),'id'])||{})['spread'](function(_0x24b272){for(var _0x38bd32=0x0;_0x38bd32<_0x3d6cfd[_0xe1b9('0x4e')][_0xe1b9('0x67')]['length'];_0x38bd32+=0x1){socket[_0xe1b9('0x8e')](_0xe1b9('0x8f'),{'UserId':_0x3d6cfd[_0xe1b9('0x4e')]['ids'][_0x38bd32],'CmListId':_0x3d6cfd[_0xe1b9('0x4b')]['id']});}return _0x24b272;});}})[_0xe1b9('0x2a')](respondWithResult(_0xde5074,null))[_0xe1b9('0x49')](handleError(_0xde5074,null));};exports['removeAgents']=function(_0x569fae,_0x53ea50,_0xe75091){return db[_0xe1b9('0x32')][_0xe1b9('0x4c')]({'where':{'id':_0x569fae[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x53ea50,null))[_0xe1b9('0x2a')](function(_0xba3f1c){if(_0xba3f1c){return _0xba3f1c[_0xe1b9('0x90')](_0x569fae[_0xe1b9('0x38')][_0xe1b9('0x67')])['then'](function(){if(_[_0xe1b9('0x64')](_0x569fae[_0xe1b9('0x38')][_0xe1b9('0x67')])){for(var _0x447b96=0x0;_0x447b96<_0x569fae[_0xe1b9('0x38')][_0xe1b9('0x67')][_0xe1b9('0x3e')];_0x447b96+=0x1){socket[_0xe1b9('0x8e')](_0xe1b9('0x91'),{'UserId':Number(_0x569fae[_0xe1b9('0x38')][_0xe1b9('0x67')][_0x447b96]),'CmListId':Number(_0x569fae[_0xe1b9('0x4b')]['id'])});}}else{socket[_0xe1b9('0x8e')]('userCmList:remove',{'UserId':Number(_0x569fae[_0xe1b9('0x38')]['ids']),'CmListId':Number(_0x569fae['params']['id'])});}});}})[_0xe1b9('0x2a')](respondWithStatusCode(_0x53ea50,null))[_0xe1b9('0x49')](handleError(_0x53ea50,null));};exports['getAgents']=function(_0xbb74a8,_0x2c4f52,_0x414e60){var _0x118750={};var _0x5afc49={};var _0x1e26f9;var _0x5afeb6;return db['CmList'][_0xe1b9('0x5c')]({'where':{'id':_0xbb74a8[_0xe1b9('0x4b')]['id']}})[_0xe1b9('0x2a')](handleEntityNotFound(_0x2c4f52,null))[_0xe1b9('0x2a')](function(_0x3b2b5d){if(_0x3b2b5d){_0x1e26f9=_0x3b2b5d;_0x5afc49[_0xe1b9('0x37')]=_[_0xe1b9('0x39')](db[_0xe1b9('0x92')]['rawAttributes']);_0x5afc49[_0xe1b9('0x38')]=_[_0xe1b9('0x39')](_0xbb74a8[_0xe1b9('0x38')]);_0x5afc49[_0xe1b9('0x3a')]=_[_0xe1b9('0x3b')](_0x5afc49[_0xe1b9('0x37')],_0x5afc49[_0xe1b9('0x38')]);_0x118750[_0xe1b9('0x3c')]=_[_0xe1b9('0x3b')](_0x5afc49['model'],qs['fields'](_0xbb74a8['query']['fields']));_0x118750[_0xe1b9('0x3c')]=_0x118750[_0xe1b9('0x3c')][_0xe1b9('0x3e')]?_0x118750[_0xe1b9('0x3c')]:_0x5afc49[_0xe1b9('0x37')];_0x118750[_0xe1b9('0x40')]=qs[_0xe1b9('0x41')](_0xbb74a8['query'][_0xe1b9('0x41')]);_0x118750['where']=qs[_0xe1b9('0x3a')](_['pick'](_0xbb74a8[_0xe1b9('0x38')],_0x5afc49['filters']));if(_0xbb74a8['query']['filter']){_0x118750[_0xe1b9('0x42')]=_[_0xe1b9('0x5e')](_0x118750[_0xe1b9('0x42')],{'$or':_[_0xe1b9('0x31')](_0x118750[_0xe1b9('0x3c')],function(_0x16c737){var _0x2bbd78={};_0x2bbd78[_0x16c737]={'$like':'%'+_0xbb74a8[_0xe1b9('0x38')][_0xe1b9('0x43')]+'%'};return _0x2bbd78;})});}_0x118750=_[_0xe1b9('0x5e')]({},_0x118750,_0xbb74a8[_0xe1b9('0x45')]);return _0x1e26f9[_0xe1b9('0x93')](_0x118750);}})['then'](function(_0x559b33){if(_0x559b33){_0x5afeb6=_0x559b33[_0xe1b9('0x3e')];if(!_0xbb74a8[_0xe1b9('0x38')][_0xe1b9('0x5d')](_0xe1b9('0x3f'))){_0x118750[_0xe1b9('0x24')]=qs[_0xe1b9('0x24')](_0xbb74a8[_0xe1b9('0x38')][_0xe1b9('0x24')]);_0x118750['offset']=qs[_0xe1b9('0x23')](_0xbb74a8['query']['offset']);}return _0x1e26f9['getAgents'](_0x118750);}})['then'](function(_0x3b4406){if(_0x3b4406){return _0x3b4406?{'count':_0x5afeb6,'rows':_0x3b4406}:null;}})[_0xe1b9('0x2a')](respondWithResult(_0x2c4f52,null))['catch'](handleError(_0x2c4f52,null));};