Built motion from commit (unavailable).|2.5.4
[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 _0xe836=['socket.io-emitter','./cmList.socket','register','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Lists','sendStatus','error','stack','name','send','index','map','CmList','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','findAll','rows','catch','show','params','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','ListId','Disposition','findOne','length','nolimit','removeDispositions','ids','addContacts','CmContact','tags','isArray','omit','success','push','dataValues','errors','message','getContacts','CmCustomField','CustomFields','cf_%d','raw','concat','isEmpty','now','writeFileSync','format','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','text/csv','download','addCustomField','sequelize','transaction','addCustomFields','TEXT','text','Sequelize','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','util','path','sox','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost'];(function(_0x6e326a,_0x52e8c7){var _0x5062c2=function(_0x2b5a7e){while(--_0x2b5a7e){_0x6e326a['push'](_0x6e326a['shift']());}};_0x5062c2(++_0x52e8c7);}(_0xe836,0x7c));var _0x6e83=function(_0x16fec1,_0x37b93a){_0x16fec1=_0x16fec1-0x0;var _0x4fa79e=_0xe836[_0x16fec1];return _0x4fa79e;};'use strict';var pdf=require(_0x6e83('0x0'));var emlformat=require(_0x6e83('0x1'));var rimraf=require(_0x6e83('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6e83('0x3'));var rp=require(_0x6e83('0x4'));var moment=require(_0x6e83('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x6e83('0x6'));var path=require(_0x6e83('0x7'));var sox=require(_0x6e83('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x6e83('0x9'));var crypto=require(_0x6e83('0xa'));var jsforce=require(_0x6e83('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x6e83('0xc'));var querystring=require(_0x6e83('0xd'));var Papa=require(_0x6e83('0xe'));var Redis=require(_0x6e83('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x6e83('0x10'));var as=require(_0x6e83('0x11'));var hardwareService=require(_0x6e83('0x12'));var logger=require(_0x6e83('0x13'))(_0x6e83('0x14'));var utils=require(_0x6e83('0x15'));var config=require(_0x6e83('0x16'));var db=require(_0x6e83('0x17'))['db'];config[_0x6e83('0x18')]=_[_0x6e83('0x19')](config['redis'],{'host':_0x6e83('0x1a'),'port':0x18eb});var socket=require(_0x6e83('0x1b'))(new Redis(config['redis']));require(_0x6e83('0x1c'))[_0x6e83('0x1d')](socket);function respondWithStatusCode(_0x50be70,_0x4d2974){_0x4d2974=_0x4d2974||0xcc;return function(_0x57c964){if(_0x57c964){return _0x50be70['sendStatus'](_0x4d2974);}return _0x50be70[_0x6e83('0x1e')](_0x4d2974)[_0x6e83('0x1f')]();};}function respondWithResult(_0x33f819,_0x3229a4){_0x3229a4=_0x3229a4||0xc8;return function(_0x542e8d){if(_0x542e8d){return _0x33f819['status'](_0x3229a4)[_0x6e83('0x20')](_0x542e8d);}};}function respondWithFilteredResult(_0x2907e,_0x7ffb47){return function(_0x529e29){if(_0x529e29){var _0x3326bd=_0x529e29[_0x6e83('0x21')],_0x1524e6=_0x7ffb47[_0x6e83('0x22')],_0x515df4=_0x7ffb47[_0x6e83('0x22')]+_0x7ffb47[_0x6e83('0x23')],_0xec49f4;if(_0x515df4>=_0x3326bd){_0x515df4=_0x3326bd;_0xec49f4=0xc8;}else{_0xec49f4=0xce;}_0x2907e[_0x6e83('0x1e')](_0xec49f4);return _0x2907e[_0x6e83('0x24')](_0x6e83('0x25'),_0x1524e6+'-'+_0x515df4+'/'+_0x3326bd)['json'](_0x529e29);}return null;};}function patchUpdates(_0x9b499a){return function(_0x18daa4){try{jsonpatch[_0x6e83('0x26')](_0x18daa4,_0x9b499a,!![]);}catch(_0x114163){return BPromise[_0x6e83('0x27')](_0x114163);}return _0x18daa4[_0x6e83('0x28')]();};}function saveUpdates(_0x4ccc81,_0x592ef9){return function(_0xd71856){if(_0xd71856){return _0xd71856[_0x6e83('0x29')](_0x4ccc81)[_0x6e83('0x2a')](function(_0x63b78d){return _0x63b78d;});}return null;};}function removeEntity(_0x12614d,_0x16a5c7){return function(_0x55d944){if(_0x55d944){return _0x55d944[_0x6e83('0x2b')]()[_0x6e83('0x2a')](function(){var _0x4201a7=_0x55d944[_0x6e83('0x2c')]({'plain':!![]});var _0x30a663=_0x6e83('0x2d');return db['UserProfileResource'][_0x6e83('0x2b')]({'where':{'type':_0x30a663,'resourceId':_0x4201a7['id']}})['then'](function(){return _0x55d944;});})['then'](function(){_0x12614d[_0x6e83('0x1e')](0xcc)[_0x6e83('0x1f')]();});}};}function handleEntityNotFound(_0x1993cd,_0x1e91bc){return function(_0x3fe1b0){if(!_0x3fe1b0){_0x1993cd[_0x6e83('0x2e')](0x194);}return _0x3fe1b0;};}function handleError(_0x4564c5,_0x5dc580){_0x5dc580=_0x5dc580||0x1f4;return function(_0x20982b){logger[_0x6e83('0x2f')](_0x20982b[_0x6e83('0x30')]);if(_0x20982b['name']){delete _0x20982b[_0x6e83('0x31')];}_0x4564c5[_0x6e83('0x1e')](_0x5dc580)[_0x6e83('0x32')](_0x20982b);};}exports[_0x6e83('0x33')]=function(_0x227603,_0x48e66d){var _0x187bbc={},_0x18d956={},_0x2c2ac2={'count':0x0,'rows':[]};var _0x21ce29=_[_0x6e83('0x34')](db[_0x6e83('0x35')][_0x6e83('0x36')],function(_0x4b6951){return{'name':_0x4b6951[_0x6e83('0x37')],'type':_0x4b6951[_0x6e83('0x38')][_0x6e83('0x39')]};});_0x18d956[_0x6e83('0x3a')]=_[_0x6e83('0x34')](_0x21ce29,_0x6e83('0x31'));_0x18d956[_0x6e83('0x3b')]=_[_0x6e83('0x3c')](_0x227603[_0x6e83('0x3b')]);_0x18d956[_0x6e83('0x3d')]=_[_0x6e83('0x3e')](_0x18d956['model'],_0x18d956[_0x6e83('0x3b')]);_0x187bbc[_0x6e83('0x3f')]=_['intersection'](_0x18d956[_0x6e83('0x3a')],qs[_0x6e83('0x40')](_0x227603[_0x6e83('0x3b')]['fields']));_0x187bbc[_0x6e83('0x3f')]=_0x187bbc[_0x6e83('0x3f')]['length']?_0x187bbc[_0x6e83('0x3f')]:_0x18d956['model'];if(!_0x227603[_0x6e83('0x3b')][_0x6e83('0x41')]('nolimit')){_0x187bbc[_0x6e83('0x23')]=qs[_0x6e83('0x23')](_0x227603[_0x6e83('0x3b')]['limit']);_0x187bbc[_0x6e83('0x22')]=qs[_0x6e83('0x22')](_0x227603[_0x6e83('0x3b')][_0x6e83('0x22')]);}_0x187bbc[_0x6e83('0x42')]=qs[_0x6e83('0x43')](_0x227603[_0x6e83('0x3b')]['sort']);_0x187bbc[_0x6e83('0x44')]=qs['filters'](_[_0x6e83('0x45')](_0x227603[_0x6e83('0x3b')],_0x18d956[_0x6e83('0x3d')]),_0x21ce29);if(_0x227603[_0x6e83('0x3b')]['filter']){_0x187bbc[_0x6e83('0x44')]=_['merge'](_0x187bbc[_0x6e83('0x44')],{'$or':_['map'](_0x21ce29,function(_0x159636){if(_0x159636[_0x6e83('0x38')]!=='VIRTUAL'){var _0x1b131f={};_0x1b131f[_0x159636[_0x6e83('0x31')]]={'$like':'%'+_0x227603[_0x6e83('0x3b')][_0x6e83('0x46')]+'%'};return _0x1b131f;}})});}_0x187bbc=_[_0x6e83('0x47')]({},_0x187bbc,_0x227603[_0x6e83('0x48')]);var _0x11cbdc={'where':_0x187bbc[_0x6e83('0x44')]};return db['CmList'][_0x6e83('0x21')](_0x11cbdc)[_0x6e83('0x2a')](function(_0x5bfb26){_0x2c2ac2[_0x6e83('0x21')]=_0x5bfb26;if(_0x227603[_0x6e83('0x3b')][_0x6e83('0x49')]){_0x187bbc['include']=[{'all':!![]}];}return db[_0x6e83('0x35')][_0x6e83('0x4a')](_0x187bbc);})[_0x6e83('0x2a')](function(_0x3909a3){_0x2c2ac2[_0x6e83('0x4b')]=_0x3909a3;return _0x2c2ac2;})['then'](respondWithFilteredResult(_0x48e66d,_0x187bbc))[_0x6e83('0x4c')](handleError(_0x48e66d,null));};exports[_0x6e83('0x4d')]=function(_0x2a863b,_0x4bebd7){var _0x311801={'raw':![],'where':{'id':_0x2a863b[_0x6e83('0x4e')]['id']}},_0x2fbd0a={};_0x2fbd0a[_0x6e83('0x3a')]=_[_0x6e83('0x3c')](db[_0x6e83('0x35')][_0x6e83('0x36')]);_0x2fbd0a['query']=_[_0x6e83('0x3c')](_0x2a863b[_0x6e83('0x3b')]);_0x2fbd0a['filters']=_[_0x6e83('0x3e')](_0x2fbd0a[_0x6e83('0x3a')],_0x2fbd0a[_0x6e83('0x3b')]);_0x311801[_0x6e83('0x3f')]=_[_0x6e83('0x3e')](_0x2fbd0a[_0x6e83('0x3a')],qs[_0x6e83('0x40')](_0x2a863b['query'][_0x6e83('0x40')]));_0x311801['attributes']=_0x311801['attributes']['length']?_0x311801[_0x6e83('0x3f')]:_0x2fbd0a['model'];if(_0x2a863b['query']['includeAll']){_0x311801[_0x6e83('0x4f')]=[{'all':!![]}];}_0x311801=_[_0x6e83('0x47')]({},_0x311801,_0x2a863b[_0x6e83('0x48')]);return db[_0x6e83('0x35')][_0x6e83('0x50')](_0x311801)[_0x6e83('0x2a')](handleEntityNotFound(_0x4bebd7,null))['then'](respondWithResult(_0x4bebd7,null))[_0x6e83('0x4c')](handleError(_0x4bebd7,null));};exports[_0x6e83('0x51')]=function(_0x32c6b2,_0x13abf8){return db[_0x6e83('0x35')]['create'](_0x32c6b2[_0x6e83('0x52')],{})[_0x6e83('0x2a')](function(_0x46d10c){var _0x23e83a=_0x32c6b2[_0x6e83('0x53')][_0x6e83('0x2c')]({'plain':!![]});if(!_0x23e83a)throw new Error(_0x6e83('0x54'));if(_0x23e83a[_0x6e83('0x55')]===_0x6e83('0x53')){var _0x243b7d=_0x46d10c[_0x6e83('0x2c')]({'plain':!![]});var _0x18fa1b=_0x6e83('0x2d');return db[_0x6e83('0x56')][_0x6e83('0x50')]({'where':{'name':_0x18fa1b,'userProfileId':_0x23e83a[_0x6e83('0x57')]},'raw':!![]})[_0x6e83('0x2a')](function(_0x5248d5){if(_0x5248d5&&_0x5248d5['autoAssociation']===0x0){return db[_0x6e83('0x58')]['create']({'name':_0x243b7d[_0x6e83('0x31')],'resourceId':_0x243b7d['id'],'type':_0x5248d5[_0x6e83('0x31')],'sectionId':_0x5248d5['id']},{})['then'](function(){return _0x46d10c;});}else{return _0x46d10c;}})[_0x6e83('0x4c')](function(_0x4a8276){logger[_0x6e83('0x2f')](_0x6e83('0x59'),_0x4a8276);throw _0x4a8276;});}return _0x46d10c;})[_0x6e83('0x2a')](respondWithResult(_0x13abf8,0xc9))[_0x6e83('0x4c')](handleError(_0x13abf8,null));};exports[_0x6e83('0x29')]=function(_0x1eb651,_0x1fbfd8){if(_0x1eb651[_0x6e83('0x52')]['id']){delete _0x1eb651[_0x6e83('0x52')]['id'];}return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x1eb651[_0x6e83('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1fbfd8,null))[_0x6e83('0x2a')](saveUpdates(_0x1eb651[_0x6e83('0x52')],null))['then'](respondWithResult(_0x1fbfd8,null))[_0x6e83('0x4c')](handleError(_0x1fbfd8,null));};exports[_0x6e83('0x2b')]=function(_0x177344,_0x1af2de){return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x177344[_0x6e83('0x4e')]['id']}})['then'](handleEntityNotFound(_0x1af2de,null))[_0x6e83('0x2a')](removeEntity(_0x1af2de,null))[_0x6e83('0x4c')](handleError(_0x1af2de,null));};exports['describe']=function(_0x435f71,_0x422af1){return db['CmList'][_0x6e83('0x5a')]()[_0x6e83('0x2a')](respondWithResult(_0x422af1,null))[_0x6e83('0x4c')](handleError(_0x422af1,null));};exports[_0x6e83('0x5b')]=function(_0x136dad,_0x434f9c,_0x2a9cf1){if(_0x136dad['body']['id']){delete _0x136dad['body']['id'];}return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x136dad[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x434f9c,null))[_0x6e83('0x2a')](function(_0x4f1b05){if(_0x4f1b05){_0x136dad[_0x6e83('0x52')][_0x6e83('0x5c')]=_0x4f1b05['id'];return db[_0x6e83('0x5d')]['create'](_0x136dad[_0x6e83('0x52')]);}})[_0x6e83('0x2a')](respondWithResult(_0x434f9c,null))[_0x6e83('0x4c')](handleError(_0x434f9c,null));};exports['getDispositions']=function(_0x2c9556,_0x27052b,_0x154428){var _0x58b7aa={'raw':![],'where':{}};var _0x280742={};var _0x267a5f={'count':0x0,'rows':[]};return db[_0x6e83('0x35')][_0x6e83('0x5e')]({'where':{'id':_0x2c9556['params']['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x27052b,null))[_0x6e83('0x2a')](function(_0x382231){if(_0x382231){_0x280742[_0x6e83('0x3a')]=_[_0x6e83('0x3c')](db[_0x6e83('0x5d')]['rawAttributes']);_0x280742['query']=_[_0x6e83('0x3c')](_0x2c9556[_0x6e83('0x3b')]);_0x280742['filters']=_[_0x6e83('0x3e')](_0x280742[_0x6e83('0x3a')],_0x280742[_0x6e83('0x3b')]);_0x58b7aa[_0x6e83('0x3f')]=_['intersection'](_0x280742[_0x6e83('0x3a')],qs[_0x6e83('0x40')](_0x2c9556[_0x6e83('0x3b')][_0x6e83('0x40')]));_0x58b7aa[_0x6e83('0x3f')]=_0x58b7aa[_0x6e83('0x3f')][_0x6e83('0x5f')]?_0x58b7aa[_0x6e83('0x3f')]:_0x280742[_0x6e83('0x3a')];if(!_0x2c9556['query']['hasOwnProperty'](_0x6e83('0x60'))){_0x58b7aa[_0x6e83('0x23')]=qs[_0x6e83('0x23')](_0x2c9556[_0x6e83('0x3b')][_0x6e83('0x23')]);_0x58b7aa[_0x6e83('0x22')]=qs[_0x6e83('0x22')](_0x2c9556[_0x6e83('0x3b')][_0x6e83('0x22')]);}_0x58b7aa[_0x6e83('0x42')]=qs[_0x6e83('0x43')](_0x2c9556[_0x6e83('0x3b')]['sort']);_0x58b7aa[_0x6e83('0x44')]=qs['filters'](_['pick'](_0x2c9556[_0x6e83('0x3b')],_0x280742[_0x6e83('0x3d')]));_0x58b7aa[_0x6e83('0x44')][_0x6e83('0x5c')]=_0x382231['id'];if(_0x2c9556[_0x6e83('0x3b')][_0x6e83('0x46')]){_0x58b7aa[_0x6e83('0x44')]=_[_0x6e83('0x47')](_0x58b7aa[_0x6e83('0x44')],{'$or':_[_0x6e83('0x34')](_0x58b7aa['attributes'],function(_0x2a17db){var _0x34649c={};_0x34649c[_0x2a17db]={'$like':'%'+_0x2c9556[_0x6e83('0x3b')][_0x6e83('0x46')]+'%'};return _0x34649c;})});}_0x58b7aa=_[_0x6e83('0x47')]({},_0x58b7aa,_0x2c9556[_0x6e83('0x48')]);return db[_0x6e83('0x5d')]['count']({'where':_0x58b7aa[_0x6e83('0x44')]})[_0x6e83('0x2a')](function(_0x273e3a){_0x267a5f['count']=_0x273e3a;if(_0x2c9556[_0x6e83('0x3b')]['includeAll']){_0x58b7aa['include']=[{'all':!![]}];}return db[_0x6e83('0x5d')][_0x6e83('0x4a')](_0x58b7aa);})[_0x6e83('0x2a')](function(_0x4117f9){_0x267a5f[_0x6e83('0x4b')]=_0x4117f9;return _0x267a5f;});}})['then'](respondWithFilteredResult(_0x27052b,_0x58b7aa))[_0x6e83('0x4c')](handleError(_0x27052b,null));};exports[_0x6e83('0x61')]=function(_0x581349,_0x4938d7,_0xd9124b){return db[_0x6e83('0x35')]['find']({'where':{'id':_0x581349[_0x6e83('0x4e')]['id']}})['then'](handleEntityNotFound(_0x4938d7,null))[_0x6e83('0x2a')](function(_0x1006b4){if(_0x1006b4){return _0x1006b4[_0x6e83('0x61')](_0x581349[_0x6e83('0x3b')][_0x6e83('0x62')]);}})[_0x6e83('0x2a')](respondWithStatusCode(_0x4938d7,null))[_0x6e83('0x4c')](handleError(_0x4938d7,null));};exports[_0x6e83('0x63')]=function(_0x5e744a,_0x90f22c,_0x2795ea){return db['CmList'][_0x6e83('0x50')]({'where':{'id':_0x5e744a[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x90f22c,null))['then'](function(_0x4790a7){if(_0x4790a7){var _0x511954=[];var _0x7dba34={'success':[],'errors':[]};return db[_0x6e83('0x64')]['describe']()[_0x6e83('0x2a')](function(_0x1a4010){if(_0x5e744a['body'][_0x6e83('0x65')]&&_[_0x6e83('0x66')](_0x5e744a['body'][_0x6e83('0x65')])){if(_0x5e744a['body'][_0x6e83('0x65')][_0x6e83('0x5f')]){_0x5e744a[_0x6e83('0x52')]['tags']=_0x5e744a[_0x6e83('0x52')]['tags']['join'](';')+';';}else{_0x5e744a[_0x6e83('0x52')][_0x6e83('0x65')]=null;}}else{_0x5e744a[_0x6e83('0x52')][_0x6e83('0x65')]=null;}if(_0x5e744a['body']&&_['isArray'](_0x5e744a[_0x6e83('0x52')])){for(var _0x5c00be=0x0;_0x5c00be<_0x5e744a[_0x6e83('0x52')][_0x6e83('0x5f')];_0x5c00be+=0x1){_0x5e744a[_0x6e83('0x52')][_0x5c00be]['ListId']=_0x5e744a[_0x6e83('0x4e')]['id'];_0x511954['push'](_0x5e744a[_0x6e83('0x52')][_0x5c00be]);}return BPromise['each'](_0x511954,function(_0xe45c68){return db[_0x6e83('0x64')][_0x6e83('0x51')](_[_0x6e83('0x67')](_0xe45c68,['ids','id'])||{},{'fields':_[_0x6e83('0x3c')](_0x1a4010),'raw':!![]})['then'](function(_0x362ba2){_0x7dba34[_0x6e83('0x68')][_0x6e83('0x69')](_0x362ba2[_0x6e83('0x6a')]);})['catch'](function(_0x1c5ade){_0x7dba34[_0x6e83('0x6b')][_0x6e83('0x69')]({'data':_0xe45c68,'error':_0x1c5ade[_0x6e83('0x6c')]});});})[_0x6e83('0x2a')](function(_0x329c77){return _0x7dba34;})[_0x6e83('0x4c')](function(_0x443440){return _0x443440;});}else{_0x90f22c[_0x6e83('0x1e')](0x190)[_0x6e83('0x20')]({'message':'Malformed\x20request\x20syntax'});}});}})['then'](respondWithResult(_0x90f22c,null))[_0x6e83('0x4c')](handleError(_0x90f22c,null));};exports[_0x6e83('0x6d')]=function(_0x1fa37b,_0x1313dd,_0x43290b){var _0x3a9d67;return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x1fa37b['params']['id']},'include':[{'model':db[_0x6e83('0x6e')],'as':_0x6e83('0x6f')}]})[_0x6e83('0x2a')](handleEntityNotFound(_0x1313dd,null))['then'](function(_0x20ad27){if(_0x20ad27){_0x3a9d67=_0x20ad27;return db[_0x6e83('0x64')][_0x6e83('0x36')];}})[_0x6e83('0x2a')](function(_0x2a19e4){if(_0x2a19e4){var _0x1249e7={};var _0x474696={};_0x474696[_0x6e83('0x3a')]=_['concat'](_[_0x6e83('0x3c')](_0x2a19e4),_[_0x6e83('0x34')](_0x3a9d67[_0x6e83('0x6f')],function(_0x1d26a6){return util['format'](_0x6e83('0x70'),_0x1d26a6['id']);}));_0x474696[_0x6e83('0x3b')]=_['keys'](_0x1fa37b['query']);_0x474696[_0x6e83('0x3d')]=_[_0x6e83('0x3e')](_0x474696['model'],_0x474696[_0x6e83('0x3b')]);_0x1249e7[_0x6e83('0x3f')]=_[_0x6e83('0x3e')](_0x474696['model'],qs[_0x6e83('0x40')](_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x40')]));_0x1249e7[_0x6e83('0x3f')]=_0x1249e7[_0x6e83('0x3f')][_0x6e83('0x5f')]?_0x1249e7[_0x6e83('0x3f')]:_0x474696[_0x6e83('0x3a')];if(!_0x1fa37b['query'][_0x6e83('0x41')](_0x6e83('0x60'))){_0x1249e7[_0x6e83('0x23')]=qs[_0x6e83('0x23')](_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x23')]);_0x1249e7[_0x6e83('0x22')]=qs[_0x6e83('0x22')](_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x22')]);}_0x1249e7[_0x6e83('0x42')]=qs[_0x6e83('0x43')](_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x43')]);_0x1249e7[_0x6e83('0x44')]=qs['filters'](_['pick'](_0x1fa37b[_0x6e83('0x3b')],_0x474696[_0x6e83('0x3d')]));_0x1249e7[_0x6e83('0x71')]=!![];if(_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x46')]){_0x1249e7['where']=_['merge'](_0x1249e7[_0x6e83('0x44')],{'$or':_['map'](_0x1249e7[_0x6e83('0x3f')],function(_0x34da27){var _0x498490={};_0x498490[_0x34da27]={'$like':'%'+_0x1fa37b[_0x6e83('0x3b')][_0x6e83('0x46')]+'%'};return _0x498490;})});}_0x1249e7=_[_0x6e83('0x47')]({},_0x1249e7,_0x1fa37b['options']);return _0x3a9d67[_0x6e83('0x6d')](_0x1249e7);}})[_0x6e83('0x2a')](respondWithResult(_0x1313dd,null))['catch'](handleError(_0x1313dd,null));};exports['getContactsCsv']=function(_0x4ec464,_0x29d1eb,_0x201bc8){var _0x3d11ed;return db['CmList'][_0x6e83('0x50')]({'where':{'id':_0x4ec464['params']['id']},'include':[{'model':db['CmCustomField'],'as':_0x6e83('0x6f')}]})[_0x6e83('0x2a')](handleEntityNotFound(_0x29d1eb,null))[_0x6e83('0x2a')](function(_0x17b68e){if(_0x17b68e){_0x3d11ed=_0x17b68e;return db[_0x6e83('0x64')]['rawAttributes'];}})[_0x6e83('0x2a')](function(_0x597071){if(_0x597071){var _0x25e51c={};var _0x392b6f={};_0x392b6f[_0x6e83('0x3a')]=_[_0x6e83('0x72')](_['keys'](_0x597071),_['map'](_0x3d11ed['CustomFields'],function(_0x542587){return util['format'](_0x6e83('0x70'),_0x542587['id']);}));_0x392b6f[_0x6e83('0x3b')]=_[_0x6e83('0x3c')](_0x4ec464[_0x6e83('0x3b')]);_0x392b6f[_0x6e83('0x3d')]=_[_0x6e83('0x3e')](_0x392b6f[_0x6e83('0x3a')],_0x392b6f['query']);_0x25e51c['attributes']=_['intersection'](_0x392b6f['model'],qs[_0x6e83('0x40')](_0x4ec464[_0x6e83('0x3b')][_0x6e83('0x40')]));_0x25e51c[_0x6e83('0x3f')]=_0x25e51c[_0x6e83('0x3f')]['length']?_0x25e51c[_0x6e83('0x3f')]:_0x392b6f[_0x6e83('0x3a')];if(!_0x4ec464[_0x6e83('0x3b')]['hasOwnProperty'](_0x6e83('0x60'))){_0x25e51c[_0x6e83('0x23')]=qs['limit'](_0x4ec464[_0x6e83('0x3b')][_0x6e83('0x23')]);_0x25e51c[_0x6e83('0x22')]=qs[_0x6e83('0x22')](_0x4ec464[_0x6e83('0x3b')]['offset']);}_0x25e51c['order']=qs[_0x6e83('0x43')](_0x4ec464[_0x6e83('0x3b')][_0x6e83('0x43')]);_0x25e51c[_0x6e83('0x44')]=qs[_0x6e83('0x3d')](_[_0x6e83('0x45')](_0x4ec464[_0x6e83('0x3b')],_0x392b6f['filters']));_0x25e51c[_0x6e83('0x71')]=!![];if(_0x4ec464[_0x6e83('0x3b')][_0x6e83('0x46')]){_0x25e51c[_0x6e83('0x44')]=_[_0x6e83('0x47')](_0x25e51c[_0x6e83('0x44')],{'$or':_[_0x6e83('0x34')](_0x25e51c[_0x6e83('0x3f')],function(_0x4853d1){var _0x1b15df={};_0x1b15df[_0x4853d1]={'$like':'%'+_0x4ec464[_0x6e83('0x3b')]['filter']+'%'};return _0x1b15df;})});}_0x25e51c=_[_0x6e83('0x47')]({},_0x25e51c,_0x4ec464['options']);return _0x3d11ed[_0x6e83('0x6d')](_0x25e51c);}})[_0x6e83('0x2a')](function(_0x588231){if(!_[_0x6e83('0x73')](_0x588231)){var _0x592311=toCsv(_0x588231);var _0x2d11c9=Date[_0x6e83('0x74')]();fs[_0x6e83('0x75')](util[_0x6e83('0x76')](_0x6e83('0x77'),_0x3d11ed['id'],_0x2d11c9),_0x592311);_0x29d1eb[_0x6e83('0x78')](_0x6e83('0x79'),_0x6e83('0x7a')+util[_0x6e83('0x76')](_0x6e83('0x7b'),_0x3d11ed['id'],_0x2d11c9));_0x29d1eb[_0x6e83('0x78')](_0x6e83('0x7c'),_0x6e83('0x7d'));return _0x29d1eb[_0x6e83('0x7e')](util[_0x6e83('0x76')](_0x6e83('0x77'),_0x3d11ed['id'],_0x2d11c9));}else{return _0x29d1eb[_0x6e83('0x2e')](0xcc);}})[_0x6e83('0x4c')](handleError(_0x29d1eb,null));};exports[_0x6e83('0x7f')]=function(_0x117c1d,_0x2d1d8b,_0x2d2d07){var _0x171bb2;delete _0x117c1d['body']['id'];return db[_0x6e83('0x35')][_0x6e83('0x5e')]({'where':{'id':_0x117c1d[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x2d1d8b,null))[_0x6e83('0x2a')](function(_0x205a99){if(_0x205a99){return db[_0x6e83('0x80')][_0x6e83('0x81')](function(_0x5561e1){return db[_0x6e83('0x6e')]['create'](_0x117c1d[_0x6e83('0x52')],{'transaction':_0x5561e1})['then'](function(_0x32c7e8){_0x171bb2=_0x32c7e8;return _0x205a99[_0x6e83('0x82')](_0x32c7e8,{'transaction':_0x5561e1});})[_0x6e83('0x2a')](function(){var _0xfb8013={'type':db['Sequelize'][_0x6e83('0x83')],'transaction':_0x5561e1};switch(_0x117c1d['body'][_0x6e83('0x38')]){case _0x6e83('0x84'):_0xfb8013['type']=db[_0x6e83('0x85')][_0x6e83('0x83')];break;case _0x6e83('0x86'):_0xfb8013[_0x6e83('0x38')]=db['Sequelize'][_0x6e83('0x87')];break;case _0x6e83('0x88'):_0xfb8013[_0x6e83('0x38')]=db[_0x6e83('0x85')][_0x6e83('0x89')];_0xfb8013[_0x6e83('0x8a')]=![];break;default:}return db[_0x6e83('0x80')][_0x6e83('0x8b')]['addColumn'](_0x6e83('0x8c'),util[_0x6e83('0x76')]('cf_%s',_0x171bb2['id']),_0xfb8013);})[_0x6e83('0x2a')](function(){return _0x171bb2;});});}})[_0x6e83('0x2a')](respondWithResult(_0x2d1d8b,null))[_0x6e83('0x4c')](handleError(_0x2d1d8b,null));};exports[_0x6e83('0x8d')]=function(_0x489eb6,_0x511bde,_0x89c9a2){var _0x970e43={};var _0x2bc93e={};var _0x5d67e4;var _0x562ddb;return db[_0x6e83('0x35')][_0x6e83('0x5e')]({'where':{'id':_0x489eb6[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x511bde,null))[_0x6e83('0x2a')](function(_0xf63946){if(_0xf63946){_0x5d67e4=_0xf63946;_0x2bc93e['model']=_[_0x6e83('0x3c')](db['CmCustomField'][_0x6e83('0x36')]);_0x2bc93e[_0x6e83('0x3b')]=_[_0x6e83('0x3c')](_0x489eb6['query']);_0x2bc93e[_0x6e83('0x3d')]=_[_0x6e83('0x3e')](_0x2bc93e[_0x6e83('0x3a')],_0x2bc93e['query']);_0x970e43['attributes']=_[_0x6e83('0x3e')](_0x2bc93e[_0x6e83('0x3a')],qs['fields'](_0x489eb6[_0x6e83('0x3b')][_0x6e83('0x40')]));_0x970e43[_0x6e83('0x3f')]=_0x970e43[_0x6e83('0x3f')][_0x6e83('0x5f')]?_0x970e43['attributes']:_0x2bc93e['model'];_0x970e43[_0x6e83('0x42')]=qs['sort'](_0x489eb6[_0x6e83('0x3b')][_0x6e83('0x43')]);_0x970e43[_0x6e83('0x44')]=qs[_0x6e83('0x3d')](_[_0x6e83('0x45')](_0x489eb6[_0x6e83('0x3b')],_0x2bc93e[_0x6e83('0x3d')]));_0x970e43[_0x6e83('0x44')]=_[_0x6e83('0x47')](_0x970e43['where'],{'$or':[{'ListId':_0xf63946['id']},{'ListId':null}]});if(_0x489eb6[_0x6e83('0x3b')][_0x6e83('0x46')]){_0x970e43['where']=_[_0x6e83('0x47')](_0x970e43[_0x6e83('0x44')],{'$or':_[_0x6e83('0x34')](_0x970e43[_0x6e83('0x3f')],function(_0x5318c4){var _0x1f0fbe={};_0x1f0fbe[_0x5318c4]={'$like':'%'+_0x489eb6[_0x6e83('0x3b')][_0x6e83('0x46')]+'%'};return _0x1f0fbe;})});}_0x970e43=_[_0x6e83('0x47')]({},_0x970e43,_0x489eb6[_0x6e83('0x48')]);return db['CmCustomField'][_0x6e83('0x8e')](_0x970e43);}})[_0x6e83('0x2a')](respondWithResult(_0x511bde,null))[_0x6e83('0x4c')](handleError(_0x511bde,null));};exports[_0x6e83('0x8f')]=function(_0x544d92,_0x4ac6fc,_0x35cfdb){return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x544d92['params']['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x4ac6fc,null))[_0x6e83('0x2a')](function(_0x4f78a1){if(_0x4f78a1){return _0x4f78a1[_0x6e83('0x8f')](_0x544d92[_0x6e83('0x52')][_0x6e83('0x62')],_['omit'](_0x544d92['body'],['ids','id'])||{})[_0x6e83('0x90')](function(_0x1e5478){for(var _0x35ece3=0x0;_0x35ece3<_0x544d92[_0x6e83('0x52')][_0x6e83('0x62')][_0x6e83('0x5f')];_0x35ece3+=0x1){socket[_0x6e83('0x91')](_0x6e83('0x92'),{'UserId':_0x544d92[_0x6e83('0x52')][_0x6e83('0x62')][_0x35ece3],'CmListId':_0x544d92[_0x6e83('0x4e')]['id']});}return _0x1e5478;});}})[_0x6e83('0x2a')](respondWithResult(_0x4ac6fc,null))[_0x6e83('0x4c')](handleError(_0x4ac6fc,null));};exports[_0x6e83('0x93')]=function(_0x3631f5,_0x281b5c,_0x3c5f97){return db[_0x6e83('0x35')][_0x6e83('0x50')]({'where':{'id':_0x3631f5[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x281b5c,null))[_0x6e83('0x2a')](function(_0x5342eb){if(_0x5342eb){return _0x5342eb[_0x6e83('0x93')](_0x3631f5[_0x6e83('0x3b')][_0x6e83('0x62')])['then'](function(){if(_[_0x6e83('0x66')](_0x3631f5['query'][_0x6e83('0x62')])){for(var _0x3488bb=0x0;_0x3488bb<_0x3631f5[_0x6e83('0x3b')][_0x6e83('0x62')][_0x6e83('0x5f')];_0x3488bb+=0x1){socket[_0x6e83('0x91')](_0x6e83('0x94'),{'UserId':Number(_0x3631f5[_0x6e83('0x3b')][_0x6e83('0x62')][_0x3488bb]),'CmListId':Number(_0x3631f5[_0x6e83('0x4e')]['id'])});}}else{socket['emit'](_0x6e83('0x94'),{'UserId':Number(_0x3631f5[_0x6e83('0x3b')][_0x6e83('0x62')]),'CmListId':Number(_0x3631f5['params']['id'])});}});}})['then'](respondWithStatusCode(_0x281b5c,null))[_0x6e83('0x4c')](handleError(_0x281b5c,null));};exports[_0x6e83('0x95')]=function(_0x36e7f7,_0x2e8030,_0xa71d12){var _0x51c94d={};var _0x44d5e8={};var _0x1e050b;var _0x1d6274;return db[_0x6e83('0x35')]['findOne']({'where':{'id':_0x36e7f7[_0x6e83('0x4e')]['id']}})[_0x6e83('0x2a')](handleEntityNotFound(_0x2e8030,null))[_0x6e83('0x2a')](function(_0x5d4a9b){if(_0x5d4a9b){_0x1e050b=_0x5d4a9b;_0x44d5e8[_0x6e83('0x3a')]=_['keys'](db[_0x6e83('0x96')][_0x6e83('0x36')]);_0x44d5e8[_0x6e83('0x3b')]=_[_0x6e83('0x3c')](_0x36e7f7['query']);_0x44d5e8[_0x6e83('0x3d')]=_['intersection'](_0x44d5e8[_0x6e83('0x3a')],_0x44d5e8[_0x6e83('0x3b')]);_0x51c94d[_0x6e83('0x3f')]=_[_0x6e83('0x3e')](_0x44d5e8['model'],qs[_0x6e83('0x40')](_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x40')]));_0x51c94d[_0x6e83('0x3f')]=_0x51c94d['attributes'][_0x6e83('0x5f')]?_0x51c94d[_0x6e83('0x3f')]:_0x44d5e8[_0x6e83('0x3a')];_0x51c94d['order']=qs[_0x6e83('0x43')](_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x43')]);_0x51c94d[_0x6e83('0x44')]=qs[_0x6e83('0x3d')](_[_0x6e83('0x45')](_0x36e7f7[_0x6e83('0x3b')],_0x44d5e8['filters']));if(_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x46')]){_0x51c94d[_0x6e83('0x44')]=_['merge'](_0x51c94d[_0x6e83('0x44')],{'$or':_[_0x6e83('0x34')](_0x51c94d['attributes'],function(_0x54fd3d){var _0x1ec157={};_0x1ec157[_0x54fd3d]={'$like':'%'+_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x46')]+'%'};return _0x1ec157;})});}_0x51c94d=_[_0x6e83('0x47')]({},_0x51c94d,_0x36e7f7[_0x6e83('0x48')]);return _0x1e050b[_0x6e83('0x95')](_0x51c94d);}})['then'](function(_0x288620){if(_0x288620){_0x1d6274=_0x288620[_0x6e83('0x5f')];if(!_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x41')](_0x6e83('0x60'))){_0x51c94d['limit']=qs[_0x6e83('0x23')](_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x23')]);_0x51c94d['offset']=qs[_0x6e83('0x22')](_0x36e7f7[_0x6e83('0x3b')][_0x6e83('0x22')]);}return _0x1e050b[_0x6e83('0x95')](_0x51c94d);}})['then'](function(_0x225dcb){if(_0x225dcb){return _0x225dcb?{'count':_0x1d6274,'rows':_0x225dcb}:null;}})[_0x6e83('0x2a')](respondWithResult(_0x2e8030,null))[_0x6e83('0x4c')](handleError(_0x2e8030,null));};