5fa06d6b793c226294a36c6148ac404fd4361206
[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 _0xcf6b=['model','map','query','keys','intersection','fields','attributes','length','nolimit','order','sort','filters','filter','where','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','describe','ListId','Disposition','getDispositions','findOne','rawAttributes','pick','removeDispositions','ids','addContacts','CmContact','tags','isArray','join','push','each','omit','dataValues','errors','Malformed\x20request\x20syntax','getContacts','CustomFields','concat','cf_%d','hasOwnProperty','raw','ContactItemType','OrderBy','CmCustomField','alias','from','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','field','c.cf_','customField_','cm_contact_has_items','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','select','description_additionalPhone_','toString','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','format','list_%d_%s.csv','Content-type','text/csv','download','sendStatus','addCustomField','sequelize','transaction','addCustomFields','TEXT','text','number','Sequelize','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','cf_%s','getCustomFields','getGlobalCustomFields','findAndCountAll','addAgents','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','spread','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','status','json','offset','undefined','count','limit','Content-Range','apply','save','update','then','get','Lists','UserProfileResource','destroy','stack','name','CmList','fieldName','type','key'];(function(_0x3ad7be,_0x224585){var _0x2b6c8a=function(_0xa09237){while(--_0xa09237){_0x3ad7be['push'](_0x3ad7be['shift']());}};_0x2b6c8a(++_0x224585);}(_0xcf6b,0x72));var _0xbcf6=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0xcf6b[_0xfae23b];return _0x200640;};'use strict';var emlformat=require(_0xbcf6('0x0'));var rimraf=require(_0xbcf6('0x1'));var zipdir=require(_0xbcf6('0x2'));var jsonpatch=require(_0xbcf6('0x3'));var rp=require('request-promise');var moment=require(_0xbcf6('0x4'));var BPromise=require(_0xbcf6('0x5'));var Mustache=require(_0xbcf6('0x6'));var util=require(_0xbcf6('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xbcf6('0x8'));var ejs=require(_0xbcf6('0x9'));var fs=require('fs');var fs_extra=require(_0xbcf6('0xa'));var _=require(_0xbcf6('0xb'));var squel=require(_0xbcf6('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbcf6('0xd'));var toCsv=require(_0xbcf6('0x8'));var querystring=require(_0xbcf6('0xe'));var Papa=require('papaparse');var Redis=require(_0xbcf6('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbcf6('0x10'));var hardwareService=require(_0xbcf6('0x11'));var logger=require(_0xbcf6('0x12'))(_0xbcf6('0x13'));var utils=require('../../config/utils');var config=require(_0xbcf6('0x14'));var licenseUtil=require(_0xbcf6('0x15'));var db=require(_0xbcf6('0x16'))['db'];var csv_results;config[_0xbcf6('0x17')]=_[_0xbcf6('0x18')](config[_0xbcf6('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0xbcf6('0x19'))(new Redis(config[_0xbcf6('0x17')]));require('./cmList.socket')[_0xbcf6('0x1a')](socket);function respondWithStatusCode(_0xaa2d54,_0x26c683){_0x26c683=_0x26c683||0xcc;return function(_0x157db6){if(_0x157db6){return _0xaa2d54['sendStatus'](_0x26c683);}return _0xaa2d54['status'](_0x26c683)['end']();};}function respondWithResult(_0x51537f,_0xdc824d){_0xdc824d=_0xdc824d||0xc8;return function(_0x11e87a){if(_0x11e87a){return _0x51537f[_0xbcf6('0x1b')](_0xdc824d)[_0xbcf6('0x1c')](_0x11e87a);}};}function respondWithFilteredResult(_0x48aa84,_0x1dc6c9){return function(_0x992387){if(_0x992387){var _0x39388e=typeof _0x1dc6c9[_0xbcf6('0x1d')]===_0xbcf6('0x1e')&&typeof _0x1dc6c9['limit']===_0xbcf6('0x1e');var _0x5f1d52=_0x992387[_0xbcf6('0x1f')];var _0x9153c2=_0x39388e?0x0:_0x1dc6c9[_0xbcf6('0x1d')];var _0x340890=_0x39388e?_0x992387[_0xbcf6('0x1f')]:_0x1dc6c9['offset']+_0x1dc6c9[_0xbcf6('0x20')];var _0x5b4061;if(_0x340890>=_0x5f1d52){_0x340890=_0x5f1d52;_0x5b4061=0xc8;}else{_0x5b4061=0xce;}_0x48aa84[_0xbcf6('0x1b')](_0x5b4061);return _0x48aa84['set'](_0xbcf6('0x21'),_0x9153c2+'-'+_0x340890+'/'+_0x5f1d52)[_0xbcf6('0x1c')](_0x992387);}return null;};}function patchUpdates(_0x5b6273){return function(_0x5f03a3){try{jsonpatch[_0xbcf6('0x22')](_0x5f03a3,_0x5b6273,!![]);}catch(_0x34fb4e){return BPromise['reject'](_0x34fb4e);}return _0x5f03a3[_0xbcf6('0x23')]();};}function saveUpdates(_0x95b32c,_0x445d8e){return function(_0x1fbac6){if(_0x1fbac6){return _0x1fbac6[_0xbcf6('0x24')](_0x95b32c)['then'](function(_0x398fe8){return _0x398fe8;});}return null;};}function removeEntity(_0x323021,_0x3bf80a){return function(_0xbc32ec){if(_0xbc32ec){return _0xbc32ec['destroy']()[_0xbcf6('0x25')](function(){var _0x3ea3ad=_0xbc32ec[_0xbcf6('0x26')]({'plain':!![]});var _0x4d0796=_0xbcf6('0x27');return db[_0xbcf6('0x28')][_0xbcf6('0x29')]({'where':{'type':_0x4d0796,'resourceId':_0x3ea3ad['id']}})['then'](function(){return _0xbc32ec;});})[_0xbcf6('0x25')](function(){_0x323021['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c1f8d,_0x563bdf){return function(_0x33ad06){if(!_0x33ad06){_0x2c1f8d['sendStatus'](0x194);}return _0x33ad06;};}function handleError(_0x4e894e,_0x4048ed){_0x4048ed=_0x4048ed||0x1f4;return function(_0x1788ea){logger['error'](_0x1788ea[_0xbcf6('0x2a')]);if(_0x1788ea['name']){delete _0x1788ea[_0xbcf6('0x2b')];}_0x4e894e[_0xbcf6('0x1b')](_0x4048ed)['send'](_0x1788ea);};}exports['index']=function(_0x5c44a1,_0x4c859d){var _0x72e391={},_0x242f25={},_0x44a292={'count':0x0,'rows':[]};var _0x2206d3=_['map'](db[_0xbcf6('0x2c')]['rawAttributes'],function(_0x2f9e9f){return{'name':_0x2f9e9f[_0xbcf6('0x2d')],'type':_0x2f9e9f[_0xbcf6('0x2e')][_0xbcf6('0x2f')]};});_0x242f25[_0xbcf6('0x30')]=_[_0xbcf6('0x31')](_0x2206d3,_0xbcf6('0x2b'));_0x242f25[_0xbcf6('0x32')]=_[_0xbcf6('0x33')](_0x5c44a1['query']);_0x242f25['filters']=_[_0xbcf6('0x34')](_0x242f25[_0xbcf6('0x30')],_0x242f25[_0xbcf6('0x32')]);_0x72e391['attributes']=_[_0xbcf6('0x34')](_0x242f25[_0xbcf6('0x30')],qs[_0xbcf6('0x35')](_0x5c44a1['query'][_0xbcf6('0x35')]));_0x72e391[_0xbcf6('0x36')]=_0x72e391[_0xbcf6('0x36')][_0xbcf6('0x37')]?_0x72e391['attributes']:_0x242f25[_0xbcf6('0x30')];if(!_0x5c44a1[_0xbcf6('0x32')]['hasOwnProperty'](_0xbcf6('0x38'))){_0x72e391[_0xbcf6('0x20')]=qs[_0xbcf6('0x20')](_0x5c44a1[_0xbcf6('0x32')][_0xbcf6('0x20')]);_0x72e391[_0xbcf6('0x1d')]=qs[_0xbcf6('0x1d')](_0x5c44a1[_0xbcf6('0x32')]['offset']);}_0x72e391[_0xbcf6('0x39')]=qs[_0xbcf6('0x3a')](_0x5c44a1['query'][_0xbcf6('0x3a')]);_0x72e391['where']=qs[_0xbcf6('0x3b')](_['pick'](_0x5c44a1[_0xbcf6('0x32')],_0x242f25[_0xbcf6('0x3b')]),_0x2206d3);if(_0x5c44a1[_0xbcf6('0x32')][_0xbcf6('0x3c')]){_0x72e391[_0xbcf6('0x3d')]=_['merge'](_0x72e391[_0xbcf6('0x3d')],{'$or':_[_0xbcf6('0x31')](_0x2206d3,function(_0x4c58f5){if(_0x4c58f5[_0xbcf6('0x2e')]!==_0xbcf6('0x3e')){var _0x2055c4={};_0x2055c4[_0x4c58f5['name']]={'$like':'%'+_0x5c44a1[_0xbcf6('0x32')][_0xbcf6('0x3c')]+'%'};return _0x2055c4;}})});}_0x72e391=_[_0xbcf6('0x3f')]({},_0x72e391,_0x5c44a1[_0xbcf6('0x40')]);var _0xeaa133={'where':_0x72e391[_0xbcf6('0x3d')]};return db[_0xbcf6('0x2c')][_0xbcf6('0x1f')](_0xeaa133)[_0xbcf6('0x25')](function(_0x472148){_0x44a292[_0xbcf6('0x1f')]=_0x472148;if(_0x5c44a1['query'][_0xbcf6('0x41')]){_0x72e391[_0xbcf6('0x42')]=[{'all':!![]}];}return db[_0xbcf6('0x2c')][_0xbcf6('0x43')](_0x72e391);})[_0xbcf6('0x25')](function(_0x5eb4c9){_0x44a292[_0xbcf6('0x44')]=_0x5eb4c9;return _0x44a292;})[_0xbcf6('0x25')](respondWithFilteredResult(_0x4c859d,_0x72e391))[_0xbcf6('0x45')](handleError(_0x4c859d,null));};exports[_0xbcf6('0x46')]=function(_0x501c63,_0x25a2a1){var _0x2f4f44={'raw':![],'where':{'id':_0x501c63[_0xbcf6('0x47')]['id']}},_0x5e61af={};_0x5e61af[_0xbcf6('0x30')]=_[_0xbcf6('0x33')](db[_0xbcf6('0x2c')]['rawAttributes']);_0x5e61af[_0xbcf6('0x32')]=_['keys'](_0x501c63[_0xbcf6('0x32')]);_0x5e61af['filters']=_['intersection'](_0x5e61af[_0xbcf6('0x30')],_0x5e61af['query']);_0x2f4f44[_0xbcf6('0x36')]=_[_0xbcf6('0x34')](_0x5e61af[_0xbcf6('0x30')],qs[_0xbcf6('0x35')](_0x501c63['query']['fields']));_0x2f4f44['attributes']=_0x2f4f44[_0xbcf6('0x36')][_0xbcf6('0x37')]?_0x2f4f44[_0xbcf6('0x36')]:_0x5e61af[_0xbcf6('0x30')];if(_0x501c63[_0xbcf6('0x32')]['includeAll']){_0x2f4f44[_0xbcf6('0x42')]=[{'all':!![]}];}_0x2f4f44=_[_0xbcf6('0x3f')]({},_0x2f4f44,_0x501c63[_0xbcf6('0x40')]);return db[_0xbcf6('0x2c')]['find'](_0x2f4f44)['then'](handleEntityNotFound(_0x25a2a1,null))[_0xbcf6('0x25')](respondWithResult(_0x25a2a1,null))[_0xbcf6('0x45')](handleError(_0x25a2a1,null));};exports[_0xbcf6('0x48')]=function(_0x3782ef,_0x4732ee){return db['CmList']['create'](_0x3782ef[_0xbcf6('0x49')],{})[_0xbcf6('0x25')](function(_0x135bfe){var _0x401e7f=_0x3782ef[_0xbcf6('0x4a')][_0xbcf6('0x26')]({'plain':!![]});if(!_0x401e7f)throw new Error(_0xbcf6('0x4b'));if(_0x401e7f[_0xbcf6('0x4c')]===_0xbcf6('0x4a')){var _0x3b9ee7=_0x135bfe['get']({'plain':!![]});var _0x4950f5='Lists';return db[_0xbcf6('0x4d')]['find']({'where':{'name':_0x4950f5,'userProfileId':_0x401e7f[_0xbcf6('0x4e')]},'raw':!![]})[_0xbcf6('0x25')](function(_0x457c83){if(_0x457c83&&_0x457c83['autoAssociation']===0x0){return db['UserProfileResource'][_0xbcf6('0x48')]({'name':_0x3b9ee7['name'],'resourceId':_0x3b9ee7['id'],'type':_0x457c83[_0xbcf6('0x2b')],'sectionId':_0x457c83['id']},{})['then'](function(){return _0x135bfe;});}else{return _0x135bfe;}})['catch'](function(_0x1c48f6){logger[_0xbcf6('0x4f')](_0xbcf6('0x50'),_0x1c48f6);throw _0x1c48f6;});}return _0x135bfe;})[_0xbcf6('0x25')](respondWithResult(_0x4732ee,0xc9))[_0xbcf6('0x45')](handleError(_0x4732ee,null));};exports[_0xbcf6('0x24')]=function(_0x739b82,_0x1724e4){if(_0x739b82[_0xbcf6('0x49')]['id']){delete _0x739b82[_0xbcf6('0x49')]['id'];}return db[_0xbcf6('0x2c')][_0xbcf6('0x51')]({'where':{'id':_0x739b82[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x1724e4,null))['then'](saveUpdates(_0x739b82[_0xbcf6('0x49')],null))[_0xbcf6('0x25')](respondWithResult(_0x1724e4,null))['catch'](handleError(_0x1724e4,null));};exports[_0xbcf6('0x29')]=function(_0x5b5be0,_0x5dc5dc){return db['CmList'][_0xbcf6('0x51')]({'where':{'id':_0x5b5be0[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x5dc5dc,null))[_0xbcf6('0x25')](removeEntity(_0x5dc5dc,null))[_0xbcf6('0x45')](handleError(_0x5dc5dc,null));};exports[_0xbcf6('0x52')]=function(_0x5b67fd,_0x180edb){return db['CmList'][_0xbcf6('0x52')]()[_0xbcf6('0x25')](respondWithResult(_0x180edb,null))[_0xbcf6('0x45')](handleError(_0x180edb,null));};exports['addDisposition']=function(_0x35f862,_0x1f423e,_0x21da89){if(_0x35f862[_0xbcf6('0x49')]['id']){delete _0x35f862['body']['id'];}return db[_0xbcf6('0x2c')][_0xbcf6('0x51')]({'where':{'id':_0x35f862[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x1f423e,null))[_0xbcf6('0x25')](function(_0x234809){if(_0x234809){_0x35f862[_0xbcf6('0x49')][_0xbcf6('0x53')]=_0x234809['id'];return db[_0xbcf6('0x54')][_0xbcf6('0x48')](_0x35f862[_0xbcf6('0x49')]);}})[_0xbcf6('0x25')](respondWithResult(_0x1f423e,null))[_0xbcf6('0x45')](handleError(_0x1f423e,null));};exports[_0xbcf6('0x55')]=function(_0x5d42b0,_0x4edb30,_0x3d433a){var _0x55175b={'raw':![],'where':{}};var _0x441a42={};var _0x1ea029={'count':0x0,'rows':[]};return db['CmList'][_0xbcf6('0x56')]({'where':{'id':_0x5d42b0[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x4edb30,null))[_0xbcf6('0x25')](function(_0x1670e6){if(_0x1670e6){_0x441a42[_0xbcf6('0x30')]=_[_0xbcf6('0x33')](db['Disposition'][_0xbcf6('0x57')]);_0x441a42['query']=_[_0xbcf6('0x33')](_0x5d42b0[_0xbcf6('0x32')]);_0x441a42[_0xbcf6('0x3b')]=_[_0xbcf6('0x34')](_0x441a42['model'],_0x441a42[_0xbcf6('0x32')]);_0x55175b['attributes']=_[_0xbcf6('0x34')](_0x441a42[_0xbcf6('0x30')],qs[_0xbcf6('0x35')](_0x5d42b0[_0xbcf6('0x32')][_0xbcf6('0x35')]));_0x55175b[_0xbcf6('0x36')]=_0x55175b[_0xbcf6('0x36')][_0xbcf6('0x37')]?_0x55175b[_0xbcf6('0x36')]:_0x441a42[_0xbcf6('0x30')];if(!_0x5d42b0[_0xbcf6('0x32')]['hasOwnProperty'](_0xbcf6('0x38'))){_0x55175b[_0xbcf6('0x20')]=qs['limit'](_0x5d42b0['query'][_0xbcf6('0x20')]);_0x55175b[_0xbcf6('0x1d')]=qs[_0xbcf6('0x1d')](_0x5d42b0[_0xbcf6('0x32')][_0xbcf6('0x1d')]);}_0x55175b[_0xbcf6('0x39')]=qs[_0xbcf6('0x3a')](_0x5d42b0['query'][_0xbcf6('0x3a')]);_0x55175b[_0xbcf6('0x3d')]=qs[_0xbcf6('0x3b')](_[_0xbcf6('0x58')](_0x5d42b0[_0xbcf6('0x32')],_0x441a42[_0xbcf6('0x3b')]));_0x55175b[_0xbcf6('0x3d')]['ListId']=_0x1670e6['id'];if(_0x5d42b0[_0xbcf6('0x32')][_0xbcf6('0x3c')]){_0x55175b[_0xbcf6('0x3d')]=_[_0xbcf6('0x3f')](_0x55175b['where'],{'$or':_[_0xbcf6('0x31')](_0x55175b[_0xbcf6('0x36')],function(_0x52695c){var _0x3d7a8d={};_0x3d7a8d[_0x52695c]={'$like':'%'+_0x5d42b0[_0xbcf6('0x32')]['filter']+'%'};return _0x3d7a8d;})});}_0x55175b=_[_0xbcf6('0x3f')]({},_0x55175b,_0x5d42b0[_0xbcf6('0x40')]);return db['Disposition'][_0xbcf6('0x1f')]({'where':_0x55175b['where']})[_0xbcf6('0x25')](function(_0x4406c6){_0x1ea029[_0xbcf6('0x1f')]=_0x4406c6;if(_0x5d42b0['query']['includeAll']){_0x55175b[_0xbcf6('0x42')]=[{'all':!![]}];}return db[_0xbcf6('0x54')]['findAll'](_0x55175b);})[_0xbcf6('0x25')](function(_0xfedc7c){_0x1ea029['rows']=_0xfedc7c;return _0x1ea029;});}})[_0xbcf6('0x25')](respondWithFilteredResult(_0x4edb30,_0x55175b))['catch'](handleError(_0x4edb30,null));};exports[_0xbcf6('0x59')]=function(_0x4664a8,_0x2f1f6a,_0x3e9817){return db[_0xbcf6('0x2c')][_0xbcf6('0x51')]({'where':{'id':_0x4664a8[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x2f1f6a,null))[_0xbcf6('0x25')](function(_0x1b89d2){if(_0x1b89d2){return _0x1b89d2[_0xbcf6('0x59')](_0x4664a8[_0xbcf6('0x32')][_0xbcf6('0x5a')]);}})[_0xbcf6('0x25')](respondWithStatusCode(_0x2f1f6a,null))[_0xbcf6('0x45')](handleError(_0x2f1f6a,null));};exports[_0xbcf6('0x5b')]=function(_0x5cc8f1,_0x2b49ea,_0x26abcc){return db[_0xbcf6('0x2c')][_0xbcf6('0x51')]({'where':{'id':_0x5cc8f1[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x2b49ea,null))[_0xbcf6('0x25')](function(_0x20af64){if(_0x20af64){var _0x129136=[];var _0x1b0871={'success':[],'errors':[]};return db[_0xbcf6('0x5c')][_0xbcf6('0x52')]()[_0xbcf6('0x25')](function(_0xa66bac){if(_0x5cc8f1['body'][_0xbcf6('0x5d')]&&_[_0xbcf6('0x5e')](_0x5cc8f1[_0xbcf6('0x49')][_0xbcf6('0x5d')])){if(_0x5cc8f1['body']['tags'][_0xbcf6('0x37')]){_0x5cc8f1[_0xbcf6('0x49')][_0xbcf6('0x5d')]=_0x5cc8f1['body'][_0xbcf6('0x5d')][_0xbcf6('0x5f')](';')+';';}else{_0x5cc8f1[_0xbcf6('0x49')]['tags']=null;}}else{_0x5cc8f1[_0xbcf6('0x49')][_0xbcf6('0x5d')]=null;}if(_0x5cc8f1[_0xbcf6('0x49')]&&_[_0xbcf6('0x5e')](_0x5cc8f1[_0xbcf6('0x49')])){for(var _0x1f9fa5=0x0;_0x1f9fa5<_0x5cc8f1[_0xbcf6('0x49')][_0xbcf6('0x37')];_0x1f9fa5+=0x1){_0x5cc8f1['body'][_0x1f9fa5]['ListId']=_0x5cc8f1[_0xbcf6('0x47')]['id'];_0x129136[_0xbcf6('0x60')](_0x5cc8f1[_0xbcf6('0x49')][_0x1f9fa5]);}return BPromise[_0xbcf6('0x61')](_0x129136,function(_0x2c9b1d){return db[_0xbcf6('0x5c')]['create'](_[_0xbcf6('0x62')](_0x2c9b1d,[_0xbcf6('0x5a'),'id'])||{},{'fields':_[_0xbcf6('0x33')](_0xa66bac),'raw':!![]})[_0xbcf6('0x25')](function(_0x3f989a){_0x1b0871['success'][_0xbcf6('0x60')](_0x3f989a[_0xbcf6('0x63')]);})['catch'](function(_0x2d354e){_0x1b0871[_0xbcf6('0x64')][_0xbcf6('0x60')]({'data':_0x2c9b1d,'error':_0x2d354e['message']});});})['then'](function(_0x5e4d24){return _0x1b0871;})[_0xbcf6('0x45')](function(_0x1c7f57){return _0x1c7f57;});}else{_0x2b49ea[_0xbcf6('0x1b')](0x190)['json']({'message':_0xbcf6('0x65')});}});}})[_0xbcf6('0x25')](respondWithResult(_0x2b49ea,null))[_0xbcf6('0x45')](handleError(_0x2b49ea,null));};exports[_0xbcf6('0x66')]=function(_0x5f2ed0,_0x25e1ed,_0x27d3a9){var _0x11ce27;return db['CmList'][_0xbcf6('0x51')]({'where':{'id':_0x5f2ed0[_0xbcf6('0x47')]['id']},'include':[{'model':db['CmCustomField'],'as':_0xbcf6('0x67')}]})[_0xbcf6('0x25')](handleEntityNotFound(_0x25e1ed,null))[_0xbcf6('0x25')](function(_0x17b22a){if(_0x17b22a){_0x11ce27=_0x17b22a;return db[_0xbcf6('0x5c')][_0xbcf6('0x57')];}})['then'](function(_0x442ccb){if(_0x442ccb){var _0x55e325={};var _0x1911b5={};_0x1911b5[_0xbcf6('0x30')]=_[_0xbcf6('0x68')](_[_0xbcf6('0x33')](_0x442ccb),_[_0xbcf6('0x31')](_0x11ce27[_0xbcf6('0x67')],function(_0x3c71d0){return util['format'](_0xbcf6('0x69'),_0x3c71d0['id']);}));_0x1911b5['query']=_[_0xbcf6('0x33')](_0x5f2ed0[_0xbcf6('0x32')]);_0x1911b5[_0xbcf6('0x3b')]=_['intersection'](_0x1911b5['model'],_0x1911b5[_0xbcf6('0x32')]);_0x55e325[_0xbcf6('0x36')]=_['intersection'](_0x1911b5[_0xbcf6('0x30')],qs[_0xbcf6('0x35')](_0x5f2ed0[_0xbcf6('0x32')][_0xbcf6('0x35')]));_0x55e325[_0xbcf6('0x36')]=_0x55e325[_0xbcf6('0x36')][_0xbcf6('0x37')]?_0x55e325[_0xbcf6('0x36')]:_0x1911b5[_0xbcf6('0x30')];if(!_0x5f2ed0[_0xbcf6('0x32')][_0xbcf6('0x6a')](_0xbcf6('0x38'))){_0x55e325[_0xbcf6('0x20')]=qs[_0xbcf6('0x20')](_0x5f2ed0[_0xbcf6('0x32')][_0xbcf6('0x20')]);_0x55e325[_0xbcf6('0x1d')]=qs[_0xbcf6('0x1d')](_0x5f2ed0[_0xbcf6('0x32')][_0xbcf6('0x1d')]);}_0x55e325[_0xbcf6('0x39')]=qs[_0xbcf6('0x3a')](_0x5f2ed0[_0xbcf6('0x32')][_0xbcf6('0x3a')]);_0x55e325[_0xbcf6('0x3d')]=qs['filters'](_[_0xbcf6('0x58')](_0x5f2ed0[_0xbcf6('0x32')],_0x1911b5[_0xbcf6('0x3b')]));_0x55e325[_0xbcf6('0x6b')]=!![];if(_0x5f2ed0[_0xbcf6('0x32')]['filter']){_0x55e325[_0xbcf6('0x3d')]=_['merge'](_0x55e325[_0xbcf6('0x3d')],{'$or':_['map'](_0x55e325[_0xbcf6('0x36')],function(_0x48c185){var _0x682b11={};_0x682b11[_0x48c185]={'$like':'%'+_0x5f2ed0['query'][_0xbcf6('0x3c')]+'%'};return _0x682b11;})});}_0x55e325=_[_0xbcf6('0x3f')]({},_0x55e325,_0x5f2ed0[_0xbcf6('0x40')]);return _0x11ce27['getContacts'](_0x55e325);}})['then'](respondWithResult(_0x25e1ed,null))[_0xbcf6('0x45')](handleError(_0x25e1ed,null));};exports['getContactsCsv']=function(_0x3af64f,_0x5bead3,_0x1a7261){var _0x104ca0;var _0x4dda76;var _0x1edc1d;var _0x44039a=_0x3af64f['params']['id'];csv_results=[];return db[_0xbcf6('0x6c')][_0xbcf6('0x43')]({'attributes':['id',_0xbcf6('0x2b')],'raw':!![],'order':[_0xbcf6('0x6d')]})[_0xbcf6('0x25')](function(_0x368c61){_0x104ca0=_0x368c61;var _0x199cd7=_[_0xbcf6('0x33')](db[_0xbcf6('0x5c')]['rawAttributes']);return db[_0xbcf6('0x6e')][_0xbcf6('0x43')]({'raw':!![],'attributes':['id',_0xbcf6('0x6f')]})[_0xbcf6('0x25')](function(_0x41e03d){_0x4dda76=_0x41e03d;var _0x24c31b=squel['select']()[_0xbcf6('0x35')](_0x199cd7)[_0xbcf6('0x70')]('cm_contacts','c')[_0xbcf6('0x3d')](_0xbcf6('0x71'),_0x44039a)['where'](_0xbcf6('0x72'))['distinct']();for(var _0x1ca7c7=0x0;_0x1ca7c7<_0x4dda76[_0xbcf6('0x37')];_0x1ca7c7++){_0x24c31b[_0xbcf6('0x73')](_0xbcf6('0x74')+_0x4dda76[_0x1ca7c7]['id'],_0xbcf6('0x75')+_0x4dda76[_0x1ca7c7][_0xbcf6('0x6f')]);}for(var _0x1ca7c7=0x0;_0x1ca7c7<_0x104ca0[_0xbcf6('0x37')];_0x1ca7c7++){_0x24c31b[_0xbcf6('0x73')](squel['select']()['field']('item')[_0xbcf6('0x70')](_0xbcf6('0x76'))[_0xbcf6('0x3d')](_0xbcf6('0x77'),_0x104ca0[_0x1ca7c7]['id'])[_0xbcf6('0x3d')](_0xbcf6('0x78')),_0xbcf6('0x79')+_0x104ca0[_0x1ca7c7][_0xbcf6('0x2b')]);_0x24c31b[_0xbcf6('0x73')](squel[_0xbcf6('0x7a')]()[_0xbcf6('0x73')]('description')['from'](_0xbcf6('0x76'))[_0xbcf6('0x3d')]('ItemTypeId\x20=\x20?',_0x104ca0[_0x1ca7c7]['id'])[_0xbcf6('0x3d')](_0xbcf6('0x78')),_0xbcf6('0x7b')+_0x104ca0[_0x1ca7c7]['name']);}var _0x45ec84=[];_0x45ec84['push'](_0x24c31b['toString']());BPromise['each'](_0x45ec84,handleQuery)[_0xbcf6('0x25')](function(_0x384e4c){handleQuery(_0x24c31b[_0xbcf6('0x7c')]());var _0x5664c4=csv_results[0x0];if(!_['isEmpty'](_0x5664c4)){var _0x279320=toCsv(_0x5664c4);var _0x19be5f=Date[_0xbcf6('0x7d')]();fs[_0xbcf6('0x7e')](util['format'](_0xbcf6('0x7f'),_0x44039a,_0x19be5f),_0x279320);_0x5bead3[_0xbcf6('0x80')](_0xbcf6('0x81'),_0xbcf6('0x82')+util[_0xbcf6('0x83')](_0xbcf6('0x84'),_0x44039a,_0x19be5f));_0x5bead3[_0xbcf6('0x80')](_0xbcf6('0x85'),_0xbcf6('0x86'));return _0x5bead3[_0xbcf6('0x87')](util[_0xbcf6('0x83')](_0xbcf6('0x7f'),_0x44039a,_0x19be5f));}else{return _0x5bead3[_0xbcf6('0x88')](0xcc);}});});});};exports[_0xbcf6('0x89')]=function(_0x537b55,_0x1e9810,_0xb3c1d7){var _0x32ff0a;delete _0x537b55[_0xbcf6('0x49')]['id'];return db[_0xbcf6('0x2c')][_0xbcf6('0x56')]({'where':{'id':_0x537b55[_0xbcf6('0x47')]['id']}})['then'](handleEntityNotFound(_0x1e9810,null))['then'](function(_0x1d3de2){if(_0x1d3de2){return db[_0xbcf6('0x8a')][_0xbcf6('0x8b')](function(_0x3874b6){return db[_0xbcf6('0x6e')][_0xbcf6('0x48')](_0x537b55[_0xbcf6('0x49')],{'transaction':_0x3874b6})[_0xbcf6('0x25')](function(_0x518f61){_0x32ff0a=_0x518f61;return _0x1d3de2[_0xbcf6('0x8c')](_0x518f61,{'transaction':_0x3874b6});})[_0xbcf6('0x25')](function(){var _0x4b4f52={'type':db['Sequelize'][_0xbcf6('0x8d')],'transaction':_0x3874b6};switch(_0x537b55[_0xbcf6('0x49')][_0xbcf6('0x2e')]){case _0xbcf6('0x8e'):_0x4b4f52['type']=db['Sequelize']['TEXT'];break;case _0xbcf6('0x8f'):_0x4b4f52[_0xbcf6('0x2e')]=db[_0xbcf6('0x90')]['INTEGER'];break;case _0xbcf6('0x91'):_0x4b4f52['type']=db[_0xbcf6('0x90')][_0xbcf6('0x92')];_0x4b4f52[_0xbcf6('0x93')]=![];break;default:}return db[_0xbcf6('0x8a')][_0xbcf6('0x94')]['addColumn'](_0xbcf6('0x95'),util[_0xbcf6('0x83')](_0xbcf6('0x96'),_0x32ff0a['id']),_0x4b4f52);})[_0xbcf6('0x25')](function(){return _0x32ff0a;});});}})[_0xbcf6('0x25')](respondWithResult(_0x1e9810,null))['catch'](handleError(_0x1e9810,null));};exports[_0xbcf6('0x97')]=function(_0x24f510,_0x40e3d2,_0x5868ee){var _0x5894bc={};var _0x16a806={};var _0x13bef7;var _0x3f3f94;return db[_0xbcf6('0x2c')][_0xbcf6('0x56')]({'where':{'id':_0x24f510['params']['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x40e3d2,null))['then'](function(_0xe069d9){if(_0xe069d9){_0x13bef7=_0xe069d9;_0x16a806[_0xbcf6('0x30')]=_[_0xbcf6('0x33')](db[_0xbcf6('0x6e')][_0xbcf6('0x57')]);_0x16a806[_0xbcf6('0x32')]=_[_0xbcf6('0x33')](_0x24f510[_0xbcf6('0x32')]);_0x16a806[_0xbcf6('0x3b')]=_[_0xbcf6('0x34')](_0x16a806['model'],_0x16a806[_0xbcf6('0x32')]);_0x5894bc[_0xbcf6('0x36')]=_[_0xbcf6('0x34')](_0x16a806[_0xbcf6('0x30')],qs[_0xbcf6('0x35')](_0x24f510[_0xbcf6('0x32')]['fields']));_0x5894bc[_0xbcf6('0x36')]=_0x5894bc[_0xbcf6('0x36')][_0xbcf6('0x37')]?_0x5894bc[_0xbcf6('0x36')]:_0x16a806[_0xbcf6('0x30')];_0x5894bc[_0xbcf6('0x39')]=qs['sort'](_0x24f510[_0xbcf6('0x32')][_0xbcf6('0x3a')]);_0x5894bc[_0xbcf6('0x3d')]=qs[_0xbcf6('0x3b')](_['pick'](_0x24f510[_0xbcf6('0x32')],_0x16a806[_0xbcf6('0x3b')]));_0x5894bc[_0xbcf6('0x3d')]=_[_0xbcf6('0x3f')](_0x5894bc[_0xbcf6('0x3d')],{'$or':[{'ListId':_0xe069d9['id']},{'ListId':null}]});if(_0x24f510[_0xbcf6('0x32')][_0xbcf6('0x3c')]){_0x5894bc[_0xbcf6('0x3d')]=_['merge'](_0x5894bc[_0xbcf6('0x3d')],{'$or':_[_0xbcf6('0x31')](_0x5894bc[_0xbcf6('0x36')],function(_0x57974f){var _0x518ce1={};_0x518ce1[_0x57974f]={'$like':'%'+_0x24f510[_0xbcf6('0x32')][_0xbcf6('0x3c')]+'%'};return _0x518ce1;})});}_0x5894bc=_[_0xbcf6('0x3f')]({},_0x5894bc,_0x24f510[_0xbcf6('0x40')]);return db['CmCustomField']['findAndCountAll'](_0x5894bc);}})[_0xbcf6('0x25')](respondWithResult(_0x40e3d2,null))['catch'](handleError(_0x40e3d2,null));};exports[_0xbcf6('0x98')]=function(_0x5ddedc,_0x5e1490){return db[_0xbcf6('0x6e')][_0xbcf6('0x99')]({'where':{'ListId':null}})['then'](handleEntityNotFound(_0x5e1490,null))[_0xbcf6('0x25')](function(_0x43a787){return _0x43a787;})[_0xbcf6('0x25')](respondWithResult(_0x5e1490,null))[_0xbcf6('0x45')](handleError(_0x5e1490,null));};exports[_0xbcf6('0x9a')]=function(_0x22931e,_0x34760d,_0x19ee15){return db[_0xbcf6('0x2c')][_0xbcf6('0x51')]({'where':{'id':_0x22931e[_0xbcf6('0x47')]['id']}})['then'](handleEntityNotFound(_0x34760d,null))[_0xbcf6('0x25')](function(_0x4b95fc){if(_0x4b95fc){return _0x4b95fc[_0xbcf6('0x9a')](_0x22931e['body'][_0xbcf6('0x5a')],_[_0xbcf6('0x62')](_0x22931e[_0xbcf6('0x49')],[_0xbcf6('0x5a'),'id'])||{})['spread'](function(_0x11995a){for(var _0x5de09b=0x0;_0x5de09b<_0x22931e[_0xbcf6('0x49')][_0xbcf6('0x5a')][_0xbcf6('0x37')];_0x5de09b+=0x1){socket[_0xbcf6('0x9b')](_0xbcf6('0x9c'),{'UserId':Number(_0x22931e[_0xbcf6('0x49')]['ids'][_0x5de09b]),'CmListId':Number(_0x22931e[_0xbcf6('0x47')]['id'])});}return _0x11995a;});}})[_0xbcf6('0x25')](respondWithResult(_0x34760d,null))['catch'](handleError(_0x34760d,null));};exports[_0xbcf6('0x9d')]=function(_0x2a6eb5,_0x211934,_0x314a34){return db[_0xbcf6('0x2c')]['find']({'where':{'id':_0x2a6eb5['params']['id']}})['then'](handleEntityNotFound(_0x211934,null))[_0xbcf6('0x25')](function(_0x336bca){if(_0x336bca){return _0x336bca['removeAgents'](_0x2a6eb5[_0xbcf6('0x32')]['ids'])['then'](function(){if(_['isArray'](_0x2a6eb5[_0xbcf6('0x32')]['ids'])){for(var _0x2a8d1a=0x0;_0x2a8d1a<_0x2a6eb5[_0xbcf6('0x32')][_0xbcf6('0x5a')][_0xbcf6('0x37')];_0x2a8d1a+=0x1){socket['emit']('userCmList:remove',{'UserId':Number(_0x2a6eb5['query']['ids'][_0x2a8d1a]),'CmListId':Number(_0x2a6eb5[_0xbcf6('0x47')]['id'])});}}else{socket['emit'](_0xbcf6('0x9e'),{'UserId':Number(_0x2a6eb5[_0xbcf6('0x32')][_0xbcf6('0x5a')]),'CmListId':Number(_0x2a6eb5[_0xbcf6('0x47')]['id'])});}});}})[_0xbcf6('0x25')](respondWithStatusCode(_0x211934,null))[_0xbcf6('0x45')](handleError(_0x211934,null));};exports[_0xbcf6('0x9f')]=function(_0x28c00b,_0x1629d7,_0x4c9775){var _0x3b4dde={};var _0x41fd2d={};var _0x126973;var _0xc03834;return db[_0xbcf6('0x2c')][_0xbcf6('0x56')]({'where':{'id':_0x28c00b[_0xbcf6('0x47')]['id']}})[_0xbcf6('0x25')](handleEntityNotFound(_0x1629d7,null))[_0xbcf6('0x25')](function(_0x4f0fda){if(_0x4f0fda){_0x126973=_0x4f0fda;_0x41fd2d[_0xbcf6('0x30')]=_[_0xbcf6('0x33')](db[_0xbcf6('0xa0')][_0xbcf6('0x57')]);_0x41fd2d[_0xbcf6('0x32')]=_[_0xbcf6('0x33')](_0x28c00b[_0xbcf6('0x32')]);_0x41fd2d['filters']=_[_0xbcf6('0x34')](_0x41fd2d['model'],_0x41fd2d['query']);_0x3b4dde['attributes']=_[_0xbcf6('0x34')](_0x41fd2d['model'],qs[_0xbcf6('0x35')](_0x28c00b['query'][_0xbcf6('0x35')]));_0x3b4dde[_0xbcf6('0x36')]=_0x3b4dde['attributes']['length']?_0x3b4dde[_0xbcf6('0x36')]:_0x41fd2d['model'];_0x3b4dde[_0xbcf6('0x39')]=qs[_0xbcf6('0x3a')](_0x28c00b['query']['sort']);_0x3b4dde['where']=qs[_0xbcf6('0x3b')](_['pick'](_0x28c00b[_0xbcf6('0x32')],_0x41fd2d[_0xbcf6('0x3b')]));if(_0x28c00b[_0xbcf6('0x32')][_0xbcf6('0x3c')]){_0x3b4dde[_0xbcf6('0x3d')]=_[_0xbcf6('0x3f')](_0x3b4dde[_0xbcf6('0x3d')],{'$or':_['map'](_0x3b4dde[_0xbcf6('0x36')],function(_0x35fa00){var _0x44d77e={};_0x44d77e[_0x35fa00]={'$like':'%'+_0x28c00b[_0xbcf6('0x32')][_0xbcf6('0x3c')]+'%'};return _0x44d77e;})});}_0x3b4dde=_[_0xbcf6('0x3f')]({},_0x3b4dde,_0x28c00b[_0xbcf6('0x40')]);return _0x126973[_0xbcf6('0x9f')](_0x3b4dde);}})['then'](function(_0xc2a5e4){if(_0xc2a5e4){_0xc03834=_0xc2a5e4[_0xbcf6('0x37')];if(!_0x28c00b['query']['hasOwnProperty']('nolimit')){_0x3b4dde['limit']=qs[_0xbcf6('0x20')](_0x28c00b['query']['limit']);_0x3b4dde['offset']=qs['offset'](_0x28c00b[_0xbcf6('0x32')]['offset']);}return _0x126973[_0xbcf6('0x9f')](_0x3b4dde);}})[_0xbcf6('0x25')](function(_0x110bfb){if(_0x110bfb){return _0x110bfb?{'count':_0xc03834,'rows':_0x110bfb}:null;}})[_0xbcf6('0x25')](respondWithResult(_0x1629d7,null))['catch'](handleError(_0x1629d7,null));};function handleQuery(_0x436090){logger['info'](_0x436090);return db['sequelize']['query'](_0x436090)[_0xbcf6('0xa1')](function(_0x15f2aa){csv_results['push'](_0x15f2aa);})[_0xbcf6('0x45')](function(_0x42d753){logger[_0xbcf6('0x4f')](_0x42d753['message']);});}