f791508ef8877cc815af0895fd987bdbb05c133f
[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 _0xd5f2=['errors','message','Malformed\x20request\x20syntax','CmCustomField','concat','CustomFields','format','cf_%d','raw','getContacts','getContactsCsv','ContactItemType','OrderBy','alias','select','from','c.deletedAt\x20is\x20null','distinct','field','c.cf_','customField_','item','cm_contact_has_items','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','description','description_additionalPhone_','toString','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','list_%d_%s.csv','Content-type','download','addCustomField','sequelize','transaction','text','Sequelize','TEXT','INTEGER','BOOLEAN','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','User','getAgents','info','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./cmList.socket','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','UserProfileResource','stack','name','index','map','CmList','fieldName','key','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','type','filter','options','include','findAll','rows','catch','show','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','ListId','Disposition','getDispositions','findOne','rawAttributes','removeDispositions','ids','addContacts','CmContact','tags','isArray','each','success','push'];(function(_0x508cb9,_0x16836a){var _0x453fc0=function(_0x4f1a2a){while(--_0x4f1a2a){_0x508cb9['push'](_0x508cb9['shift']());}};_0x453fc0(++_0x16836a);}(_0xd5f2,0x17c));var _0x2d5f=function(_0x27af45,_0x1b57aa){_0x27af45=_0x27af45-0x0;var _0x18df21=_0xd5f2[_0x27af45];return _0x18df21;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2d5f('0x0'));var zipdir=require(_0x2d5f('0x1'));var jsonpatch=require(_0x2d5f('0x2'));var rp=require(_0x2d5f('0x3'));var moment=require(_0x2d5f('0x4'));var BPromise=require(_0x2d5f('0x5'));var Mustache=require(_0x2d5f('0x6'));var util=require(_0x2d5f('0x7'));var path=require(_0x2d5f('0x8'));var sox=require(_0x2d5f('0x9'));var csv=require(_0x2d5f('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2d5f('0xb'));var squel=require('squel');var crypto=require(_0x2d5f('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x2d5f('0xd'));var toCsv=require(_0x2d5f('0xa'));var querystring=require(_0x2d5f('0xe'));var Papa=require('papaparse');var Redis=require(_0x2d5f('0xf'));var authService=require(_0x2d5f('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x2d5f('0x11'));var hardwareService=require(_0x2d5f('0x12'));var logger=require('../../config/logger')(_0x2d5f('0x13'));var utils=require(_0x2d5f('0x14'));var config=require(_0x2d5f('0x15'));var licenseUtil=require(_0x2d5f('0x16'));var db=require(_0x2d5f('0x17'))['db'];var csv_results;config[_0x2d5f('0x18')]=_['defaults'](config[_0x2d5f('0x18')],{'host':_0x2d5f('0x19'),'port':0x18eb});var socket=require(_0x2d5f('0x1a'))(new Redis(config['redis']));require(_0x2d5f('0x1b'))['register'](socket);function respondWithStatusCode(_0x34724f,_0x480c62){_0x480c62=_0x480c62||0xcc;return function(_0x12dfaa){if(_0x12dfaa){return _0x34724f[_0x2d5f('0x1c')](_0x480c62);}return _0x34724f['status'](_0x480c62)[_0x2d5f('0x1d')]();};}function respondWithResult(_0x29238e,_0x2723a7){_0x2723a7=_0x2723a7||0xc8;return function(_0x7e6019){if(_0x7e6019){return _0x29238e[_0x2d5f('0x1e')](_0x2723a7)[_0x2d5f('0x1f')](_0x7e6019);}};}function respondWithFilteredResult(_0x3e184d,_0x5babf3){return function(_0x3387b5){if(_0x3387b5){var _0x5c6fb9=typeof _0x5babf3[_0x2d5f('0x20')]===_0x2d5f('0x21')&&typeof _0x5babf3[_0x2d5f('0x22')]===_0x2d5f('0x21');var _0x215e33=_0x3387b5[_0x2d5f('0x23')];var _0x446a82=_0x5c6fb9?0x0:_0x5babf3['offset'];var _0x5ac7c3=_0x5c6fb9?_0x3387b5[_0x2d5f('0x23')]:_0x5babf3['offset']+_0x5babf3[_0x2d5f('0x22')];var _0x39e922;if(_0x5ac7c3>=_0x215e33){_0x5ac7c3=_0x215e33;_0x39e922=0xc8;}else{_0x39e922=0xce;}_0x3e184d['status'](_0x39e922);return _0x3e184d[_0x2d5f('0x24')](_0x2d5f('0x25'),_0x446a82+'-'+_0x5ac7c3+'/'+_0x215e33)['json'](_0x3387b5);}return null;};}function patchUpdates(_0x47a9a3){return function(_0x2f43b2){try{jsonpatch[_0x2d5f('0x26')](_0x2f43b2,_0x47a9a3,!![]);}catch(_0x5ce65d){return BPromise[_0x2d5f('0x27')](_0x5ce65d);}return _0x2f43b2[_0x2d5f('0x28')]();};}function saveUpdates(_0x30f446,_0x9b914a){return function(_0x5b0884){if(_0x5b0884){return _0x5b0884['update'](_0x30f446)[_0x2d5f('0x29')](function(_0x13cd9d){return _0x13cd9d;});}return null;};}function removeEntity(_0x1e6f0c,_0x5cdc62){return function(_0x145f26){if(_0x145f26){return _0x145f26[_0x2d5f('0x2a')]()['then'](function(){var _0x19397b=_0x145f26['get']({'plain':!![]});var _0x3b1e88='Lists';return db[_0x2d5f('0x2b')][_0x2d5f('0x2a')]({'where':{'type':_0x3b1e88,'resourceId':_0x19397b['id']}})['then'](function(){return _0x145f26;});})[_0x2d5f('0x29')](function(){_0x1e6f0c[_0x2d5f('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x11b1e2,_0x430aa7){return function(_0x1379f5){if(!_0x1379f5){_0x11b1e2['sendStatus'](0x194);}return _0x1379f5;};}function handleError(_0xc8e74e,_0x2acd2f){_0x2acd2f=_0x2acd2f||0x1f4;return function(_0x50ee84){logger['error'](_0x50ee84[_0x2d5f('0x2c')]);if(_0x50ee84['name']){delete _0x50ee84[_0x2d5f('0x2d')];}_0xc8e74e['status'](_0x2acd2f)['send'](_0x50ee84);};}exports[_0x2d5f('0x2e')]=function(_0x3d025a,_0x14b2bd){var _0x48cd9c={},_0x444087={},_0x47fa04={'count':0x0,'rows':[]};var _0x138f22=_[_0x2d5f('0x2f')](db[_0x2d5f('0x30')]['rawAttributes'],function(_0x208a9a){return{'name':_0x208a9a[_0x2d5f('0x31')],'type':_0x208a9a['type'][_0x2d5f('0x32')]};});_0x444087[_0x2d5f('0x33')]=_[_0x2d5f('0x2f')](_0x138f22,_0x2d5f('0x2d'));_0x444087['query']=_[_0x2d5f('0x34')](_0x3d025a[_0x2d5f('0x35')]);_0x444087['filters']=_[_0x2d5f('0x36')](_0x444087['model'],_0x444087[_0x2d5f('0x35')]);_0x48cd9c[_0x2d5f('0x37')]=_['intersection'](_0x444087['model'],qs[_0x2d5f('0x38')](_0x3d025a[_0x2d5f('0x35')][_0x2d5f('0x38')]));_0x48cd9c[_0x2d5f('0x37')]=_0x48cd9c[_0x2d5f('0x37')][_0x2d5f('0x39')]?_0x48cd9c['attributes']:_0x444087[_0x2d5f('0x33')];if(!_0x3d025a[_0x2d5f('0x35')][_0x2d5f('0x3a')](_0x2d5f('0x3b'))){_0x48cd9c[_0x2d5f('0x22')]=qs['limit'](_0x3d025a[_0x2d5f('0x35')][_0x2d5f('0x22')]);_0x48cd9c['offset']=qs[_0x2d5f('0x20')](_0x3d025a[_0x2d5f('0x35')][_0x2d5f('0x20')]);}_0x48cd9c[_0x2d5f('0x3c')]=qs[_0x2d5f('0x3d')](_0x3d025a[_0x2d5f('0x35')]['sort']);_0x48cd9c[_0x2d5f('0x3e')]=qs[_0x2d5f('0x3f')](_[_0x2d5f('0x40')](_0x3d025a[_0x2d5f('0x35')],_0x444087[_0x2d5f('0x3f')]),_0x138f22);if(_0x3d025a[_0x2d5f('0x35')]['filter']){_0x48cd9c[_0x2d5f('0x3e')]=_[_0x2d5f('0x41')](_0x48cd9c[_0x2d5f('0x3e')],{'$or':_[_0x2d5f('0x2f')](_0x138f22,function(_0x28fb22){if(_0x28fb22[_0x2d5f('0x42')]!=='VIRTUAL'){var _0x296bd9={};_0x296bd9[_0x28fb22[_0x2d5f('0x2d')]]={'$like':'%'+_0x3d025a[_0x2d5f('0x35')][_0x2d5f('0x43')]+'%'};return _0x296bd9;}})});}_0x48cd9c=_[_0x2d5f('0x41')]({},_0x48cd9c,_0x3d025a[_0x2d5f('0x44')]);var _0x3a16d0={'where':_0x48cd9c[_0x2d5f('0x3e')]};return db['CmList']['count'](_0x3a16d0)[_0x2d5f('0x29')](function(_0x25ffb5){_0x47fa04[_0x2d5f('0x23')]=_0x25ffb5;if(_0x3d025a[_0x2d5f('0x35')]['includeAll']){_0x48cd9c[_0x2d5f('0x45')]=[{'all':!![]}];}return db[_0x2d5f('0x30')][_0x2d5f('0x46')](_0x48cd9c);})['then'](function(_0x5d073a){_0x47fa04[_0x2d5f('0x47')]=_0x5d073a;return _0x47fa04;})['then'](respondWithFilteredResult(_0x14b2bd,_0x48cd9c))[_0x2d5f('0x48')](handleError(_0x14b2bd,null));};exports[_0x2d5f('0x49')]=function(_0x50146b,_0x4ee461){var _0x925041={'raw':![],'where':{'id':_0x50146b['params']['id']}},_0x3ea151={};_0x3ea151[_0x2d5f('0x33')]=_[_0x2d5f('0x34')](db['CmList']['rawAttributes']);_0x3ea151[_0x2d5f('0x35')]=_[_0x2d5f('0x34')](_0x50146b[_0x2d5f('0x35')]);_0x3ea151[_0x2d5f('0x3f')]=_[_0x2d5f('0x36')](_0x3ea151[_0x2d5f('0x33')],_0x3ea151[_0x2d5f('0x35')]);_0x925041[_0x2d5f('0x37')]=_[_0x2d5f('0x36')](_0x3ea151[_0x2d5f('0x33')],qs[_0x2d5f('0x38')](_0x50146b['query'][_0x2d5f('0x38')]));_0x925041[_0x2d5f('0x37')]=_0x925041[_0x2d5f('0x37')][_0x2d5f('0x39')]?_0x925041[_0x2d5f('0x37')]:_0x3ea151[_0x2d5f('0x33')];if(_0x50146b[_0x2d5f('0x35')][_0x2d5f('0x4a')]){_0x925041[_0x2d5f('0x45')]=[{'all':!![]}];}_0x925041=_['merge']({},_0x925041,_0x50146b[_0x2d5f('0x44')]);return db[_0x2d5f('0x30')][_0x2d5f('0x4b')](_0x925041)[_0x2d5f('0x29')](handleEntityNotFound(_0x4ee461,null))['then'](respondWithResult(_0x4ee461,null))[_0x2d5f('0x48')](handleError(_0x4ee461,null));};exports[_0x2d5f('0x4c')]=function(_0x51fb9c,_0x588a93){return db['CmList']['create'](_0x51fb9c[_0x2d5f('0x4d')],{})[_0x2d5f('0x29')](function(_0x44be6a){var _0x4e14d8=_0x51fb9c[_0x2d5f('0x4e')]['get']({'plain':!![]});if(!_0x4e14d8)throw new Error(_0x2d5f('0x4f'));if(_0x4e14d8['role']===_0x2d5f('0x4e')){var _0x51cc7b=_0x44be6a[_0x2d5f('0x50')]({'plain':!![]});var _0xedb6a6='Lists';return db[_0x2d5f('0x51')][_0x2d5f('0x4b')]({'where':{'name':_0xedb6a6,'userProfileId':_0x4e14d8[_0x2d5f('0x52')]},'raw':!![]})[_0x2d5f('0x29')](function(_0x49ede8){if(_0x49ede8&&_0x49ede8[_0x2d5f('0x53')]===0x0){return db[_0x2d5f('0x2b')][_0x2d5f('0x4c')]({'name':_0x51cc7b[_0x2d5f('0x2d')],'resourceId':_0x51cc7b['id'],'type':_0x49ede8['name'],'sectionId':_0x49ede8['id']},{})[_0x2d5f('0x29')](function(){return _0x44be6a;});}else{return _0x44be6a;}})[_0x2d5f('0x48')](function(_0x81b355){logger[_0x2d5f('0x54')](_0x2d5f('0x55'),_0x81b355);throw _0x81b355;});}return _0x44be6a;})[_0x2d5f('0x29')](respondWithResult(_0x588a93,0xc9))[_0x2d5f('0x48')](handleError(_0x588a93,null));};exports[_0x2d5f('0x56')]=function(_0x4011b9,_0xcb67d1){if(_0x4011b9[_0x2d5f('0x4d')]['id']){delete _0x4011b9[_0x2d5f('0x4d')]['id'];}return db[_0x2d5f('0x30')]['find']({'where':{'id':_0x4011b9[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0xcb67d1,null))[_0x2d5f('0x29')](saveUpdates(_0x4011b9['body'],null))[_0x2d5f('0x29')](respondWithResult(_0xcb67d1,null))['catch'](handleError(_0xcb67d1,null));};exports[_0x2d5f('0x2a')]=function(_0x379f4a,_0x48143a){return db[_0x2d5f('0x30')]['find']({'where':{'id':_0x379f4a[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x48143a,null))['then'](removeEntity(_0x48143a,null))['catch'](handleError(_0x48143a,null));};exports['describe']=function(_0x28cf37,_0x506ed8){return db[_0x2d5f('0x30')][_0x2d5f('0x58')]()['then'](respondWithResult(_0x506ed8,null))[_0x2d5f('0x48')](handleError(_0x506ed8,null));};exports['addDisposition']=function(_0x49fb8f,_0x589c93,_0x2652c2){if(_0x49fb8f[_0x2d5f('0x4d')]['id']){delete _0x49fb8f[_0x2d5f('0x4d')]['id'];}return db[_0x2d5f('0x30')][_0x2d5f('0x4b')]({'where':{'id':_0x49fb8f[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x589c93,null))[_0x2d5f('0x29')](function(_0x34145a){if(_0x34145a){_0x49fb8f['body'][_0x2d5f('0x59')]=_0x34145a['id'];return db[_0x2d5f('0x5a')][_0x2d5f('0x4c')](_0x49fb8f[_0x2d5f('0x4d')]);}})['then'](respondWithResult(_0x589c93,null))['catch'](handleError(_0x589c93,null));};exports[_0x2d5f('0x5b')]=function(_0x414278,_0x356c59,_0x1e3914){var _0x3b6c71={'raw':![],'where':{}};var _0x254423={};var _0x3ab83b={'count':0x0,'rows':[]};return db[_0x2d5f('0x30')][_0x2d5f('0x5c')]({'where':{'id':_0x414278[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x356c59,null))[_0x2d5f('0x29')](function(_0x1fb9c7){if(_0x1fb9c7){_0x254423['model']=_[_0x2d5f('0x34')](db[_0x2d5f('0x5a')][_0x2d5f('0x5d')]);_0x254423[_0x2d5f('0x35')]=_[_0x2d5f('0x34')](_0x414278[_0x2d5f('0x35')]);_0x254423[_0x2d5f('0x3f')]=_[_0x2d5f('0x36')](_0x254423[_0x2d5f('0x33')],_0x254423[_0x2d5f('0x35')]);_0x3b6c71[_0x2d5f('0x37')]=_['intersection'](_0x254423[_0x2d5f('0x33')],qs[_0x2d5f('0x38')](_0x414278['query'][_0x2d5f('0x38')]));_0x3b6c71['attributes']=_0x3b6c71[_0x2d5f('0x37')][_0x2d5f('0x39')]?_0x3b6c71['attributes']:_0x254423['model'];if(!_0x414278[_0x2d5f('0x35')][_0x2d5f('0x3a')]('nolimit')){_0x3b6c71['limit']=qs[_0x2d5f('0x22')](_0x414278[_0x2d5f('0x35')][_0x2d5f('0x22')]);_0x3b6c71['offset']=qs[_0x2d5f('0x20')](_0x414278[_0x2d5f('0x35')]['offset']);}_0x3b6c71['order']=qs[_0x2d5f('0x3d')](_0x414278[_0x2d5f('0x35')][_0x2d5f('0x3d')]);_0x3b6c71['where']=qs[_0x2d5f('0x3f')](_['pick'](_0x414278[_0x2d5f('0x35')],_0x254423[_0x2d5f('0x3f')]));_0x3b6c71[_0x2d5f('0x3e')][_0x2d5f('0x59')]=_0x1fb9c7['id'];if(_0x414278[_0x2d5f('0x35')][_0x2d5f('0x43')]){_0x3b6c71[_0x2d5f('0x3e')]=_[_0x2d5f('0x41')](_0x3b6c71['where'],{'$or':_[_0x2d5f('0x2f')](_0x3b6c71[_0x2d5f('0x37')],function(_0x34f8b4){var _0x562ea6={};_0x562ea6[_0x34f8b4]={'$like':'%'+_0x414278[_0x2d5f('0x35')][_0x2d5f('0x43')]+'%'};return _0x562ea6;})});}_0x3b6c71=_[_0x2d5f('0x41')]({},_0x3b6c71,_0x414278['options']);return db[_0x2d5f('0x5a')]['count']({'where':_0x3b6c71[_0x2d5f('0x3e')]})['then'](function(_0x5bfecc){_0x3ab83b[_0x2d5f('0x23')]=_0x5bfecc;if(_0x414278[_0x2d5f('0x35')][_0x2d5f('0x4a')]){_0x3b6c71[_0x2d5f('0x45')]=[{'all':!![]}];}return db['Disposition'][_0x2d5f('0x46')](_0x3b6c71);})[_0x2d5f('0x29')](function(_0x19eda8){_0x3ab83b['rows']=_0x19eda8;return _0x3ab83b;});}})[_0x2d5f('0x29')](respondWithFilteredResult(_0x356c59,_0x3b6c71))[_0x2d5f('0x48')](handleError(_0x356c59,null));};exports[_0x2d5f('0x5e')]=function(_0xed9777,_0x3afd81,_0x5028a2){return db[_0x2d5f('0x30')][_0x2d5f('0x4b')]({'where':{'id':_0xed9777[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x3afd81,null))[_0x2d5f('0x29')](function(_0x5d2a69){if(_0x5d2a69){return _0x5d2a69[_0x2d5f('0x5e')](_0xed9777[_0x2d5f('0x35')][_0x2d5f('0x5f')]);}})['then'](respondWithStatusCode(_0x3afd81,null))[_0x2d5f('0x48')](handleError(_0x3afd81,null));};exports[_0x2d5f('0x60')]=function(_0x1de076,_0x5a0f87,_0x586d15){return db[_0x2d5f('0x30')]['find']({'where':{'id':_0x1de076[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x5a0f87,null))[_0x2d5f('0x29')](function(_0x184c1c){if(_0x184c1c){var _0x3dbe13=[];var _0x47bdfc={'success':[],'errors':[]};return db[_0x2d5f('0x61')][_0x2d5f('0x58')]()[_0x2d5f('0x29')](function(_0x1e0228){if(_0x1de076[_0x2d5f('0x4d')][_0x2d5f('0x62')]&&_[_0x2d5f('0x63')](_0x1de076['body'][_0x2d5f('0x62')])){if(_0x1de076[_0x2d5f('0x4d')][_0x2d5f('0x62')]['length']){_0x1de076[_0x2d5f('0x4d')][_0x2d5f('0x62')]=_0x1de076[_0x2d5f('0x4d')][_0x2d5f('0x62')]['join'](';')+';';}else{_0x1de076['body'][_0x2d5f('0x62')]=null;}}else{_0x1de076['body'][_0x2d5f('0x62')]=null;}if(_0x1de076[_0x2d5f('0x4d')]&&_[_0x2d5f('0x63')](_0x1de076[_0x2d5f('0x4d')])){for(var _0x1ad6ee=0x0;_0x1ad6ee<_0x1de076[_0x2d5f('0x4d')][_0x2d5f('0x39')];_0x1ad6ee+=0x1){_0x1de076[_0x2d5f('0x4d')][_0x1ad6ee]['ListId']=_0x1de076[_0x2d5f('0x57')]['id'];_0x3dbe13['push'](_0x1de076[_0x2d5f('0x4d')][_0x1ad6ee]);}return BPromise[_0x2d5f('0x64')](_0x3dbe13,function(_0x4b9c21){return db[_0x2d5f('0x61')][_0x2d5f('0x4c')](_['omit'](_0x4b9c21,[_0x2d5f('0x5f'),'id'])||{},{'fields':_['keys'](_0x1e0228),'raw':!![]})['then'](function(_0x4d8c0a){_0x47bdfc[_0x2d5f('0x65')][_0x2d5f('0x66')](_0x4d8c0a['dataValues']);})[_0x2d5f('0x48')](function(_0x29b4ee){_0x47bdfc[_0x2d5f('0x67')][_0x2d5f('0x66')]({'data':_0x4b9c21,'error':_0x29b4ee[_0x2d5f('0x68')]});});})[_0x2d5f('0x29')](function(_0x2dca1a){return _0x47bdfc;})[_0x2d5f('0x48')](function(_0x327b6b){return _0x327b6b;});}else{_0x5a0f87['status'](0x190)[_0x2d5f('0x1f')]({'message':_0x2d5f('0x69')});}});}})['then'](respondWithResult(_0x5a0f87,null))['catch'](handleError(_0x5a0f87,null));};exports['getContacts']=function(_0x5d9834,_0x3b3c13,_0x201185){var _0x463ea2;return db[_0x2d5f('0x30')][_0x2d5f('0x4b')]({'where':{'id':_0x5d9834[_0x2d5f('0x57')]['id']},'include':[{'model':db[_0x2d5f('0x6a')],'as':'CustomFields'}]})[_0x2d5f('0x29')](handleEntityNotFound(_0x3b3c13,null))['then'](function(_0x49c9c9){if(_0x49c9c9){_0x463ea2=_0x49c9c9;return db[_0x2d5f('0x61')][_0x2d5f('0x5d')];}})[_0x2d5f('0x29')](function(_0x35b234){if(_0x35b234){var _0x245063={};var _0x1741de={};_0x1741de[_0x2d5f('0x33')]=_[_0x2d5f('0x6b')](_['keys'](_0x35b234),_[_0x2d5f('0x2f')](_0x463ea2[_0x2d5f('0x6c')],function(_0x3c4688){return util[_0x2d5f('0x6d')](_0x2d5f('0x6e'),_0x3c4688['id']);}));_0x1741de[_0x2d5f('0x35')]=_[_0x2d5f('0x34')](_0x5d9834[_0x2d5f('0x35')]);_0x1741de[_0x2d5f('0x3f')]=_['intersection'](_0x1741de['model'],_0x1741de['query']);_0x245063[_0x2d5f('0x37')]=_[_0x2d5f('0x36')](_0x1741de[_0x2d5f('0x33')],qs[_0x2d5f('0x38')](_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x38')]));_0x245063[_0x2d5f('0x37')]=_0x245063[_0x2d5f('0x37')]['length']?_0x245063[_0x2d5f('0x37')]:_0x1741de[_0x2d5f('0x33')];if(!_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x3a')]('nolimit')){_0x245063[_0x2d5f('0x22')]=qs[_0x2d5f('0x22')](_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x22')]);_0x245063[_0x2d5f('0x20')]=qs['offset'](_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x20')]);}_0x245063[_0x2d5f('0x3c')]=qs['sort'](_0x5d9834[_0x2d5f('0x35')]['sort']);_0x245063[_0x2d5f('0x3e')]=qs[_0x2d5f('0x3f')](_[_0x2d5f('0x40')](_0x5d9834['query'],_0x1741de[_0x2d5f('0x3f')]));_0x245063[_0x2d5f('0x6f')]=!![];if(_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x43')]){_0x245063[_0x2d5f('0x3e')]=_[_0x2d5f('0x41')](_0x245063['where'],{'$or':_[_0x2d5f('0x2f')](_0x245063['attributes'],function(_0x4f8818){var _0x5eb7e5={};_0x5eb7e5[_0x4f8818]={'$like':'%'+_0x5d9834[_0x2d5f('0x35')][_0x2d5f('0x43')]+'%'};return _0x5eb7e5;})});}_0x245063=_[_0x2d5f('0x41')]({},_0x245063,_0x5d9834[_0x2d5f('0x44')]);return _0x463ea2[_0x2d5f('0x70')](_0x245063);}})[_0x2d5f('0x29')](respondWithResult(_0x3b3c13,null))[_0x2d5f('0x48')](handleError(_0x3b3c13,null));};exports[_0x2d5f('0x71')]=function(_0x47fc0e,_0x179f97,_0x50d572){var _0x5ca4bf;var _0x291cdf;var _0x5449f1;var _0x518d5e=_0x47fc0e[_0x2d5f('0x57')]['id'];csv_results=[];return db[_0x2d5f('0x72')]['findAll']({'attributes':['id',_0x2d5f('0x2d')],'raw':!![],'order':[_0x2d5f('0x73')]})[_0x2d5f('0x29')](function(_0x261676){_0x5ca4bf=_0x261676;var _0x2ca4de=_[_0x2d5f('0x34')](db[_0x2d5f('0x61')][_0x2d5f('0x5d')]);return db[_0x2d5f('0x6a')][_0x2d5f('0x46')]({'raw':!![],'attributes':['id',_0x2d5f('0x74')]})[_0x2d5f('0x29')](function(_0x1c9d79){_0x291cdf=_0x1c9d79;var _0x104a8d=squel[_0x2d5f('0x75')]()[_0x2d5f('0x38')](_0x2ca4de)[_0x2d5f('0x76')]('cm_contacts','c')[_0x2d5f('0x3e')]('c.ListId\x20=\x20?',_0x518d5e)[_0x2d5f('0x3e')](_0x2d5f('0x77'))[_0x2d5f('0x78')]();for(var _0x28fa80=0x0;_0x28fa80<_0x291cdf['length'];_0x28fa80++){_0x104a8d[_0x2d5f('0x79')](_0x2d5f('0x7a')+_0x291cdf[_0x28fa80]['id'],_0x2d5f('0x7b')+_0x291cdf[_0x28fa80]['alias']);}for(var _0x28fa80=0x0;_0x28fa80<_0x5ca4bf[_0x2d5f('0x39')];_0x28fa80++){_0x104a8d['field'](squel[_0x2d5f('0x75')]()[_0x2d5f('0x79')](_0x2d5f('0x7c'))[_0x2d5f('0x76')](_0x2d5f('0x7d'))[_0x2d5f('0x3e')](_0x2d5f('0x7e'),_0x5ca4bf[_0x28fa80]['id'])[_0x2d5f('0x3e')](_0x2d5f('0x7f')),_0x2d5f('0x80')+_0x5ca4bf[_0x28fa80][_0x2d5f('0x2d')]);_0x104a8d[_0x2d5f('0x79')](squel[_0x2d5f('0x75')]()[_0x2d5f('0x79')](_0x2d5f('0x81'))[_0x2d5f('0x76')](_0x2d5f('0x7d'))[_0x2d5f('0x3e')](_0x2d5f('0x7e'),_0x5ca4bf[_0x28fa80]['id'])[_0x2d5f('0x3e')](_0x2d5f('0x7f')),_0x2d5f('0x82')+_0x5ca4bf[_0x28fa80][_0x2d5f('0x2d')]);}var _0x358df4=[];_0x358df4[_0x2d5f('0x66')](_0x104a8d['toString']());BPromise['each'](_0x358df4,handleQuery)[_0x2d5f('0x29')](function(_0x23ba53){handleQuery(_0x104a8d[_0x2d5f('0x83')]());var _0x443ccf=csv_results[0x0];if(!_['isEmpty'](_0x443ccf)){var _0x3360af=toCsv(_0x443ccf);var _0x47268b=Date[_0x2d5f('0x84')]();fs[_0x2d5f('0x85')](util[_0x2d5f('0x6d')](_0x2d5f('0x86'),_0x518d5e,_0x47268b),_0x3360af);_0x179f97[_0x2d5f('0x87')]('Content-disposition','attachment;\x20filename='+util[_0x2d5f('0x6d')](_0x2d5f('0x88'),_0x518d5e,_0x47268b));_0x179f97[_0x2d5f('0x87')](_0x2d5f('0x89'),'text/csv');return _0x179f97[_0x2d5f('0x8a')](util[_0x2d5f('0x6d')](_0x2d5f('0x86'),_0x518d5e,_0x47268b));}else{return _0x179f97[_0x2d5f('0x1c')](0xcc);}});});});};exports[_0x2d5f('0x8b')]=function(_0x94fb9e,_0x5e3904,_0x386194){var _0x16b7eb;delete _0x94fb9e[_0x2d5f('0x4d')]['id'];return db[_0x2d5f('0x30')][_0x2d5f('0x5c')]({'where':{'id':_0x94fb9e['params']['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x5e3904,null))['then'](function(_0x3274f3){if(_0x3274f3){return db[_0x2d5f('0x8c')][_0x2d5f('0x8d')](function(_0x3e0ea9){return db['CmCustomField'][_0x2d5f('0x4c')](_0x94fb9e[_0x2d5f('0x4d')],{'transaction':_0x3e0ea9})['then'](function(_0x2a8691){_0x16b7eb=_0x2a8691;return _0x3274f3['addCustomFields'](_0x2a8691,{'transaction':_0x3e0ea9});})[_0x2d5f('0x29')](function(){var _0x532814={'type':db['Sequelize']['TEXT'],'transaction':_0x3e0ea9};switch(_0x94fb9e[_0x2d5f('0x4d')][_0x2d5f('0x42')]){case _0x2d5f('0x8e'):_0x532814[_0x2d5f('0x42')]=db[_0x2d5f('0x8f')][_0x2d5f('0x90')];break;case'number':_0x532814[_0x2d5f('0x42')]=db[_0x2d5f('0x8f')][_0x2d5f('0x91')];break;case'switch':_0x532814[_0x2d5f('0x42')]=db['Sequelize'][_0x2d5f('0x92')];_0x532814['defaultValue']=![];break;default:}return db[_0x2d5f('0x8c')]['queryInterface'][_0x2d5f('0x93')](_0x2d5f('0x94'),util['format'](_0x2d5f('0x95'),_0x16b7eb['id']),_0x532814);})[_0x2d5f('0x29')](function(){return _0x16b7eb;});});}})['then'](respondWithResult(_0x5e3904,null))[_0x2d5f('0x48')](handleError(_0x5e3904,null));};exports[_0x2d5f('0x96')]=function(_0x12fb1a,_0x5ba5db,_0x3bb56c){var _0x118a93={};var _0x3228d6={};var _0x1e325f;var _0x453a42;return db[_0x2d5f('0x30')][_0x2d5f('0x5c')]({'where':{'id':_0x12fb1a[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x5ba5db,null))[_0x2d5f('0x29')](function(_0x3bc642){if(_0x3bc642){_0x1e325f=_0x3bc642;_0x3228d6[_0x2d5f('0x33')]=_[_0x2d5f('0x34')](db[_0x2d5f('0x6a')][_0x2d5f('0x5d')]);_0x3228d6[_0x2d5f('0x35')]=_[_0x2d5f('0x34')](_0x12fb1a[_0x2d5f('0x35')]);_0x3228d6[_0x2d5f('0x3f')]=_[_0x2d5f('0x36')](_0x3228d6[_0x2d5f('0x33')],_0x3228d6[_0x2d5f('0x35')]);_0x118a93[_0x2d5f('0x37')]=_[_0x2d5f('0x36')](_0x3228d6[_0x2d5f('0x33')],qs[_0x2d5f('0x38')](_0x12fb1a['query']['fields']));_0x118a93[_0x2d5f('0x37')]=_0x118a93[_0x2d5f('0x37')]['length']?_0x118a93[_0x2d5f('0x37')]:_0x3228d6[_0x2d5f('0x33')];_0x118a93[_0x2d5f('0x3c')]=qs[_0x2d5f('0x3d')](_0x12fb1a[_0x2d5f('0x35')]['sort']);_0x118a93['where']=qs[_0x2d5f('0x3f')](_['pick'](_0x12fb1a[_0x2d5f('0x35')],_0x3228d6[_0x2d5f('0x3f')]));_0x118a93[_0x2d5f('0x3e')]=_[_0x2d5f('0x41')](_0x118a93['where'],{'$or':[{'ListId':_0x3bc642['id']},{'ListId':null}]});if(_0x12fb1a[_0x2d5f('0x35')][_0x2d5f('0x43')]){_0x118a93['where']=_[_0x2d5f('0x41')](_0x118a93[_0x2d5f('0x3e')],{'$or':_[_0x2d5f('0x2f')](_0x118a93[_0x2d5f('0x37')],function(_0x4e3bcf){var _0x3d53e9={};_0x3d53e9[_0x4e3bcf]={'$like':'%'+_0x12fb1a[_0x2d5f('0x35')][_0x2d5f('0x43')]+'%'};return _0x3d53e9;})});}_0x118a93=_[_0x2d5f('0x41')]({},_0x118a93,_0x12fb1a['options']);return db[_0x2d5f('0x6a')][_0x2d5f('0x97')](_0x118a93);}})[_0x2d5f('0x29')](respondWithResult(_0x5ba5db,null))[_0x2d5f('0x48')](handleError(_0x5ba5db,null));};exports['getGlobalCustomFields']=function(_0x2b342f,_0x49c9b6){return db['CmCustomField']['findAndCountAll']({'where':{'ListId':null}})[_0x2d5f('0x29')](handleEntityNotFound(_0x49c9b6,null))[_0x2d5f('0x29')](function(_0x9d03a){return _0x9d03a;})[_0x2d5f('0x29')](respondWithResult(_0x49c9b6,null))[_0x2d5f('0x48')](handleError(_0x49c9b6,null));};exports[_0x2d5f('0x98')]=function(_0x2bc506,_0x3cb258,_0x2bd8a1){return db[_0x2d5f('0x30')][_0x2d5f('0x4b')]({'where':{'id':_0x2bc506[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x3cb258,null))[_0x2d5f('0x29')](function(_0x1d53d4){if(_0x1d53d4){return _0x1d53d4['addAgents'](_0x2bc506['body']['ids'],_['omit'](_0x2bc506['body'],[_0x2d5f('0x5f'),'id'])||{})[_0x2d5f('0x99')](function(_0x183d0d){for(var _0x41bde0=0x0;_0x41bde0<_0x2bc506[_0x2d5f('0x4d')][_0x2d5f('0x5f')][_0x2d5f('0x39')];_0x41bde0+=0x1){socket[_0x2d5f('0x9a')](_0x2d5f('0x9b'),{'UserId':Number(_0x2bc506[_0x2d5f('0x4d')][_0x2d5f('0x5f')][_0x41bde0]),'CmListId':Number(_0x2bc506[_0x2d5f('0x57')]['id'])});}return _0x183d0d;});}})['then'](respondWithResult(_0x3cb258,null))[_0x2d5f('0x48')](handleError(_0x3cb258,null));};exports[_0x2d5f('0x9c')]=function(_0x2ecc25,_0x3d145f,_0x5c39d8){return db[_0x2d5f('0x30')][_0x2d5f('0x4b')]({'where':{'id':_0x2ecc25['params']['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x3d145f,null))['then'](function(_0x266875){if(_0x266875){return _0x266875[_0x2d5f('0x9c')](_0x2ecc25[_0x2d5f('0x35')][_0x2d5f('0x5f')])['then'](function(){if(_[_0x2d5f('0x63')](_0x2ecc25[_0x2d5f('0x35')][_0x2d5f('0x5f')])){for(var _0x6342a8=0x0;_0x6342a8<_0x2ecc25[_0x2d5f('0x35')][_0x2d5f('0x5f')][_0x2d5f('0x39')];_0x6342a8+=0x1){socket['emit']('userCmList:remove',{'UserId':Number(_0x2ecc25[_0x2d5f('0x35')]['ids'][_0x6342a8]),'CmListId':Number(_0x2ecc25[_0x2d5f('0x57')]['id'])});}}else{socket[_0x2d5f('0x9a')](_0x2d5f('0x9d'),{'UserId':Number(_0x2ecc25['query']['ids']),'CmListId':Number(_0x2ecc25[_0x2d5f('0x57')]['id'])});}});}})[_0x2d5f('0x29')](respondWithStatusCode(_0x3d145f,null))[_0x2d5f('0x48')](handleError(_0x3d145f,null));};exports['getAgents']=function(_0x4fd9e2,_0x329af7,_0x2a90d9){var _0x27c518={};var _0x356e5f={};var _0x33bcb6;var _0x30b5ec;return db[_0x2d5f('0x30')][_0x2d5f('0x5c')]({'where':{'id':_0x4fd9e2[_0x2d5f('0x57')]['id']}})[_0x2d5f('0x29')](handleEntityNotFound(_0x329af7,null))[_0x2d5f('0x29')](function(_0x2ac446){if(_0x2ac446){_0x33bcb6=_0x2ac446;_0x356e5f[_0x2d5f('0x33')]=_[_0x2d5f('0x34')](db[_0x2d5f('0x9e')][_0x2d5f('0x5d')]);_0x356e5f['query']=_['keys'](_0x4fd9e2[_0x2d5f('0x35')]);_0x356e5f['filters']=_[_0x2d5f('0x36')](_0x356e5f['model'],_0x356e5f[_0x2d5f('0x35')]);_0x27c518['attributes']=_[_0x2d5f('0x36')](_0x356e5f['model'],qs['fields'](_0x4fd9e2[_0x2d5f('0x35')][_0x2d5f('0x38')]));_0x27c518[_0x2d5f('0x37')]=_0x27c518[_0x2d5f('0x37')][_0x2d5f('0x39')]?_0x27c518[_0x2d5f('0x37')]:_0x356e5f[_0x2d5f('0x33')];_0x27c518['order']=qs[_0x2d5f('0x3d')](_0x4fd9e2[_0x2d5f('0x35')]['sort']);_0x27c518[_0x2d5f('0x3e')]=qs['filters'](_[_0x2d5f('0x40')](_0x4fd9e2[_0x2d5f('0x35')],_0x356e5f['filters']));if(_0x4fd9e2['query']['filter']){_0x27c518[_0x2d5f('0x3e')]=_[_0x2d5f('0x41')](_0x27c518['where'],{'$or':_['map'](_0x27c518['attributes'],function(_0x4becf9){var _0x2b8ef3={};_0x2b8ef3[_0x4becf9]={'$like':'%'+_0x4fd9e2[_0x2d5f('0x35')]['filter']+'%'};return _0x2b8ef3;})});}_0x27c518=_['merge']({},_0x27c518,_0x4fd9e2['options']);return _0x33bcb6[_0x2d5f('0x9f')](_0x27c518);}})[_0x2d5f('0x29')](function(_0x25239c){if(_0x25239c){_0x30b5ec=_0x25239c[_0x2d5f('0x39')];if(!_0x4fd9e2[_0x2d5f('0x35')][_0x2d5f('0x3a')](_0x2d5f('0x3b'))){_0x27c518[_0x2d5f('0x22')]=qs[_0x2d5f('0x22')](_0x4fd9e2['query'][_0x2d5f('0x22')]);_0x27c518[_0x2d5f('0x20')]=qs['offset'](_0x4fd9e2[_0x2d5f('0x35')][_0x2d5f('0x20')]);}return _0x33bcb6[_0x2d5f('0x9f')](_0x27c518);}})[_0x2d5f('0x29')](function(_0xba867){if(_0xba867){return _0xba867?{'count':_0x30b5ec,'rows':_0xba867}:null;}})['then'](respondWithResult(_0x329af7,null))[_0x2d5f('0x48')](handleError(_0x329af7,null));};function handleQuery(_0x2b3309){logger[_0x2d5f('0xa0')](_0x2b3309);return db[_0x2d5f('0x8c')][_0x2d5f('0x35')](_0x2b3309)[_0x2d5f('0x99')](function(_0x5c09a1){csv_results[_0x2d5f('0x66')](_0x5c09a1);})[_0x2d5f('0x48')](function(_0x310291){logger[_0x2d5f('0x54')](_0x310291[_0x2d5f('0x68')]);});}