Built motion from commit ffdca78c.|2.6.24
[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 _0xb4d8=['Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Lists','UserProfileSection','userProfileId','autoAssociation','describe','addDisposition','ListId','Disposition','getDispositions','findOne','length','removeDispositions','ids','addContacts','tags','isArray','join','push','each','omit','success','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','CmContact','concat','format','cf_%d','hasOwnProperty','raw','getContactsCsv','OrderBy','alias','select','from','cm_contacts','c.deletedAt\x20is\x20null','field','item','cm_contact_has_items','ItemTypeId\x20=\x20?','description_additionalPhone_','toString','now','writeFileSync','/tmp/list_%d_%s.csv','Content-disposition','attachment;\x20filename=','setHeader','Content-type','sequelize','addCustomFields','TEXT','Sequelize','number','INTEGER','BOOLEAN','defaultValue','cf_%s','getCustomFields','findAndCountAll','getGlobalCustomFields','addAgents','spread','userCmList:save','removeAgents','emit','userCmList:remove','getAgents','User','info','eml-format','rimraf','zip-dir','request-promise','moment','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','end','status','offset','undefined','limit','count','Content-Range','json','apply','update','then','get','UserProfileResource','destroy','error','stack','name','index','map','CmList','rawAttributes','fieldName','keys','query','filters','model','attributes','intersection','fields','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','rows','catch','show','params','includeAll','options','find','create','body','user'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb4d8,0x189));var _0x8b4d=function(_0x35c324,_0x1d544f){_0x35c324=_0x35c324-0x0;var _0x11e905=_0xb4d8[_0x35c324];return _0x11e905;};'use strict';var emlformat=require(_0x8b4d('0x0'));var rimraf=require(_0x8b4d('0x1'));var zipdir=require(_0x8b4d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8b4d('0x3'));var moment=require(_0x8b4d('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x8b4d('0x5'));var sox=require(_0x8b4d('0x6'));var csv=require(_0x8b4d('0x7'));var ejs=require(_0x8b4d('0x8'));var fs=require('fs');var fs_extra=require(_0x8b4d('0x9'));var _=require(_0x8b4d('0xa'));var squel=require(_0x8b4d('0xb'));var crypto=require(_0x8b4d('0xc'));var jsforce=require(_0x8b4d('0xd'));var deskjs=require(_0x8b4d('0xe'));var toCsv=require(_0x8b4d('0x7'));var querystring=require('querystring');var Papa=require(_0x8b4d('0xf'));var Redis=require(_0x8b4d('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x8b4d('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8b4d('0x12'));var logger=require(_0x8b4d('0x13'))(_0x8b4d('0x14'));var utils=require(_0x8b4d('0x15'));var config=require(_0x8b4d('0x16'));var licenseUtil=require(_0x8b4d('0x17'));var db=require(_0x8b4d('0x18'))['db'];var csv_results;config[_0x8b4d('0x19')]=_['defaults'](config[_0x8b4d('0x19')],{'host':_0x8b4d('0x1a'),'port':0x18eb});var socket=require(_0x8b4d('0x1b'))(new Redis(config['redis']));require(_0x8b4d('0x1c'))[_0x8b4d('0x1d')](socket);function respondWithStatusCode(_0x43f2e3,_0x27c1b8){_0x27c1b8=_0x27c1b8||0xcc;return function(_0x376aba){if(_0x376aba){return _0x43f2e3[_0x8b4d('0x1e')](_0x27c1b8);}return _0x43f2e3['status'](_0x27c1b8)[_0x8b4d('0x1f')]();};}function respondWithResult(_0x108706,_0xf00e5e){_0xf00e5e=_0xf00e5e||0xc8;return function(_0x7efb62){if(_0x7efb62){return _0x108706[_0x8b4d('0x20')](_0xf00e5e)['json'](_0x7efb62);}};}function respondWithFilteredResult(_0x222281,_0x136721){return function(_0x351392){if(_0x351392){var _0x44fc2f=typeof _0x136721[_0x8b4d('0x21')]===_0x8b4d('0x22')&&typeof _0x136721[_0x8b4d('0x23')]===_0x8b4d('0x22');var _0x126904=_0x351392[_0x8b4d('0x24')];var _0x9f4f57=_0x44fc2f?0x0:_0x136721[_0x8b4d('0x21')];var _0x40c446=_0x44fc2f?_0x351392[_0x8b4d('0x24')]:_0x136721['offset']+_0x136721[_0x8b4d('0x23')];var _0x577918;if(_0x40c446>=_0x126904){_0x40c446=_0x126904;_0x577918=0xc8;}else{_0x577918=0xce;}_0x222281[_0x8b4d('0x20')](_0x577918);return _0x222281['set'](_0x8b4d('0x25'),_0x9f4f57+'-'+_0x40c446+'/'+_0x126904)[_0x8b4d('0x26')](_0x351392);}return null;};}function patchUpdates(_0xe2e383){return function(_0x73049){try{jsonpatch[_0x8b4d('0x27')](_0x73049,_0xe2e383,!![]);}catch(_0x594a73){return BPromise['reject'](_0x594a73);}return _0x73049['save']();};}function saveUpdates(_0x1bdeda,_0x1bf61b){return function(_0x435a8b){if(_0x435a8b){return _0x435a8b[_0x8b4d('0x28')](_0x1bdeda)['then'](function(_0x2756cc){return _0x2756cc;});}return null;};}function removeEntity(_0x52ccf8,_0x4de9fa){return function(_0x377d60){if(_0x377d60){return _0x377d60['destroy']()[_0x8b4d('0x29')](function(){var _0x5c323d=_0x377d60[_0x8b4d('0x2a')]({'plain':!![]});var _0x58c0ad='Lists';return db[_0x8b4d('0x2b')][_0x8b4d('0x2c')]({'where':{'type':_0x58c0ad,'resourceId':_0x5c323d['id']}})[_0x8b4d('0x29')](function(){return _0x377d60;});})[_0x8b4d('0x29')](function(){_0x52ccf8['status'](0xcc)[_0x8b4d('0x1f')]();});}};}function handleEntityNotFound(_0x32e809,_0x24d581){return function(_0x2c5e8b){if(!_0x2c5e8b){_0x32e809['sendStatus'](0x194);}return _0x2c5e8b;};}function handleError(_0x42926c,_0x1a6b3b){_0x1a6b3b=_0x1a6b3b||0x1f4;return function(_0x55c8e7){logger[_0x8b4d('0x2d')](_0x55c8e7[_0x8b4d('0x2e')]);if(_0x55c8e7[_0x8b4d('0x2f')]){delete _0x55c8e7[_0x8b4d('0x2f')];}_0x42926c[_0x8b4d('0x20')](_0x1a6b3b)['send'](_0x55c8e7);};}exports[_0x8b4d('0x30')]=function(_0x14b62a,_0x3514c0){var _0x364192={},_0x2efdf8={},_0xe67290={'count':0x0,'rows':[]};var _0x4b19f1=_[_0x8b4d('0x31')](db[_0x8b4d('0x32')][_0x8b4d('0x33')],function(_0x2ae6f1){return{'name':_0x2ae6f1[_0x8b4d('0x34')],'type':_0x2ae6f1['type']['key']};});_0x2efdf8['model']=_[_0x8b4d('0x31')](_0x4b19f1,_0x8b4d('0x2f'));_0x2efdf8['query']=_[_0x8b4d('0x35')](_0x14b62a[_0x8b4d('0x36')]);_0x2efdf8[_0x8b4d('0x37')]=_['intersection'](_0x2efdf8[_0x8b4d('0x38')],_0x2efdf8[_0x8b4d('0x36')]);_0x364192[_0x8b4d('0x39')]=_[_0x8b4d('0x3a')](_0x2efdf8['model'],qs[_0x8b4d('0x3b')](_0x14b62a[_0x8b4d('0x36')][_0x8b4d('0x3b')]));_0x364192[_0x8b4d('0x39')]=_0x364192[_0x8b4d('0x39')]['length']?_0x364192['attributes']:_0x2efdf8[_0x8b4d('0x38')];if(!_0x14b62a[_0x8b4d('0x36')]['hasOwnProperty'](_0x8b4d('0x3c'))){_0x364192[_0x8b4d('0x23')]=qs[_0x8b4d('0x23')](_0x14b62a['query'][_0x8b4d('0x23')]);_0x364192[_0x8b4d('0x21')]=qs['offset'](_0x14b62a[_0x8b4d('0x36')][_0x8b4d('0x21')]);}_0x364192[_0x8b4d('0x3d')]=qs['sort'](_0x14b62a[_0x8b4d('0x36')][_0x8b4d('0x3e')]);_0x364192[_0x8b4d('0x3f')]=qs[_0x8b4d('0x37')](_[_0x8b4d('0x40')](_0x14b62a[_0x8b4d('0x36')],_0x2efdf8[_0x8b4d('0x37')]),_0x4b19f1);if(_0x14b62a[_0x8b4d('0x36')][_0x8b4d('0x41')]){_0x364192['where']=_[_0x8b4d('0x42')](_0x364192['where'],{'$or':_['map'](_0x4b19f1,function(_0x514869){if(_0x514869[_0x8b4d('0x43')]!==_0x8b4d('0x44')){var _0x2111aa={};_0x2111aa[_0x514869[_0x8b4d('0x2f')]]={'$like':'%'+_0x14b62a[_0x8b4d('0x36')][_0x8b4d('0x41')]+'%'};return _0x2111aa;}})});}_0x364192=_[_0x8b4d('0x42')]({},_0x364192,_0x14b62a['options']);var _0x4c5d3e={'where':_0x364192[_0x8b4d('0x3f')]};return db[_0x8b4d('0x32')][_0x8b4d('0x24')](_0x4c5d3e)['then'](function(_0x3287e2){_0xe67290['count']=_0x3287e2;if(_0x14b62a['query']['includeAll']){_0x364192[_0x8b4d('0x45')]=[{'all':!![]}];}return db[_0x8b4d('0x32')][_0x8b4d('0x46')](_0x364192);})[_0x8b4d('0x29')](function(_0x3485e1){_0xe67290[_0x8b4d('0x47')]=_0x3485e1;return _0xe67290;})[_0x8b4d('0x29')](respondWithFilteredResult(_0x3514c0,_0x364192))[_0x8b4d('0x48')](handleError(_0x3514c0,null));};exports[_0x8b4d('0x49')]=function(_0x54236f,_0x5415c2){var _0x5b7723={'raw':![],'where':{'id':_0x54236f[_0x8b4d('0x4a')]['id']}},_0x3b7926={};_0x3b7926[_0x8b4d('0x38')]=_[_0x8b4d('0x35')](db['CmList'][_0x8b4d('0x33')]);_0x3b7926[_0x8b4d('0x36')]=_['keys'](_0x54236f[_0x8b4d('0x36')]);_0x3b7926[_0x8b4d('0x37')]=_[_0x8b4d('0x3a')](_0x3b7926[_0x8b4d('0x38')],_0x3b7926[_0x8b4d('0x36')]);_0x5b7723[_0x8b4d('0x39')]=_['intersection'](_0x3b7926[_0x8b4d('0x38')],qs[_0x8b4d('0x3b')](_0x54236f[_0x8b4d('0x36')]['fields']));_0x5b7723['attributes']=_0x5b7723['attributes']['length']?_0x5b7723[_0x8b4d('0x39')]:_0x3b7926[_0x8b4d('0x38')];if(_0x54236f[_0x8b4d('0x36')][_0x8b4d('0x4b')]){_0x5b7723[_0x8b4d('0x45')]=[{'all':!![]}];}_0x5b7723=_['merge']({},_0x5b7723,_0x54236f[_0x8b4d('0x4c')]);return db[_0x8b4d('0x32')][_0x8b4d('0x4d')](_0x5b7723)[_0x8b4d('0x29')](handleEntityNotFound(_0x5415c2,null))['then'](respondWithResult(_0x5415c2,null))[_0x8b4d('0x48')](handleError(_0x5415c2,null));};exports[_0x8b4d('0x4e')]=function(_0x1a6136,_0x1d983c){return db[_0x8b4d('0x32')]['create'](_0x1a6136[_0x8b4d('0x4f')],{})['then'](function(_0x1f1839){var _0x5d0cf0=_0x1a6136[_0x8b4d('0x50')]['get']({'plain':!![]});if(!_0x5d0cf0)throw new Error(_0x8b4d('0x51'));if(_0x5d0cf0[_0x8b4d('0x52')]===_0x8b4d('0x50')){var _0x4541c6=_0x1f1839[_0x8b4d('0x2a')]({'plain':!![]});var _0x30ec56=_0x8b4d('0x53');return db[_0x8b4d('0x54')][_0x8b4d('0x4d')]({'where':{'name':_0x30ec56,'userProfileId':_0x5d0cf0[_0x8b4d('0x55')]},'raw':!![]})['then'](function(_0x12ab1f){if(_0x12ab1f&&_0x12ab1f[_0x8b4d('0x56')]===0x0){return db['UserProfileResource'][_0x8b4d('0x4e')]({'name':_0x4541c6[_0x8b4d('0x2f')],'resourceId':_0x4541c6['id'],'type':_0x12ab1f[_0x8b4d('0x2f')],'sectionId':_0x12ab1f['id']},{})['then'](function(){return _0x1f1839;});}else{return _0x1f1839;}})[_0x8b4d('0x48')](function(_0x5e70c1){logger[_0x8b4d('0x2d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5e70c1);throw _0x5e70c1;});}return _0x1f1839;})[_0x8b4d('0x29')](respondWithResult(_0x1d983c,0xc9))[_0x8b4d('0x48')](handleError(_0x1d983c,null));};exports[_0x8b4d('0x28')]=function(_0x407226,_0xcc393a){if(_0x407226[_0x8b4d('0x4f')]['id']){delete _0x407226['body']['id'];}return db[_0x8b4d('0x32')][_0x8b4d('0x4d')]({'where':{'id':_0x407226[_0x8b4d('0x4a')]['id']}})['then'](handleEntityNotFound(_0xcc393a,null))[_0x8b4d('0x29')](saveUpdates(_0x407226[_0x8b4d('0x4f')],null))[_0x8b4d('0x29')](respondWithResult(_0xcc393a,null))[_0x8b4d('0x48')](handleError(_0xcc393a,null));};exports[_0x8b4d('0x2c')]=function(_0x434ed3,_0xeca656){return db[_0x8b4d('0x32')]['find']({'where':{'id':_0x434ed3[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0xeca656,null))[_0x8b4d('0x29')](removeEntity(_0xeca656,null))[_0x8b4d('0x48')](handleError(_0xeca656,null));};exports[_0x8b4d('0x57')]=function(_0x2d94cf,_0x1bdc4d){return db[_0x8b4d('0x32')]['describe']()[_0x8b4d('0x29')](respondWithResult(_0x1bdc4d,null))[_0x8b4d('0x48')](handleError(_0x1bdc4d,null));};exports[_0x8b4d('0x58')]=function(_0x350061,_0x42262b,_0x3171aa){if(_0x350061[_0x8b4d('0x4f')]['id']){delete _0x350061[_0x8b4d('0x4f')]['id'];}return db[_0x8b4d('0x32')]['find']({'where':{'id':_0x350061[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x42262b,null))[_0x8b4d('0x29')](function(_0x192127){if(_0x192127){_0x350061[_0x8b4d('0x4f')][_0x8b4d('0x59')]=_0x192127['id'];return db[_0x8b4d('0x5a')][_0x8b4d('0x4e')](_0x350061[_0x8b4d('0x4f')]);}})[_0x8b4d('0x29')](respondWithResult(_0x42262b,null))[_0x8b4d('0x48')](handleError(_0x42262b,null));};exports[_0x8b4d('0x5b')]=function(_0x29c249,_0x469064,_0xb34cee){var _0x192389={'raw':![],'where':{}};var _0x4da53a={};var _0x3b5f58={'count':0x0,'rows':[]};return db[_0x8b4d('0x32')][_0x8b4d('0x5c')]({'where':{'id':_0x29c249[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x469064,null))[_0x8b4d('0x29')](function(_0x567e9c){if(_0x567e9c){_0x4da53a[_0x8b4d('0x38')]=_[_0x8b4d('0x35')](db[_0x8b4d('0x5a')][_0x8b4d('0x33')]);_0x4da53a['query']=_[_0x8b4d('0x35')](_0x29c249['query']);_0x4da53a[_0x8b4d('0x37')]=_[_0x8b4d('0x3a')](_0x4da53a['model'],_0x4da53a[_0x8b4d('0x36')]);_0x192389[_0x8b4d('0x39')]=_[_0x8b4d('0x3a')](_0x4da53a['model'],qs['fields'](_0x29c249[_0x8b4d('0x36')][_0x8b4d('0x3b')]));_0x192389[_0x8b4d('0x39')]=_0x192389['attributes'][_0x8b4d('0x5d')]?_0x192389[_0x8b4d('0x39')]:_0x4da53a[_0x8b4d('0x38')];if(!_0x29c249[_0x8b4d('0x36')]['hasOwnProperty'](_0x8b4d('0x3c'))){_0x192389['limit']=qs[_0x8b4d('0x23')](_0x29c249[_0x8b4d('0x36')][_0x8b4d('0x23')]);_0x192389['offset']=qs[_0x8b4d('0x21')](_0x29c249[_0x8b4d('0x36')]['offset']);}_0x192389[_0x8b4d('0x3d')]=qs[_0x8b4d('0x3e')](_0x29c249[_0x8b4d('0x36')][_0x8b4d('0x3e')]);_0x192389[_0x8b4d('0x3f')]=qs['filters'](_['pick'](_0x29c249['query'],_0x4da53a['filters']));_0x192389[_0x8b4d('0x3f')]['ListId']=_0x567e9c['id'];if(_0x29c249['query']['filter']){_0x192389[_0x8b4d('0x3f')]=_[_0x8b4d('0x42')](_0x192389[_0x8b4d('0x3f')],{'$or':_[_0x8b4d('0x31')](_0x192389[_0x8b4d('0x39')],function(_0x3accda){var _0x5b9284={};_0x5b9284[_0x3accda]={'$like':'%'+_0x29c249[_0x8b4d('0x36')][_0x8b4d('0x41')]+'%'};return _0x5b9284;})});}_0x192389=_[_0x8b4d('0x42')]({},_0x192389,_0x29c249[_0x8b4d('0x4c')]);return db[_0x8b4d('0x5a')]['count']({'where':_0x192389[_0x8b4d('0x3f')]})[_0x8b4d('0x29')](function(_0x4e8d95){_0x3b5f58[_0x8b4d('0x24')]=_0x4e8d95;if(_0x29c249['query'][_0x8b4d('0x4b')]){_0x192389[_0x8b4d('0x45')]=[{'all':!![]}];}return db[_0x8b4d('0x5a')][_0x8b4d('0x46')](_0x192389);})[_0x8b4d('0x29')](function(_0x58856f){_0x3b5f58[_0x8b4d('0x47')]=_0x58856f;return _0x3b5f58;});}})[_0x8b4d('0x29')](respondWithFilteredResult(_0x469064,_0x192389))[_0x8b4d('0x48')](handleError(_0x469064,null));};exports[_0x8b4d('0x5e')]=function(_0x3aed15,_0x5e1bd1,_0x3a7170){return db[_0x8b4d('0x32')][_0x8b4d('0x4d')]({'where':{'id':_0x3aed15[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x5e1bd1,null))[_0x8b4d('0x29')](function(_0x334cf9){if(_0x334cf9){return _0x334cf9[_0x8b4d('0x5e')](_0x3aed15[_0x8b4d('0x36')][_0x8b4d('0x5f')]);}})[_0x8b4d('0x29')](respondWithStatusCode(_0x5e1bd1,null))[_0x8b4d('0x48')](handleError(_0x5e1bd1,null));};exports[_0x8b4d('0x60')]=function(_0x3e5b2e,_0x3ad91c,_0x32e491){return db['CmList']['find']({'where':{'id':_0x3e5b2e['params']['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x3ad91c,null))[_0x8b4d('0x29')](function(_0x366a15){if(_0x366a15){var _0x1fba27=[];var _0x2695a6={'success':[],'errors':[]};return db['CmContact'][_0x8b4d('0x57')]()[_0x8b4d('0x29')](function(_0x1d366d){if(_0x3e5b2e[_0x8b4d('0x4f')][_0x8b4d('0x61')]&&_[_0x8b4d('0x62')](_0x3e5b2e[_0x8b4d('0x4f')]['tags'])){if(_0x3e5b2e[_0x8b4d('0x4f')]['tags'][_0x8b4d('0x5d')]){_0x3e5b2e[_0x8b4d('0x4f')][_0x8b4d('0x61')]=_0x3e5b2e[_0x8b4d('0x4f')][_0x8b4d('0x61')][_0x8b4d('0x63')](';')+';';}else{_0x3e5b2e[_0x8b4d('0x4f')]['tags']=null;}}else{_0x3e5b2e[_0x8b4d('0x4f')]['tags']=null;}if(_0x3e5b2e[_0x8b4d('0x4f')]&&_[_0x8b4d('0x62')](_0x3e5b2e['body'])){for(var _0x37ab88=0x0;_0x37ab88<_0x3e5b2e[_0x8b4d('0x4f')][_0x8b4d('0x5d')];_0x37ab88+=0x1){_0x3e5b2e[_0x8b4d('0x4f')][_0x37ab88][_0x8b4d('0x59')]=_0x3e5b2e['params']['id'];_0x1fba27[_0x8b4d('0x64')](_0x3e5b2e[_0x8b4d('0x4f')][_0x37ab88]);}return BPromise[_0x8b4d('0x65')](_0x1fba27,function(_0x59700b){return db['CmContact'][_0x8b4d('0x4e')](_[_0x8b4d('0x66')](_0x59700b,['ids','id'])||{},{'fields':_[_0x8b4d('0x35')](_0x1d366d),'raw':!![]})['then'](function(_0x2ff039){_0x2695a6[_0x8b4d('0x67')][_0x8b4d('0x64')](_0x2ff039[_0x8b4d('0x68')]);})['catch'](function(_0x44a057){_0x2695a6[_0x8b4d('0x69')][_0x8b4d('0x64')]({'data':_0x59700b,'error':_0x44a057[_0x8b4d('0x6a')]});});})[_0x8b4d('0x29')](function(_0x3e74f8){return _0x2695a6;})[_0x8b4d('0x48')](function(_0x2214bd){return _0x2214bd;});}else{_0x3ad91c[_0x8b4d('0x20')](0x190)[_0x8b4d('0x26')]({'message':_0x8b4d('0x6b')});}});}})[_0x8b4d('0x29')](respondWithResult(_0x3ad91c,null))[_0x8b4d('0x48')](handleError(_0x3ad91c,null));};exports[_0x8b4d('0x6c')]=function(_0x763717,_0x5de03b,_0x48ef6e){var _0x4f978c;return db[_0x8b4d('0x32')][_0x8b4d('0x4d')]({'where':{'id':_0x763717[_0x8b4d('0x4a')]['id']},'include':[{'model':db[_0x8b4d('0x6d')],'as':_0x8b4d('0x6e')}]})[_0x8b4d('0x29')](handleEntityNotFound(_0x5de03b,null))[_0x8b4d('0x29')](function(_0x5516a7){if(_0x5516a7){_0x4f978c=_0x5516a7;return db[_0x8b4d('0x6f')]['rawAttributes'];}})[_0x8b4d('0x29')](function(_0xe3f59){if(_0xe3f59){var _0x4b3d5e={};var _0x16ce07={};_0x16ce07[_0x8b4d('0x38')]=_[_0x8b4d('0x70')](_[_0x8b4d('0x35')](_0xe3f59),_['map'](_0x4f978c[_0x8b4d('0x6e')],function(_0x1c0f13){return util[_0x8b4d('0x71')](_0x8b4d('0x72'),_0x1c0f13['id']);}));_0x16ce07[_0x8b4d('0x36')]=_[_0x8b4d('0x35')](_0x763717[_0x8b4d('0x36')]);_0x16ce07[_0x8b4d('0x37')]=_[_0x8b4d('0x3a')](_0x16ce07['model'],_0x16ce07[_0x8b4d('0x36')]);_0x4b3d5e[_0x8b4d('0x39')]=_[_0x8b4d('0x3a')](_0x16ce07[_0x8b4d('0x38')],qs[_0x8b4d('0x3b')](_0x763717[_0x8b4d('0x36')][_0x8b4d('0x3b')]));_0x4b3d5e[_0x8b4d('0x39')]=_0x4b3d5e[_0x8b4d('0x39')][_0x8b4d('0x5d')]?_0x4b3d5e['attributes']:_0x16ce07[_0x8b4d('0x38')];if(!_0x763717['query'][_0x8b4d('0x73')](_0x8b4d('0x3c'))){_0x4b3d5e[_0x8b4d('0x23')]=qs[_0x8b4d('0x23')](_0x763717[_0x8b4d('0x36')]['limit']);_0x4b3d5e[_0x8b4d('0x21')]=qs[_0x8b4d('0x21')](_0x763717[_0x8b4d('0x36')][_0x8b4d('0x21')]);}_0x4b3d5e['order']=qs[_0x8b4d('0x3e')](_0x763717[_0x8b4d('0x36')][_0x8b4d('0x3e')]);_0x4b3d5e[_0x8b4d('0x3f')]=qs[_0x8b4d('0x37')](_[_0x8b4d('0x40')](_0x763717[_0x8b4d('0x36')],_0x16ce07['filters']));_0x4b3d5e[_0x8b4d('0x74')]=!![];if(_0x763717[_0x8b4d('0x36')][_0x8b4d('0x41')]){_0x4b3d5e[_0x8b4d('0x3f')]=_[_0x8b4d('0x42')](_0x4b3d5e[_0x8b4d('0x3f')],{'$or':_['map'](_0x4b3d5e[_0x8b4d('0x39')],function(_0x2b04eb){var _0x40e86e={};_0x40e86e[_0x2b04eb]={'$like':'%'+_0x763717[_0x8b4d('0x36')][_0x8b4d('0x41')]+'%'};return _0x40e86e;})});}_0x4b3d5e=_[_0x8b4d('0x42')]({},_0x4b3d5e,_0x763717[_0x8b4d('0x4c')]);return _0x4f978c[_0x8b4d('0x6c')](_0x4b3d5e);}})[_0x8b4d('0x29')](respondWithResult(_0x5de03b,null))[_0x8b4d('0x48')](handleError(_0x5de03b,null));};exports[_0x8b4d('0x75')]=function(_0x133c0e,_0x5a42d8,_0x169d47){var _0x4442d5;var _0x10e697;var _0x427e56;var _0x2cf94d=_0x133c0e[_0x8b4d('0x4a')]['id'];csv_results=[];return db['ContactItemType'][_0x8b4d('0x46')]({'attributes':['id','name'],'raw':!![],'order':[_0x8b4d('0x76')]})[_0x8b4d('0x29')](function(_0x275d08){_0x4442d5=_0x275d08;var _0x536a4f=_[_0x8b4d('0x35')](db[_0x8b4d('0x6f')][_0x8b4d('0x33')]);return db[_0x8b4d('0x6d')][_0x8b4d('0x46')]({'raw':!![],'attributes':['id',_0x8b4d('0x77')]})[_0x8b4d('0x29')](function(_0x248f9a){_0x10e697=_0x248f9a;var _0x2e2ec9=squel[_0x8b4d('0x78')]()[_0x8b4d('0x3b')](_0x536a4f)[_0x8b4d('0x79')](_0x8b4d('0x7a'),'c')[_0x8b4d('0x3f')]('c.ListId\x20=\x20?',_0x2cf94d)[_0x8b4d('0x3f')](_0x8b4d('0x7b'))['distinct']();for(var _0x164ff1=0x0;_0x164ff1<_0x10e697['length'];_0x164ff1++){_0x2e2ec9[_0x8b4d('0x7c')]('c.cf_'+_0x10e697[_0x164ff1]['id'],'customField_'+_0x10e697[_0x164ff1][_0x8b4d('0x77')]);}for(var _0x164ff1=0x0;_0x164ff1<_0x4442d5[_0x8b4d('0x5d')];_0x164ff1++){_0x2e2ec9[_0x8b4d('0x7c')](squel[_0x8b4d('0x78')]()[_0x8b4d('0x7c')](_0x8b4d('0x7d'))[_0x8b4d('0x79')](_0x8b4d('0x7e'))[_0x8b4d('0x3f')](_0x8b4d('0x7f'),_0x4442d5[_0x164ff1]['id'])[_0x8b4d('0x3f')]('CmContactId\x20=\x20c.id'),'additionalPhone_'+_0x4442d5[_0x164ff1]['name']);_0x2e2ec9['field'](squel['select']()[_0x8b4d('0x7c')]('description')[_0x8b4d('0x79')]('cm_contact_has_items')['where'](_0x8b4d('0x7f'),_0x4442d5[_0x164ff1]['id'])[_0x8b4d('0x3f')]('CmContactId\x20=\x20c.id'),_0x8b4d('0x80')+_0x4442d5[_0x164ff1][_0x8b4d('0x2f')]);}var _0x510b13=[];_0x510b13[_0x8b4d('0x64')](_0x2e2ec9[_0x8b4d('0x81')]());BPromise[_0x8b4d('0x65')](_0x510b13,handleQuery)[_0x8b4d('0x29')](function(_0x26a765){handleQuery(_0x2e2ec9[_0x8b4d('0x81')]());var _0x71ddeb=csv_results[0x0];if(!_['isEmpty'](_0x71ddeb)){var _0x4e31fe=toCsv(_0x71ddeb);var _0x2445aa=Date[_0x8b4d('0x82')]();fs[_0x8b4d('0x83')](util['format'](_0x8b4d('0x84'),_0x2cf94d,_0x2445aa),_0x4e31fe);_0x5a42d8['setHeader'](_0x8b4d('0x85'),_0x8b4d('0x86')+util[_0x8b4d('0x71')]('list_%d_%s.csv',_0x2cf94d,_0x2445aa));_0x5a42d8[_0x8b4d('0x87')](_0x8b4d('0x88'),'text/csv');return _0x5a42d8['download'](util[_0x8b4d('0x71')](_0x8b4d('0x84'),_0x2cf94d,_0x2445aa));}else{return _0x5a42d8[_0x8b4d('0x1e')](0xcc);}});});});};exports['addCustomField']=function(_0x1e83d4,_0x10725f,_0x15ae51){var _0x5ba1cd;delete _0x1e83d4[_0x8b4d('0x4f')]['id'];return db[_0x8b4d('0x32')][_0x8b4d('0x5c')]({'where':{'id':_0x1e83d4['params']['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x10725f,null))[_0x8b4d('0x29')](function(_0xdd612b){if(_0xdd612b){return db[_0x8b4d('0x89')]['transaction'](function(_0x518660){return db['CmCustomField'][_0x8b4d('0x4e')](_0x1e83d4[_0x8b4d('0x4f')],{'transaction':_0x518660})[_0x8b4d('0x29')](function(_0x36d1cb){_0x5ba1cd=_0x36d1cb;return _0xdd612b[_0x8b4d('0x8a')](_0x36d1cb,{'transaction':_0x518660});})['then'](function(){var _0x189c97={'type':db['Sequelize'][_0x8b4d('0x8b')],'transaction':_0x518660};switch(_0x1e83d4['body']['type']){case'text':_0x189c97[_0x8b4d('0x43')]=db[_0x8b4d('0x8c')]['TEXT'];break;case _0x8b4d('0x8d'):_0x189c97[_0x8b4d('0x43')]=db['Sequelize'][_0x8b4d('0x8e')];break;case'switch':_0x189c97[_0x8b4d('0x43')]=db[_0x8b4d('0x8c')][_0x8b4d('0x8f')];_0x189c97[_0x8b4d('0x90')]=![];break;default:}return db[_0x8b4d('0x89')]['queryInterface']['addColumn']('cm_contacts',util[_0x8b4d('0x71')](_0x8b4d('0x91'),_0x5ba1cd['id']),_0x189c97);})['then'](function(){return _0x5ba1cd;});});}})[_0x8b4d('0x29')](respondWithResult(_0x10725f,null))[_0x8b4d('0x48')](handleError(_0x10725f,null));};exports[_0x8b4d('0x92')]=function(_0x656b2e,_0x189feb,_0x6e479a){var _0x49e520={};var _0x29d5c3={};var _0x32164f;var _0x4aaaf7;return db[_0x8b4d('0x32')][_0x8b4d('0x5c')]({'where':{'id':_0x656b2e[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x189feb,null))[_0x8b4d('0x29')](function(_0x3df9e4){if(_0x3df9e4){_0x32164f=_0x3df9e4;_0x29d5c3[_0x8b4d('0x38')]=_[_0x8b4d('0x35')](db[_0x8b4d('0x6d')]['rawAttributes']);_0x29d5c3[_0x8b4d('0x36')]=_[_0x8b4d('0x35')](_0x656b2e['query']);_0x29d5c3[_0x8b4d('0x37')]=_[_0x8b4d('0x3a')](_0x29d5c3[_0x8b4d('0x38')],_0x29d5c3['query']);_0x49e520['attributes']=_[_0x8b4d('0x3a')](_0x29d5c3[_0x8b4d('0x38')],qs[_0x8b4d('0x3b')](_0x656b2e[_0x8b4d('0x36')][_0x8b4d('0x3b')]));_0x49e520['attributes']=_0x49e520[_0x8b4d('0x39')][_0x8b4d('0x5d')]?_0x49e520[_0x8b4d('0x39')]:_0x29d5c3[_0x8b4d('0x38')];_0x49e520[_0x8b4d('0x3d')]=qs[_0x8b4d('0x3e')](_0x656b2e[_0x8b4d('0x36')][_0x8b4d('0x3e')]);_0x49e520[_0x8b4d('0x3f')]=qs[_0x8b4d('0x37')](_[_0x8b4d('0x40')](_0x656b2e[_0x8b4d('0x36')],_0x29d5c3[_0x8b4d('0x37')]));_0x49e520[_0x8b4d('0x3f')]=_[_0x8b4d('0x42')](_0x49e520[_0x8b4d('0x3f')],{'$or':[{'ListId':_0x3df9e4['id']},{'ListId':null}]});if(_0x656b2e[_0x8b4d('0x36')]['filter']){_0x49e520['where']=_[_0x8b4d('0x42')](_0x49e520[_0x8b4d('0x3f')],{'$or':_[_0x8b4d('0x31')](_0x49e520[_0x8b4d('0x39')],function(_0x4da1cf){var _0x1e864f={};_0x1e864f[_0x4da1cf]={'$like':'%'+_0x656b2e[_0x8b4d('0x36')][_0x8b4d('0x41')]+'%'};return _0x1e864f;})});}_0x49e520=_[_0x8b4d('0x42')]({},_0x49e520,_0x656b2e[_0x8b4d('0x4c')]);return db[_0x8b4d('0x6d')][_0x8b4d('0x93')](_0x49e520);}})['then'](respondWithResult(_0x189feb,null))[_0x8b4d('0x48')](handleError(_0x189feb,null));};exports[_0x8b4d('0x94')]=function(_0x205a6e,_0x1d5b66){return db[_0x8b4d('0x6d')][_0x8b4d('0x93')]({'where':{'ListId':null}})[_0x8b4d('0x29')](handleEntityNotFound(_0x1d5b66,null))[_0x8b4d('0x29')](function(_0x40450f){return _0x40450f;})[_0x8b4d('0x29')](respondWithResult(_0x1d5b66,null))[_0x8b4d('0x48')](handleError(_0x1d5b66,null));};exports[_0x8b4d('0x95')]=function(_0x4e1f2e,_0x4bb8b9,_0x3d4e0c){return db[_0x8b4d('0x32')][_0x8b4d('0x4d')]({'where':{'id':_0x4e1f2e['params']['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x4bb8b9,null))[_0x8b4d('0x29')](function(_0x42c0eb){if(_0x42c0eb){return _0x42c0eb[_0x8b4d('0x95')](_0x4e1f2e[_0x8b4d('0x4f')][_0x8b4d('0x5f')],_[_0x8b4d('0x66')](_0x4e1f2e[_0x8b4d('0x4f')],[_0x8b4d('0x5f'),'id'])||{})[_0x8b4d('0x96')](function(_0x3fed4d){for(var _0x4d9dd8=0x0;_0x4d9dd8<_0x4e1f2e[_0x8b4d('0x4f')][_0x8b4d('0x5f')][_0x8b4d('0x5d')];_0x4d9dd8+=0x1){socket['emit'](_0x8b4d('0x97'),{'UserId':Number(_0x4e1f2e[_0x8b4d('0x4f')][_0x8b4d('0x5f')][_0x4d9dd8]),'CmListId':Number(_0x4e1f2e[_0x8b4d('0x4a')]['id'])});}return _0x3fed4d;});}})['then'](respondWithResult(_0x4bb8b9,null))[_0x8b4d('0x48')](handleError(_0x4bb8b9,null));};exports['removeAgents']=function(_0x547ab2,_0xe3274,_0x252b1b){return db[_0x8b4d('0x32')]['find']({'where':{'id':_0x547ab2[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0xe3274,null))[_0x8b4d('0x29')](function(_0x5d6056){if(_0x5d6056){return _0x5d6056[_0x8b4d('0x98')](_0x547ab2[_0x8b4d('0x36')][_0x8b4d('0x5f')])[_0x8b4d('0x29')](function(){if(_[_0x8b4d('0x62')](_0x547ab2[_0x8b4d('0x36')][_0x8b4d('0x5f')])){for(var _0x565683=0x0;_0x565683<_0x547ab2['query'][_0x8b4d('0x5f')][_0x8b4d('0x5d')];_0x565683+=0x1){socket[_0x8b4d('0x99')](_0x8b4d('0x9a'),{'UserId':Number(_0x547ab2['query'][_0x8b4d('0x5f')][_0x565683]),'CmListId':Number(_0x547ab2['params']['id'])});}}else{socket[_0x8b4d('0x99')](_0x8b4d('0x9a'),{'UserId':Number(_0x547ab2[_0x8b4d('0x36')][_0x8b4d('0x5f')]),'CmListId':Number(_0x547ab2[_0x8b4d('0x4a')]['id'])});}});}})[_0x8b4d('0x29')](respondWithStatusCode(_0xe3274,null))[_0x8b4d('0x48')](handleError(_0xe3274,null));};exports[_0x8b4d('0x9b')]=function(_0x182325,_0x36fdba,_0x4ea15d){var _0x9047e3={};var _0x23ab7d={};var _0x110087;var _0x3216db;return db[_0x8b4d('0x32')][_0x8b4d('0x5c')]({'where':{'id':_0x182325[_0x8b4d('0x4a')]['id']}})[_0x8b4d('0x29')](handleEntityNotFound(_0x36fdba,null))['then'](function(_0x24ea98){if(_0x24ea98){_0x110087=_0x24ea98;_0x23ab7d[_0x8b4d('0x38')]=_[_0x8b4d('0x35')](db[_0x8b4d('0x9c')][_0x8b4d('0x33')]);_0x23ab7d['query']=_[_0x8b4d('0x35')](_0x182325[_0x8b4d('0x36')]);_0x23ab7d[_0x8b4d('0x37')]=_[_0x8b4d('0x3a')](_0x23ab7d['model'],_0x23ab7d[_0x8b4d('0x36')]);_0x9047e3['attributes']=_[_0x8b4d('0x3a')](_0x23ab7d[_0x8b4d('0x38')],qs['fields'](_0x182325[_0x8b4d('0x36')]['fields']));_0x9047e3['attributes']=_0x9047e3[_0x8b4d('0x39')][_0x8b4d('0x5d')]?_0x9047e3[_0x8b4d('0x39')]:_0x23ab7d[_0x8b4d('0x38')];_0x9047e3[_0x8b4d('0x3d')]=qs[_0x8b4d('0x3e')](_0x182325[_0x8b4d('0x36')][_0x8b4d('0x3e')]);_0x9047e3[_0x8b4d('0x3f')]=qs['filters'](_['pick'](_0x182325[_0x8b4d('0x36')],_0x23ab7d[_0x8b4d('0x37')]));if(_0x182325[_0x8b4d('0x36')][_0x8b4d('0x41')]){_0x9047e3['where']=_[_0x8b4d('0x42')](_0x9047e3[_0x8b4d('0x3f')],{'$or':_[_0x8b4d('0x31')](_0x9047e3[_0x8b4d('0x39')],function(_0x5067b8){var _0x38361b={};_0x38361b[_0x5067b8]={'$like':'%'+_0x182325[_0x8b4d('0x36')][_0x8b4d('0x41')]+'%'};return _0x38361b;})});}_0x9047e3=_[_0x8b4d('0x42')]({},_0x9047e3,_0x182325['options']);return _0x110087['getAgents'](_0x9047e3);}})['then'](function(_0x5181e9){if(_0x5181e9){_0x3216db=_0x5181e9[_0x8b4d('0x5d')];if(!_0x182325['query'][_0x8b4d('0x73')]('nolimit')){_0x9047e3[_0x8b4d('0x23')]=qs[_0x8b4d('0x23')](_0x182325[_0x8b4d('0x36')][_0x8b4d('0x23')]);_0x9047e3[_0x8b4d('0x21')]=qs['offset'](_0x182325[_0x8b4d('0x36')]['offset']);}return _0x110087['getAgents'](_0x9047e3);}})[_0x8b4d('0x29')](function(_0x2ca1ec){if(_0x2ca1ec){return _0x2ca1ec?{'count':_0x3216db,'rows':_0x2ca1ec}:null;}})[_0x8b4d('0x29')](respondWithResult(_0x36fdba,null))[_0x8b4d('0x48')](handleError(_0x36fdba,null));};function handleQuery(_0x56c68f){logger[_0x8b4d('0x9d')](_0x56c68f);return db[_0x8b4d('0x89')][_0x8b4d('0x36')](_0x56c68f)['spread'](function(_0x480a68){csv_results[_0x8b4d('0x64')](_0x480a68);})[_0x8b4d('0x48')](function(_0x4050ee){logger['error'](_0x4050ee['message']);});}