5340b870c4055dbb033a76594010c6c9f25d04a2
[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 _0x40df=['save','update','then','get','Lists','UserProfileResource','destroy','error','stack','name','index','map','CmList','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','keys','options','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addDisposition','getDispositions','Disposition','nolimit','ListId','removeDispositions','ids','addContacts','CmContact','tags','join','isArray','each','omit','success','push','dataValues','message','json','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','format','cf_%d','raw','getContactsCsv','ContactItemType','OrderBy','select','from','cm_contacts','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','c.cf_','alias','item','cm_contact_has_items','ItemTypeId\x20=\x20?','additionalPhone_','field','description','CmContactId\x20=\x20c.id','toString','isEmpty','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Content-type','text/csv','download','addCustomField','transaction','Sequelize','TEXT','text','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cf_%s','findOne','findAndCountAll','getGlobalCustomFields','addAgents','emit','removeAgents','userCmList:remove','getAgents','User','info','spread','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','socket.io-emitter','./cmList.socket','sendStatus','status','undefined','limit','count','offset','set','Content-Range','apply'];(function(_0x5be8d1,_0x251634){var _0xc65963=function(_0x560d53){while(--_0x560d53){_0x5be8d1['push'](_0x5be8d1['shift']());}};_0xc65963(++_0x251634);}(_0x40df,0x1c9));var _0xf40d=function(_0x32efc5,_0x1796c7){_0x32efc5=_0x32efc5-0x0;var _0xa65dab=_0x40df[_0x32efc5];return _0xa65dab;};'use strict';var emlformat=require(_0xf40d('0x0'));var rimraf=require(_0xf40d('0x1'));var zipdir=require(_0xf40d('0x2'));var jsonpatch=require(_0xf40d('0x3'));var rp=require(_0xf40d('0x4'));var moment=require(_0xf40d('0x5'));var BPromise=require(_0xf40d('0x6'));var Mustache=require(_0xf40d('0x7'));var util=require(_0xf40d('0x8'));var path=require(_0xf40d('0x9'));var sox=require(_0xf40d('0xa'));var csv=require(_0xf40d('0xb'));var ejs=require(_0xf40d('0xc'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf40d('0xd'));var squel=require(_0xf40d('0xe'));var crypto=require(_0xf40d('0xf'));var jsforce=require('jsforce');var deskjs=require(_0xf40d('0x10'));var toCsv=require(_0xf40d('0xb'));var querystring=require(_0xf40d('0x11'));var Papa=require('papaparse');var Redis=require(_0xf40d('0x12'));var authService=require(_0xf40d('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf40d('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0xf40d('0x15'));var config=require(_0xf40d('0x16'));var licenseUtil=require(_0xf40d('0x17'));var db=require(_0xf40d('0x18'))['db'];var csv_results;config['redis']=_[_0xf40d('0x19')](config[_0xf40d('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0xf40d('0x1b'))(new Redis(config[_0xf40d('0x1a')]));require(_0xf40d('0x1c'))['register'](socket);function respondWithStatusCode(_0x554a50,_0xf8f6f4){_0xf8f6f4=_0xf8f6f4||0xcc;return function(_0x1a8f12){if(_0x1a8f12){return _0x554a50[_0xf40d('0x1d')](_0xf8f6f4);}return _0x554a50['status'](_0xf8f6f4)['end']();};}function respondWithResult(_0x33774b,_0x1e2f50){_0x1e2f50=_0x1e2f50||0xc8;return function(_0x41b64d){if(_0x41b64d){return _0x33774b[_0xf40d('0x1e')](_0x1e2f50)['json'](_0x41b64d);}};}function respondWithFilteredResult(_0x248486,_0xfdbb3d){return function(_0x526226){if(_0x526226){var _0xb4df18=typeof _0xfdbb3d['offset']===_0xf40d('0x1f')&&typeof _0xfdbb3d[_0xf40d('0x20')]===_0xf40d('0x1f');var _0x4abbba=_0x526226[_0xf40d('0x21')];var _0x4e22e6=_0xb4df18?0x0:_0xfdbb3d[_0xf40d('0x22')];var _0x169e99=_0xb4df18?_0x526226[_0xf40d('0x21')]:_0xfdbb3d['offset']+_0xfdbb3d[_0xf40d('0x20')];var _0x6f7ed9;if(_0x169e99>=_0x4abbba){_0x169e99=_0x4abbba;_0x6f7ed9=0xc8;}else{_0x6f7ed9=0xce;}_0x248486[_0xf40d('0x1e')](_0x6f7ed9);return _0x248486[_0xf40d('0x23')](_0xf40d('0x24'),_0x4e22e6+'-'+_0x169e99+'/'+_0x4abbba)['json'](_0x526226);}return null;};}function patchUpdates(_0x269b9b){return function(_0x258296){try{jsonpatch[_0xf40d('0x25')](_0x258296,_0x269b9b,!![]);}catch(_0xda6402){return BPromise['reject'](_0xda6402);}return _0x258296[_0xf40d('0x26')]();};}function saveUpdates(_0x20dd51,_0x1daf58){return function(_0x2d1d4e){if(_0x2d1d4e){return _0x2d1d4e[_0xf40d('0x27')](_0x20dd51)[_0xf40d('0x28')](function(_0x53075c){return _0x53075c;});}return null;};}function removeEntity(_0x1d80cb,_0x1a352e){return function(_0x190430){if(_0x190430){return _0x190430['destroy']()[_0xf40d('0x28')](function(){var _0x5b437a=_0x190430[_0xf40d('0x29')]({'plain':!![]});var _0x2dbcd5=_0xf40d('0x2a');return db[_0xf40d('0x2b')][_0xf40d('0x2c')]({'where':{'type':_0x2dbcd5,'resourceId':_0x5b437a['id']}})['then'](function(){return _0x190430;});})[_0xf40d('0x28')](function(){_0x1d80cb[_0xf40d('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f4ccc,_0x709afb){return function(_0x26310c){if(!_0x26310c){_0x4f4ccc['sendStatus'](0x194);}return _0x26310c;};}function handleError(_0x567bde,_0x28b147){_0x28b147=_0x28b147||0x1f4;return function(_0x2d2df3){logger[_0xf40d('0x2d')](_0x2d2df3[_0xf40d('0x2e')]);if(_0x2d2df3[_0xf40d('0x2f')]){delete _0x2d2df3['name'];}_0x567bde['status'](_0x28b147)['send'](_0x2d2df3);};}exports[_0xf40d('0x30')]=function(_0x8fb013,_0x59af1d){var _0x31ecfc={},_0x23a147={},_0x4a1c5c={'count':0x0,'rows':[]};var _0x5ebd0f=_[_0xf40d('0x31')](db[_0xf40d('0x32')][_0xf40d('0x33')],function(_0x342a47){return{'name':_0x342a47[_0xf40d('0x34')],'type':_0x342a47[_0xf40d('0x35')][_0xf40d('0x36')]};});_0x23a147[_0xf40d('0x37')]=_[_0xf40d('0x31')](_0x5ebd0f,_0xf40d('0x2f'));_0x23a147[_0xf40d('0x38')]=_['keys'](_0x8fb013['query']);_0x23a147[_0xf40d('0x39')]=_[_0xf40d('0x3a')](_0x23a147[_0xf40d('0x37')],_0x23a147[_0xf40d('0x38')]);_0x31ecfc[_0xf40d('0x3b')]=_[_0xf40d('0x3a')](_0x23a147['model'],qs['fields'](_0x8fb013[_0xf40d('0x38')][_0xf40d('0x3c')]));_0x31ecfc[_0xf40d('0x3b')]=_0x31ecfc[_0xf40d('0x3b')][_0xf40d('0x3d')]?_0x31ecfc[_0xf40d('0x3b')]:_0x23a147[_0xf40d('0x37')];if(!_0x8fb013[_0xf40d('0x38')][_0xf40d('0x3e')]('nolimit')){_0x31ecfc[_0xf40d('0x20')]=qs[_0xf40d('0x20')](_0x8fb013[_0xf40d('0x38')][_0xf40d('0x20')]);_0x31ecfc['offset']=qs[_0xf40d('0x22')](_0x8fb013[_0xf40d('0x38')][_0xf40d('0x22')]);}_0x31ecfc[_0xf40d('0x3f')]=qs[_0xf40d('0x40')](_0x8fb013[_0xf40d('0x38')][_0xf40d('0x40')]);_0x31ecfc[_0xf40d('0x41')]=qs[_0xf40d('0x39')](_[_0xf40d('0x42')](_0x8fb013[_0xf40d('0x38')],_0x23a147[_0xf40d('0x39')]),_0x5ebd0f);if(_0x8fb013['query']['filter']){_0x31ecfc[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0x31ecfc[_0xf40d('0x41')],{'$or':_[_0xf40d('0x31')](_0x5ebd0f,function(_0x37d850){if(_0x37d850[_0xf40d('0x35')]!==_0xf40d('0x44')){var _0x5b82cf={};_0x5b82cf[_0x37d850[_0xf40d('0x2f')]]={'$like':'%'+_0x8fb013[_0xf40d('0x38')][_0xf40d('0x45')]+'%'};return _0x5b82cf;}})});}_0x31ecfc=_[_0xf40d('0x43')]({},_0x31ecfc,_0x8fb013['options']);var _0x458a5b={'where':_0x31ecfc[_0xf40d('0x41')]};return db['CmList'][_0xf40d('0x21')](_0x458a5b)[_0xf40d('0x28')](function(_0x4caa26){_0x4a1c5c[_0xf40d('0x21')]=_0x4caa26;if(_0x8fb013[_0xf40d('0x38')][_0xf40d('0x46')]){_0x31ecfc[_0xf40d('0x47')]=[{'all':!![]}];}return db[_0xf40d('0x32')][_0xf40d('0x48')](_0x31ecfc);})['then'](function(_0x3ecdd1){_0x4a1c5c[_0xf40d('0x49')]=_0x3ecdd1;return _0x4a1c5c;})[_0xf40d('0x28')](respondWithFilteredResult(_0x59af1d,_0x31ecfc))[_0xf40d('0x4a')](handleError(_0x59af1d,null));};exports[_0xf40d('0x4b')]=function(_0x6a97c0,_0x25a846){var _0x3128c1={'raw':![],'where':{'id':_0x6a97c0['params']['id']}},_0x3f8545={};_0x3f8545[_0xf40d('0x37')]=_[_0xf40d('0x4c')](db['CmList'][_0xf40d('0x33')]);_0x3f8545['query']=_[_0xf40d('0x4c')](_0x6a97c0['query']);_0x3f8545[_0xf40d('0x39')]=_['intersection'](_0x3f8545['model'],_0x3f8545['query']);_0x3128c1[_0xf40d('0x3b')]=_[_0xf40d('0x3a')](_0x3f8545[_0xf40d('0x37')],qs[_0xf40d('0x3c')](_0x6a97c0['query'][_0xf40d('0x3c')]));_0x3128c1[_0xf40d('0x3b')]=_0x3128c1[_0xf40d('0x3b')]['length']?_0x3128c1[_0xf40d('0x3b')]:_0x3f8545['model'];if(_0x6a97c0[_0xf40d('0x38')][_0xf40d('0x46')]){_0x3128c1[_0xf40d('0x47')]=[{'all':!![]}];}_0x3128c1=_['merge']({},_0x3128c1,_0x6a97c0[_0xf40d('0x4d')]);return db[_0xf40d('0x32')][_0xf40d('0x4e')](_0x3128c1)['then'](handleEntityNotFound(_0x25a846,null))[_0xf40d('0x28')](respondWithResult(_0x25a846,null))[_0xf40d('0x4a')](handleError(_0x25a846,null));};exports['create']=function(_0x1a610e,_0x1debf4){return db[_0xf40d('0x32')][_0xf40d('0x4f')](_0x1a610e[_0xf40d('0x50')],{})['then'](function(_0x1f2e55){var _0x419153=_0x1a610e['user'][_0xf40d('0x29')]({'plain':!![]});if(!_0x419153)throw new Error(_0xf40d('0x51'));if(_0x419153['role']===_0xf40d('0x52')){var _0x53b8eb=_0x1f2e55[_0xf40d('0x29')]({'plain':!![]});var _0x345873='Lists';return db['UserProfileSection'][_0xf40d('0x4e')]({'where':{'name':_0x345873,'userProfileId':_0x419153['userProfileId']},'raw':!![]})[_0xf40d('0x28')](function(_0x3547e4){if(_0x3547e4&&_0x3547e4[_0xf40d('0x53')]===0x0){return db[_0xf40d('0x2b')]['create']({'name':_0x53b8eb['name'],'resourceId':_0x53b8eb['id'],'type':_0x3547e4[_0xf40d('0x2f')],'sectionId':_0x3547e4['id']},{})[_0xf40d('0x28')](function(){return _0x1f2e55;});}else{return _0x1f2e55;}})[_0xf40d('0x4a')](function(_0x4a9953){logger[_0xf40d('0x2d')](_0xf40d('0x54'),_0x4a9953);throw _0x4a9953;});}return _0x1f2e55;})[_0xf40d('0x28')](respondWithResult(_0x1debf4,0xc9))[_0xf40d('0x4a')](handleError(_0x1debf4,null));};exports[_0xf40d('0x27')]=function(_0x27c735,_0x5430c7){if(_0x27c735[_0xf40d('0x50')]['id']){delete _0x27c735[_0xf40d('0x50')]['id'];}return db['CmList']['find']({'where':{'id':_0x27c735[_0xf40d('0x55')]['id']}})['then'](handleEntityNotFound(_0x5430c7,null))[_0xf40d('0x28')](saveUpdates(_0x27c735[_0xf40d('0x50')],null))[_0xf40d('0x28')](respondWithResult(_0x5430c7,null))[_0xf40d('0x4a')](handleError(_0x5430c7,null));};exports[_0xf40d('0x2c')]=function(_0x22216f,_0x1614a0){return db[_0xf40d('0x32')][_0xf40d('0x4e')]({'where':{'id':_0x22216f[_0xf40d('0x55')]['id']}})['then'](handleEntityNotFound(_0x1614a0,null))[_0xf40d('0x28')](removeEntity(_0x1614a0,null))[_0xf40d('0x4a')](handleError(_0x1614a0,null));};exports[_0xf40d('0x56')]=function(_0xad6712,_0x1b858a){return db[_0xf40d('0x32')]['describe']()[_0xf40d('0x28')](respondWithResult(_0x1b858a,null))[_0xf40d('0x4a')](handleError(_0x1b858a,null));};exports[_0xf40d('0x57')]=function(_0x3fa25a,_0x2884f4,_0x1de8ec){if(_0x3fa25a[_0xf40d('0x50')]['id']){delete _0x3fa25a[_0xf40d('0x50')]['id'];}return db[_0xf40d('0x32')][_0xf40d('0x4e')]({'where':{'id':_0x3fa25a['params']['id']}})['then'](handleEntityNotFound(_0x2884f4,null))['then'](function(_0x15434a){if(_0x15434a){_0x3fa25a[_0xf40d('0x50')]['ListId']=_0x15434a['id'];return db['Disposition'][_0xf40d('0x4f')](_0x3fa25a['body']);}})['then'](respondWithResult(_0x2884f4,null))[_0xf40d('0x4a')](handleError(_0x2884f4,null));};exports[_0xf40d('0x58')]=function(_0x12201a,_0x3b17e9,_0x55c6f9){var _0x111550={'raw':![],'where':{}};var _0x15fa4a={};var _0x536384={'count':0x0,'rows':[]};return db[_0xf40d('0x32')]['findOne']({'where':{'id':_0x12201a['params']['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x3b17e9,null))[_0xf40d('0x28')](function(_0x2aa8bb){if(_0x2aa8bb){_0x15fa4a[_0xf40d('0x37')]=_['keys'](db[_0xf40d('0x59')][_0xf40d('0x33')]);_0x15fa4a[_0xf40d('0x38')]=_[_0xf40d('0x4c')](_0x12201a[_0xf40d('0x38')]);_0x15fa4a[_0xf40d('0x39')]=_[_0xf40d('0x3a')](_0x15fa4a[_0xf40d('0x37')],_0x15fa4a[_0xf40d('0x38')]);_0x111550[_0xf40d('0x3b')]=_[_0xf40d('0x3a')](_0x15fa4a[_0xf40d('0x37')],qs[_0xf40d('0x3c')](_0x12201a[_0xf40d('0x38')]['fields']));_0x111550[_0xf40d('0x3b')]=_0x111550[_0xf40d('0x3b')][_0xf40d('0x3d')]?_0x111550['attributes']:_0x15fa4a[_0xf40d('0x37')];if(!_0x12201a[_0xf40d('0x38')][_0xf40d('0x3e')](_0xf40d('0x5a'))){_0x111550[_0xf40d('0x20')]=qs['limit'](_0x12201a[_0xf40d('0x38')][_0xf40d('0x20')]);_0x111550[_0xf40d('0x22')]=qs[_0xf40d('0x22')](_0x12201a[_0xf40d('0x38')][_0xf40d('0x22')]);}_0x111550[_0xf40d('0x3f')]=qs[_0xf40d('0x40')](_0x12201a['query'][_0xf40d('0x40')]);_0x111550[_0xf40d('0x41')]=qs['filters'](_[_0xf40d('0x42')](_0x12201a['query'],_0x15fa4a[_0xf40d('0x39')]));_0x111550[_0xf40d('0x41')][_0xf40d('0x5b')]=_0x2aa8bb['id'];if(_0x12201a[_0xf40d('0x38')]['filter']){_0x111550[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0x111550['where'],{'$or':_[_0xf40d('0x31')](_0x111550[_0xf40d('0x3b')],function(_0x2e0351){var _0x3faa86={};_0x3faa86[_0x2e0351]={'$like':'%'+_0x12201a[_0xf40d('0x38')]['filter']+'%'};return _0x3faa86;})});}_0x111550=_[_0xf40d('0x43')]({},_0x111550,_0x12201a[_0xf40d('0x4d')]);return db[_0xf40d('0x59')][_0xf40d('0x21')]({'where':_0x111550[_0xf40d('0x41')]})['then'](function(_0x1da12e){_0x536384[_0xf40d('0x21')]=_0x1da12e;if(_0x12201a[_0xf40d('0x38')][_0xf40d('0x46')]){_0x111550[_0xf40d('0x47')]=[{'all':!![]}];}return db['Disposition'][_0xf40d('0x48')](_0x111550);})[_0xf40d('0x28')](function(_0x5e0103){_0x536384['rows']=_0x5e0103;return _0x536384;});}})['then'](respondWithFilteredResult(_0x3b17e9,_0x111550))[_0xf40d('0x4a')](handleError(_0x3b17e9,null));};exports['removeDispositions']=function(_0x3dc93f,_0x2eee96,_0x226dff){return db[_0xf40d('0x32')][_0xf40d('0x4e')]({'where':{'id':_0x3dc93f[_0xf40d('0x55')]['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x2eee96,null))[_0xf40d('0x28')](function(_0x5971c5){if(_0x5971c5){return _0x5971c5[_0xf40d('0x5c')](_0x3dc93f[_0xf40d('0x38')][_0xf40d('0x5d')]);}})[_0xf40d('0x28')](respondWithStatusCode(_0x2eee96,null))[_0xf40d('0x4a')](handleError(_0x2eee96,null));};exports[_0xf40d('0x5e')]=function(_0x3e3d57,_0x3c41e3,_0x11cd0a){return db[_0xf40d('0x32')][_0xf40d('0x4e')]({'where':{'id':_0x3e3d57[_0xf40d('0x55')]['id']}})['then'](handleEntityNotFound(_0x3c41e3,null))[_0xf40d('0x28')](function(_0xf3b6fb){if(_0xf3b6fb){var _0x3bf9d6=[];var _0x329df={'success':[],'errors':[]};return db[_0xf40d('0x5f')]['describe']()[_0xf40d('0x28')](function(_0x5d6e40){if(_0x3e3d57[_0xf40d('0x50')][_0xf40d('0x60')]&&_['isArray'](_0x3e3d57[_0xf40d('0x50')]['tags'])){if(_0x3e3d57[_0xf40d('0x50')][_0xf40d('0x60')][_0xf40d('0x3d')]){_0x3e3d57[_0xf40d('0x50')]['tags']=_0x3e3d57['body'][_0xf40d('0x60')][_0xf40d('0x61')](';')+';';}else{_0x3e3d57['body'][_0xf40d('0x60')]=null;}}else{_0x3e3d57[_0xf40d('0x50')][_0xf40d('0x60')]=null;}if(_0x3e3d57[_0xf40d('0x50')]&&_[_0xf40d('0x62')](_0x3e3d57[_0xf40d('0x50')])){for(var _0x11c9ae=0x0;_0x11c9ae<_0x3e3d57['body'][_0xf40d('0x3d')];_0x11c9ae+=0x1){_0x3e3d57['body'][_0x11c9ae]['ListId']=_0x3e3d57[_0xf40d('0x55')]['id'];_0x3bf9d6['push'](_0x3e3d57[_0xf40d('0x50')][_0x11c9ae]);}return BPromise[_0xf40d('0x63')](_0x3bf9d6,function(_0x367a1c){return db[_0xf40d('0x5f')][_0xf40d('0x4f')](_[_0xf40d('0x64')](_0x367a1c,[_0xf40d('0x5d'),'id'])||{},{'fields':_[_0xf40d('0x4c')](_0x5d6e40),'raw':!![]})['then'](function(_0x3c485b){_0x329df[_0xf40d('0x65')][_0xf40d('0x66')](_0x3c485b[_0xf40d('0x67')]);})[_0xf40d('0x4a')](function(_0x3f274a){_0x329df['errors'][_0xf40d('0x66')]({'data':_0x367a1c,'error':_0x3f274a[_0xf40d('0x68')]});});})[_0xf40d('0x28')](function(_0x1a581e){return _0x329df;})['catch'](function(_0x15de4d){return _0x15de4d;});}else{_0x3c41e3[_0xf40d('0x1e')](0x190)[_0xf40d('0x69')]({'message':_0xf40d('0x6a')});}});}})['then'](respondWithResult(_0x3c41e3,null))[_0xf40d('0x4a')](handleError(_0x3c41e3,null));};exports[_0xf40d('0x6b')]=function(_0x29d809,_0x3508ab,_0x43e99a){var _0x38e674;return db[_0xf40d('0x32')]['find']({'where':{'id':_0x29d809['params']['id']},'include':[{'model':db[_0xf40d('0x6c')],'as':_0xf40d('0x6d')}]})[_0xf40d('0x28')](handleEntityNotFound(_0x3508ab,null))[_0xf40d('0x28')](function(_0x24079c){if(_0x24079c){_0x38e674=_0x24079c;return db[_0xf40d('0x5f')]['rawAttributes'];}})[_0xf40d('0x28')](function(_0x713bb0){if(_0x713bb0){var _0x489025={};var _0xff9956={};_0xff9956[_0xf40d('0x37')]=_['concat'](_['keys'](_0x713bb0),_[_0xf40d('0x31')](_0x38e674[_0xf40d('0x6d')],function(_0x2fce9d){return util[_0xf40d('0x6e')](_0xf40d('0x6f'),_0x2fce9d['id']);}));_0xff9956[_0xf40d('0x38')]=_['keys'](_0x29d809[_0xf40d('0x38')]);_0xff9956['filters']=_['intersection'](_0xff9956[_0xf40d('0x37')],_0xff9956['query']);_0x489025['attributes']=_[_0xf40d('0x3a')](_0xff9956['model'],qs['fields'](_0x29d809[_0xf40d('0x38')]['fields']));_0x489025[_0xf40d('0x3b')]=_0x489025[_0xf40d('0x3b')]['length']?_0x489025['attributes']:_0xff9956[_0xf40d('0x37')];if(!_0x29d809['query'][_0xf40d('0x3e')](_0xf40d('0x5a'))){_0x489025[_0xf40d('0x20')]=qs[_0xf40d('0x20')](_0x29d809[_0xf40d('0x38')][_0xf40d('0x20')]);_0x489025[_0xf40d('0x22')]=qs['offset'](_0x29d809['query'][_0xf40d('0x22')]);}_0x489025[_0xf40d('0x3f')]=qs['sort'](_0x29d809['query'][_0xf40d('0x40')]);_0x489025['where']=qs[_0xf40d('0x39')](_[_0xf40d('0x42')](_0x29d809[_0xf40d('0x38')],_0xff9956[_0xf40d('0x39')]));_0x489025[_0xf40d('0x70')]=!![];if(_0x29d809[_0xf40d('0x38')][_0xf40d('0x45')]){_0x489025[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0x489025['where'],{'$or':_[_0xf40d('0x31')](_0x489025[_0xf40d('0x3b')],function(_0x45b652){var _0x300c41={};_0x300c41[_0x45b652]={'$like':'%'+_0x29d809[_0xf40d('0x38')][_0xf40d('0x45')]+'%'};return _0x300c41;})});}_0x489025=_[_0xf40d('0x43')]({},_0x489025,_0x29d809[_0xf40d('0x4d')]);return _0x38e674[_0xf40d('0x6b')](_0x489025);}})[_0xf40d('0x28')](respondWithResult(_0x3508ab,null))[_0xf40d('0x4a')](handleError(_0x3508ab,null));};exports[_0xf40d('0x71')]=function(_0x2335c6,_0x112b39,_0x34fe42){var _0x45777b;var _0x4eb8e7;var _0x25a9cd;var _0x4640f1=_0x2335c6['params']['id'];csv_results=[];return db[_0xf40d('0x72')][_0xf40d('0x48')]({'attributes':['id',_0xf40d('0x2f')],'raw':!![],'order':[_0xf40d('0x73')]})[_0xf40d('0x28')](function(_0x507087){_0x45777b=_0x507087;var _0x37177a=_[_0xf40d('0x4c')](db['CmContact'][_0xf40d('0x33')]);return db[_0xf40d('0x6c')][_0xf40d('0x48')]({'raw':!![],'attributes':['id','alias']})['then'](function(_0x23654){_0x4eb8e7=_0x23654;var _0x28632d=squel[_0xf40d('0x74')]()[_0xf40d('0x3c')](_0x37177a)[_0xf40d('0x75')](_0xf40d('0x76'),'c')[_0xf40d('0x41')](_0xf40d('0x77'),_0x4640f1)[_0xf40d('0x41')](_0xf40d('0x78'))[_0xf40d('0x79')]();for(var _0x19ac58=0x0;_0x19ac58<_0x4eb8e7[_0xf40d('0x3d')];_0x19ac58++){_0x28632d['field'](_0xf40d('0x7a')+_0x4eb8e7[_0x19ac58]['id'],'customField_'+_0x4eb8e7[_0x19ac58][_0xf40d('0x7b')]);}for(var _0x19ac58=0x0;_0x19ac58<_0x45777b[_0xf40d('0x3d')];_0x19ac58++){_0x28632d['field'](squel[_0xf40d('0x74')]()['field'](_0xf40d('0x7c'))['from'](_0xf40d('0x7d'))[_0xf40d('0x41')](_0xf40d('0x7e'),_0x45777b[_0x19ac58]['id'])[_0xf40d('0x41')]('CmContactId\x20=\x20c.id'),_0xf40d('0x7f')+_0x45777b[_0x19ac58][_0xf40d('0x2f')]);_0x28632d[_0xf40d('0x80')](squel['select']()[_0xf40d('0x80')](_0xf40d('0x81'))[_0xf40d('0x75')](_0xf40d('0x7d'))[_0xf40d('0x41')](_0xf40d('0x7e'),_0x45777b[_0x19ac58]['id'])[_0xf40d('0x41')](_0xf40d('0x82')),'description_additionalPhone_'+_0x45777b[_0x19ac58]['name']);}var _0x409cac=[];_0x409cac[_0xf40d('0x66')](_0x28632d[_0xf40d('0x83')]());BPromise[_0xf40d('0x63')](_0x409cac,handleQuery)[_0xf40d('0x28')](function(_0x58d44e){handleQuery(_0x28632d[_0xf40d('0x83')]());var _0xcc801f=csv_results[0x0];if(!_[_0xf40d('0x84')](_0xcc801f)){var _0x2ef79e=toCsv(_0xcc801f);var _0x3fe411=Date['now']();fs[_0xf40d('0x85')](util[_0xf40d('0x6e')](_0xf40d('0x86'),_0x4640f1,_0x3fe411),_0x2ef79e);_0x112b39[_0xf40d('0x87')](_0xf40d('0x88'),_0xf40d('0x89')+util[_0xf40d('0x6e')]('list_%d_%s.csv',_0x4640f1,_0x3fe411));_0x112b39['setHeader'](_0xf40d('0x8a'),_0xf40d('0x8b'));return _0x112b39[_0xf40d('0x8c')](util['format'](_0xf40d('0x86'),_0x4640f1,_0x3fe411));}else{return _0x112b39[_0xf40d('0x1d')](0xcc);}});});});};exports[_0xf40d('0x8d')]=function(_0x527997,_0x388e6b,_0x5000d9){var _0xfc2a29;delete _0x527997[_0xf40d('0x50')]['id'];return db['CmList']['findOne']({'where':{'id':_0x527997['params']['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x388e6b,null))[_0xf40d('0x28')](function(_0x49c363){if(_0x49c363){return db['sequelize'][_0xf40d('0x8e')](function(_0x290f7b){return db[_0xf40d('0x6c')][_0xf40d('0x4f')](_0x527997[_0xf40d('0x50')],{'transaction':_0x290f7b})[_0xf40d('0x28')](function(_0x191322){_0xfc2a29=_0x191322;return _0x49c363['addCustomFields'](_0x191322,{'transaction':_0x290f7b});})[_0xf40d('0x28')](function(){var _0x469da7={'type':db[_0xf40d('0x8f')][_0xf40d('0x90')],'transaction':_0x290f7b};switch(_0x527997['body'][_0xf40d('0x35')]){case _0xf40d('0x91'):_0x469da7['type']=db[_0xf40d('0x8f')]['TEXT'];break;case _0xf40d('0x92'):_0x469da7[_0xf40d('0x35')]=db[_0xf40d('0x8f')][_0xf40d('0x93')];break;case _0xf40d('0x94'):_0x469da7[_0xf40d('0x35')]=db[_0xf40d('0x8f')][_0xf40d('0x95')];_0x469da7[_0xf40d('0x96')]=![];break;default:}return db['sequelize'][_0xf40d('0x97')][_0xf40d('0x98')](_0xf40d('0x76'),util[_0xf40d('0x6e')](_0xf40d('0x99'),_0xfc2a29['id']),_0x469da7);})[_0xf40d('0x28')](function(){return _0xfc2a29;});});}})[_0xf40d('0x28')](respondWithResult(_0x388e6b,null))['catch'](handleError(_0x388e6b,null));};exports['getCustomFields']=function(_0xeb9bb0,_0x5dbab6,_0x5d951a){var _0xe7fb0e={};var _0x1e522c={};var _0x318d12;var _0x1b1743;return db['CmList'][_0xf40d('0x9a')]({'where':{'id':_0xeb9bb0['params']['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x5dbab6,null))[_0xf40d('0x28')](function(_0x17bfdb){if(_0x17bfdb){_0x318d12=_0x17bfdb;_0x1e522c['model']=_[_0xf40d('0x4c')](db['CmCustomField']['rawAttributes']);_0x1e522c[_0xf40d('0x38')]=_[_0xf40d('0x4c')](_0xeb9bb0['query']);_0x1e522c[_0xf40d('0x39')]=_[_0xf40d('0x3a')](_0x1e522c['model'],_0x1e522c[_0xf40d('0x38')]);_0xe7fb0e[_0xf40d('0x3b')]=_['intersection'](_0x1e522c[_0xf40d('0x37')],qs[_0xf40d('0x3c')](_0xeb9bb0[_0xf40d('0x38')]['fields']));_0xe7fb0e['attributes']=_0xe7fb0e[_0xf40d('0x3b')]['length']?_0xe7fb0e[_0xf40d('0x3b')]:_0x1e522c['model'];_0xe7fb0e['order']=qs[_0xf40d('0x40')](_0xeb9bb0[_0xf40d('0x38')][_0xf40d('0x40')]);_0xe7fb0e[_0xf40d('0x41')]=qs[_0xf40d('0x39')](_[_0xf40d('0x42')](_0xeb9bb0[_0xf40d('0x38')],_0x1e522c[_0xf40d('0x39')]));_0xe7fb0e[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0xe7fb0e['where'],{'$or':[{'ListId':_0x17bfdb['id']},{'ListId':null}]});if(_0xeb9bb0['query'][_0xf40d('0x45')]){_0xe7fb0e[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0xe7fb0e[_0xf40d('0x41')],{'$or':_['map'](_0xe7fb0e[_0xf40d('0x3b')],function(_0x3eb305){var _0x150918={};_0x150918[_0x3eb305]={'$like':'%'+_0xeb9bb0[_0xf40d('0x38')][_0xf40d('0x45')]+'%'};return _0x150918;})});}_0xe7fb0e=_[_0xf40d('0x43')]({},_0xe7fb0e,_0xeb9bb0[_0xf40d('0x4d')]);return db['CmCustomField'][_0xf40d('0x9b')](_0xe7fb0e);}})[_0xf40d('0x28')](respondWithResult(_0x5dbab6,null))[_0xf40d('0x4a')](handleError(_0x5dbab6,null));};exports[_0xf40d('0x9c')]=function(_0x46a44e,_0x352448){return db['CmCustomField']['findAndCountAll']({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x352448,null))[_0xf40d('0x28')](function(_0x1202fc){return _0x1202fc;})['then'](respondWithResult(_0x352448,null))[_0xf40d('0x4a')](handleError(_0x352448,null));};exports[_0xf40d('0x9d')]=function(_0x4c8a04,_0x13941a,_0x546d69){return db['CmList']['find']({'where':{'id':_0x4c8a04[_0xf40d('0x55')]['id']}})['then'](handleEntityNotFound(_0x13941a,null))[_0xf40d('0x28')](function(_0x26f08a){if(_0x26f08a){return _0x26f08a[_0xf40d('0x9d')](_0x4c8a04[_0xf40d('0x50')][_0xf40d('0x5d')],_['omit'](_0x4c8a04['body'],[_0xf40d('0x5d'),'id'])||{})['spread'](function(_0x21b118){for(var _0x43be20=0x0;_0x43be20<_0x4c8a04[_0xf40d('0x50')][_0xf40d('0x5d')][_0xf40d('0x3d')];_0x43be20+=0x1){socket[_0xf40d('0x9e')]('userCmList:save',{'UserId':Number(_0x4c8a04[_0xf40d('0x50')][_0xf40d('0x5d')][_0x43be20]),'CmListId':Number(_0x4c8a04[_0xf40d('0x55')]['id'])});}return _0x21b118;});}})[_0xf40d('0x28')](respondWithResult(_0x13941a,null))[_0xf40d('0x4a')](handleError(_0x13941a,null));};exports[_0xf40d('0x9f')]=function(_0x5b8302,_0x4e0396,_0x52c5b7){return db['CmList'][_0xf40d('0x4e')]({'where':{'id':_0x5b8302[_0xf40d('0x55')]['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x4e0396,null))[_0xf40d('0x28')](function(_0x2ef00f){if(_0x2ef00f){return _0x2ef00f[_0xf40d('0x9f')](_0x5b8302[_0xf40d('0x38')]['ids'])['then'](function(){if(_['isArray'](_0x5b8302[_0xf40d('0x38')][_0xf40d('0x5d')])){for(var _0x53fd40=0x0;_0x53fd40<_0x5b8302['query'][_0xf40d('0x5d')][_0xf40d('0x3d')];_0x53fd40+=0x1){socket['emit'](_0xf40d('0xa0'),{'UserId':Number(_0x5b8302[_0xf40d('0x38')][_0xf40d('0x5d')][_0x53fd40]),'CmListId':Number(_0x5b8302[_0xf40d('0x55')]['id'])});}}else{socket[_0xf40d('0x9e')](_0xf40d('0xa0'),{'UserId':Number(_0x5b8302[_0xf40d('0x38')][_0xf40d('0x5d')]),'CmListId':Number(_0x5b8302[_0xf40d('0x55')]['id'])});}});}})[_0xf40d('0x28')](respondWithStatusCode(_0x4e0396,null))[_0xf40d('0x4a')](handleError(_0x4e0396,null));};exports[_0xf40d('0xa1')]=function(_0x28da01,_0x314c39,_0x58ac14){var _0x216e0e={};var _0x4037bb={};var _0x2e8bc6;var _0x1e8c18;return db[_0xf40d('0x32')][_0xf40d('0x9a')]({'where':{'id':_0x28da01['params']['id']}})[_0xf40d('0x28')](handleEntityNotFound(_0x314c39,null))['then'](function(_0x825959){if(_0x825959){_0x2e8bc6=_0x825959;_0x4037bb[_0xf40d('0x37')]=_[_0xf40d('0x4c')](db[_0xf40d('0xa2')][_0xf40d('0x33')]);_0x4037bb['query']=_[_0xf40d('0x4c')](_0x28da01['query']);_0x4037bb['filters']=_[_0xf40d('0x3a')](_0x4037bb[_0xf40d('0x37')],_0x4037bb['query']);_0x216e0e[_0xf40d('0x3b')]=_[_0xf40d('0x3a')](_0x4037bb['model'],qs[_0xf40d('0x3c')](_0x28da01['query']['fields']));_0x216e0e[_0xf40d('0x3b')]=_0x216e0e[_0xf40d('0x3b')][_0xf40d('0x3d')]?_0x216e0e[_0xf40d('0x3b')]:_0x4037bb[_0xf40d('0x37')];_0x216e0e[_0xf40d('0x3f')]=qs[_0xf40d('0x40')](_0x28da01[_0xf40d('0x38')][_0xf40d('0x40')]);_0x216e0e[_0xf40d('0x41')]=qs[_0xf40d('0x39')](_[_0xf40d('0x42')](_0x28da01[_0xf40d('0x38')],_0x4037bb[_0xf40d('0x39')]));if(_0x28da01[_0xf40d('0x38')]['filter']){_0x216e0e[_0xf40d('0x41')]=_[_0xf40d('0x43')](_0x216e0e['where'],{'$or':_[_0xf40d('0x31')](_0x216e0e[_0xf40d('0x3b')],function(_0x19a6fa){var _0x56f5da={};_0x56f5da[_0x19a6fa]={'$like':'%'+_0x28da01[_0xf40d('0x38')][_0xf40d('0x45')]+'%'};return _0x56f5da;})});}_0x216e0e=_[_0xf40d('0x43')]({},_0x216e0e,_0x28da01['options']);return _0x2e8bc6[_0xf40d('0xa1')](_0x216e0e);}})[_0xf40d('0x28')](function(_0x24d578){if(_0x24d578){_0x1e8c18=_0x24d578[_0xf40d('0x3d')];if(!_0x28da01[_0xf40d('0x38')]['hasOwnProperty'](_0xf40d('0x5a'))){_0x216e0e['limit']=qs[_0xf40d('0x20')](_0x28da01[_0xf40d('0x38')]['limit']);_0x216e0e[_0xf40d('0x22')]=qs[_0xf40d('0x22')](_0x28da01['query'][_0xf40d('0x22')]);}return _0x2e8bc6[_0xf40d('0xa1')](_0x216e0e);}})[_0xf40d('0x28')](function(_0x4e366c){if(_0x4e366c){return _0x4e366c?{'count':_0x1e8c18,'rows':_0x4e366c}:null;}})[_0xf40d('0x28')](respondWithResult(_0x314c39,null))[_0xf40d('0x4a')](handleError(_0x314c39,null));};function handleQuery(_0x4967b1){logger[_0xf40d('0xa3')](_0x4967b1);return db['sequelize']['query'](_0x4967b1)[_0xf40d('0xa4')](function(_0x30150e){csv_results[_0xf40d('0x66')](_0x30150e);})[_0xf40d('0x4a')](function(_0x1169b5){logger[_0xf40d('0x2d')](_0x1169b5['message']);});}