Built motion from commit (unavailable).|2.5.0
[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 _0xa820=['to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','./cmList.socket','register','status','end','json','count','offset','limit','set','Content-Range','reject','update','then','get','Lists','UserProfileResource','destroy','sendStatus','error','stack','name','index','map','CmList','rawAttributes','type','key','model','keys','filters','intersection','attributes','query','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addDisposition','ListId','Disposition','getDispositions','findOne','removeDispositions','addContacts','CmContact','tags','isArray','push','each','omit','ids','success','dataValues','message','Malformed\x20request\x20syntax','CmCustomField','concat','CustomFields','format','cf_%d','raw','getContactsCsv','getContacts','isEmpty','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','attachment;\x20filename=','list_%d_%s.csv','text/csv','download','addCustomField','sequelize','transaction','TEXT','text','Sequelize','number','switch','BOOLEAN','defaultValue','queryInterface','addColumn','getCustomFields','findAndCountAll','addAgents','spread','emit','removeAgents','userCmList:remove','getAgents','User','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','lodash','squel','crypto','jsforce','desk.js'];(function(_0x1d80be,_0x3a60ff){var _0xf9a4f3=function(_0x5b8a08){while(--_0x5b8a08){_0x1d80be['push'](_0x1d80be['shift']());}};_0xf9a4f3(++_0x3a60ff);}(_0xa820,0x113));var _0x0a82=function(_0xb0de07,_0x3ca2a0){_0xb0de07=_0xb0de07-0x0;var _0x4633d8=_0xa820[_0xb0de07];return _0x4633d8;};'use strict';var pdf=require(_0x0a82('0x0'));var emlformat=require(_0x0a82('0x1'));var rimraf=require(_0x0a82('0x2'));var zipdir=require(_0x0a82('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0a82('0x4'));var moment=require(_0x0a82('0x5'));var BPromise=require(_0x0a82('0x6'));var Mustache=require(_0x0a82('0x7'));var util=require(_0x0a82('0x8'));var path=require(_0x0a82('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x0a82('0xa'));var squel=require(_0x0a82('0xb'));var crypto=require(_0x0a82('0xc'));var jsforce=require(_0x0a82('0xd'));var deskjs=require(_0x0a82('0xe'));var toCsv=require(_0x0a82('0xf'));var querystring=require('querystring');var Papa=require(_0x0a82('0x10'));var Redis=require(_0x0a82('0x11'));var authService=require(_0x0a82('0x12'));var qs=require(_0x0a82('0x13'));var as=require(_0x0a82('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0a82('0x15'))(_0x0a82('0x16'));var utils=require('../../config/utils');var config=require(_0x0a82('0x17'));var db=require(_0x0a82('0x18'))['db'];config[_0x0a82('0x19')]=_[_0x0a82('0x1a')](config[_0x0a82('0x19')],{'host':_0x0a82('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x0a82('0x1c'))[_0x0a82('0x1d')](socket);function respondWithStatusCode(_0x52ac1a,_0x38ce0e){_0x38ce0e=_0x38ce0e||0xcc;return function(_0x2e08a2){if(_0x2e08a2){return _0x52ac1a['sendStatus'](_0x38ce0e);}return _0x52ac1a[_0x0a82('0x1e')](_0x38ce0e)[_0x0a82('0x1f')]();};}function respondWithResult(_0x43d65a,_0x45d5f3){_0x45d5f3=_0x45d5f3||0xc8;return function(_0x45da07){if(_0x45da07){return _0x43d65a[_0x0a82('0x1e')](_0x45d5f3)[_0x0a82('0x20')](_0x45da07);}};}function respondWithFilteredResult(_0x38880f,_0x471dff){return function(_0x289497){if(_0x289497){var _0x57db98=_0x289497[_0x0a82('0x21')],_0x40bf22=_0x471dff[_0x0a82('0x22')],_0xe0712f=_0x471dff[_0x0a82('0x22')]+_0x471dff[_0x0a82('0x23')],_0x410ff2;if(_0xe0712f>=_0x57db98){_0xe0712f=_0x57db98;_0x410ff2=0xc8;}else{_0x410ff2=0xce;}_0x38880f[_0x0a82('0x1e')](_0x410ff2);return _0x38880f[_0x0a82('0x24')](_0x0a82('0x25'),_0x40bf22+'-'+_0xe0712f+'/'+_0x57db98)[_0x0a82('0x20')](_0x289497);}return null;};}function patchUpdates(_0x37e11f){return function(_0x5989ff){try{jsonpatch['apply'](_0x5989ff,_0x37e11f,!![]);}catch(_0x509cf3){return BPromise[_0x0a82('0x26')](_0x509cf3);}return _0x5989ff['save']();};}function saveUpdates(_0x509623,_0x9f734d){return function(_0x3412a8){if(_0x3412a8){return _0x3412a8[_0x0a82('0x27')](_0x509623)['then'](function(_0x79f115){return _0x79f115;});}return null;};}function removeEntity(_0x37428e,_0x309788){return function(_0x53be12){if(_0x53be12){return _0x53be12['destroy']()[_0x0a82('0x28')](function(){var _0x4442f5=_0x53be12[_0x0a82('0x29')]({'plain':!![]});var _0x401bc4=_0x0a82('0x2a');return db[_0x0a82('0x2b')][_0x0a82('0x2c')]({'where':{'type':_0x401bc4,'resourceId':_0x4442f5['id']}})[_0x0a82('0x28')](function(){return _0x53be12;});})[_0x0a82('0x28')](function(){_0x37428e['status'](0xcc)[_0x0a82('0x1f')]();});}};}function handleEntityNotFound(_0x30b119,_0x26859e){return function(_0x27c2d0){if(!_0x27c2d0){_0x30b119[_0x0a82('0x2d')](0x194);}return _0x27c2d0;};}function handleError(_0x5778ff,_0x147e3a){_0x147e3a=_0x147e3a||0x1f4;return function(_0x3b6cdd){logger[_0x0a82('0x2e')](_0x3b6cdd[_0x0a82('0x2f')]);if(_0x3b6cdd[_0x0a82('0x30')]){delete _0x3b6cdd[_0x0a82('0x30')];}_0x5778ff[_0x0a82('0x1e')](_0x147e3a)['send'](_0x3b6cdd);};}exports[_0x0a82('0x31')]=function(_0x5dac86,_0x5776bc){var _0x5eeb7d={},_0x9f3e25={},_0x13fb17={'count':0x0,'rows':[]};var _0x40c1dd=_[_0x0a82('0x32')](db[_0x0a82('0x33')][_0x0a82('0x34')],function(_0xb2cd17){return{'name':_0xb2cd17['fieldName'],'type':_0xb2cd17[_0x0a82('0x35')][_0x0a82('0x36')]};});_0x9f3e25[_0x0a82('0x37')]=_[_0x0a82('0x32')](_0x40c1dd,_0x0a82('0x30'));_0x9f3e25['query']=_[_0x0a82('0x38')](_0x5dac86['query']);_0x9f3e25[_0x0a82('0x39')]=_[_0x0a82('0x3a')](_0x9f3e25[_0x0a82('0x37')],_0x9f3e25['query']);_0x5eeb7d[_0x0a82('0x3b')]=_[_0x0a82('0x3a')](_0x9f3e25['model'],qs['fields'](_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x3d')]));_0x5eeb7d[_0x0a82('0x3b')]=_0x5eeb7d['attributes'][_0x0a82('0x3e')]?_0x5eeb7d[_0x0a82('0x3b')]:_0x9f3e25['model'];if(!_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x3f')](_0x0a82('0x40'))){_0x5eeb7d[_0x0a82('0x23')]=qs[_0x0a82('0x23')](_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x23')]);_0x5eeb7d[_0x0a82('0x22')]=qs[_0x0a82('0x22')](_0x5dac86['query'][_0x0a82('0x22')]);}_0x5eeb7d[_0x0a82('0x41')]=qs['sort'](_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x42')]);_0x5eeb7d[_0x0a82('0x43')]=qs['filters'](_[_0x0a82('0x44')](_0x5dac86['query'],_0x9f3e25['filters']),_0x40c1dd);if(_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x45')]){_0x5eeb7d[_0x0a82('0x43')]=_['merge'](_0x5eeb7d['where'],{'$or':_[_0x0a82('0x32')](_0x40c1dd,function(_0x396d98){if(_0x396d98[_0x0a82('0x35')]!=='VIRTUAL'){var _0x241b58={};_0x241b58[_0x396d98['name']]={'$like':'%'+_0x5dac86['query'][_0x0a82('0x45')]+'%'};return _0x241b58;}})});}_0x5eeb7d=_[_0x0a82('0x46')]({},_0x5eeb7d,_0x5dac86[_0x0a82('0x47')]);var _0x4c83f4={'where':_0x5eeb7d[_0x0a82('0x43')]};return db[_0x0a82('0x33')][_0x0a82('0x21')](_0x4c83f4)[_0x0a82('0x28')](function(_0x4941a9){_0x13fb17[_0x0a82('0x21')]=_0x4941a9;if(_0x5dac86[_0x0a82('0x3c')][_0x0a82('0x48')]){_0x5eeb7d[_0x0a82('0x49')]=[{'all':!![]}];}return db[_0x0a82('0x33')][_0x0a82('0x4a')](_0x5eeb7d);})[_0x0a82('0x28')](function(_0x46ef82){_0x13fb17[_0x0a82('0x4b')]=_0x46ef82;return _0x13fb17;})['then'](respondWithFilteredResult(_0x5776bc,_0x5eeb7d))[_0x0a82('0x4c')](handleError(_0x5776bc,null));};exports['show']=function(_0x30f1e9,_0x5238b4){var _0x1121a9={'raw':![],'where':{'id':_0x30f1e9['params']['id']}},_0x5b40f4={};_0x5b40f4[_0x0a82('0x37')]=_[_0x0a82('0x38')](db[_0x0a82('0x33')][_0x0a82('0x34')]);_0x5b40f4[_0x0a82('0x3c')]=_[_0x0a82('0x38')](_0x30f1e9[_0x0a82('0x3c')]);_0x5b40f4[_0x0a82('0x39')]=_[_0x0a82('0x3a')](_0x5b40f4[_0x0a82('0x37')],_0x5b40f4[_0x0a82('0x3c')]);_0x1121a9[_0x0a82('0x3b')]=_[_0x0a82('0x3a')](_0x5b40f4[_0x0a82('0x37')],qs[_0x0a82('0x3d')](_0x30f1e9[_0x0a82('0x3c')]['fields']));_0x1121a9[_0x0a82('0x3b')]=_0x1121a9['attributes'][_0x0a82('0x3e')]?_0x1121a9[_0x0a82('0x3b')]:_0x5b40f4['model'];if(_0x30f1e9[_0x0a82('0x3c')][_0x0a82('0x48')]){_0x1121a9[_0x0a82('0x49')]=[{'all':!![]}];}_0x1121a9=_[_0x0a82('0x46')]({},_0x1121a9,_0x30f1e9[_0x0a82('0x47')]);return db[_0x0a82('0x33')][_0x0a82('0x4d')](_0x1121a9)[_0x0a82('0x28')](handleEntityNotFound(_0x5238b4,null))[_0x0a82('0x28')](respondWithResult(_0x5238b4,null))['catch'](handleError(_0x5238b4,null));};exports['create']=function(_0x4096cc,_0x34ffd9){return db[_0x0a82('0x33')][_0x0a82('0x4e')](_0x4096cc[_0x0a82('0x4f')],{})[_0x0a82('0x28')](function(_0x3483c6){var _0x170f47=_0x4096cc['user'][_0x0a82('0x29')]({'plain':!![]});if(!_0x170f47)throw new Error(_0x0a82('0x50'));if(_0x170f47[_0x0a82('0x51')]===_0x0a82('0x52')){var _0x3310cb=_0x3483c6[_0x0a82('0x29')]({'plain':!![]});var _0xa0d93c=_0x0a82('0x2a');return db[_0x0a82('0x53')][_0x0a82('0x4d')]({'where':{'name':_0xa0d93c,'userProfileId':_0x170f47[_0x0a82('0x54')]},'raw':!![]})[_0x0a82('0x28')](function(_0x199f1b){if(_0x199f1b&&_0x199f1b[_0x0a82('0x55')]===0x0){return db[_0x0a82('0x2b')][_0x0a82('0x4e')]({'name':_0x3310cb['name'],'resourceId':_0x3310cb['id'],'type':_0x199f1b[_0x0a82('0x30')],'sectionId':_0x199f1b['id']},{})['then'](function(){return _0x3483c6;});}else{return _0x3483c6;}})['catch'](function(_0x21bb1b){logger[_0x0a82('0x2e')](_0x0a82('0x56'),_0x21bb1b);throw _0x21bb1b;});}return _0x3483c6;})[_0x0a82('0x28')](respondWithResult(_0x34ffd9,0xc9))[_0x0a82('0x4c')](handleError(_0x34ffd9,null));};exports[_0x0a82('0x27')]=function(_0x408934,_0x45e2c3){if(_0x408934['body']['id']){delete _0x408934[_0x0a82('0x4f')]['id'];}return db[_0x0a82('0x33')][_0x0a82('0x4d')]({'where':{'id':_0x408934[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x45e2c3,null))[_0x0a82('0x28')](saveUpdates(_0x408934['body'],null))[_0x0a82('0x28')](respondWithResult(_0x45e2c3,null))[_0x0a82('0x4c')](handleError(_0x45e2c3,null));};exports[_0x0a82('0x2c')]=function(_0x29bce0,_0x31c144){return db[_0x0a82('0x33')][_0x0a82('0x4d')]({'where':{'id':_0x29bce0[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x31c144,null))[_0x0a82('0x28')](removeEntity(_0x31c144,null))['catch'](handleError(_0x31c144,null));};exports[_0x0a82('0x58')]=function(_0x41bf43,_0x1c3524){return db['CmList'][_0x0a82('0x58')]()['then'](respondWithResult(_0x1c3524,null))[_0x0a82('0x4c')](handleError(_0x1c3524,null));};exports[_0x0a82('0x59')]=function(_0x249f5c,_0x10427d,_0x300871){if(_0x249f5c[_0x0a82('0x4f')]['id']){delete _0x249f5c[_0x0a82('0x4f')]['id'];}return db[_0x0a82('0x33')][_0x0a82('0x4d')]({'where':{'id':_0x249f5c[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x10427d,null))[_0x0a82('0x28')](function(_0x305eed){if(_0x305eed){_0x249f5c['body'][_0x0a82('0x5a')]=_0x305eed['id'];return db[_0x0a82('0x5b')][_0x0a82('0x4e')](_0x249f5c[_0x0a82('0x4f')]);}})[_0x0a82('0x28')](respondWithResult(_0x10427d,null))['catch'](handleError(_0x10427d,null));};exports[_0x0a82('0x5c')]=function(_0x253815,_0x389974,_0x54ab6c){var _0x5dde01={'raw':![],'where':{}};var _0x577aae={};var _0x25fd81={'count':0x0,'rows':[]};return db[_0x0a82('0x33')][_0x0a82('0x5d')]({'where':{'id':_0x253815[_0x0a82('0x57')]['id']}})['then'](handleEntityNotFound(_0x389974,null))[_0x0a82('0x28')](function(_0x403f33){if(_0x403f33){_0x577aae[_0x0a82('0x37')]=_['keys'](db[_0x0a82('0x5b')]['rawAttributes']);_0x577aae[_0x0a82('0x3c')]=_['keys'](_0x253815[_0x0a82('0x3c')]);_0x577aae[_0x0a82('0x39')]=_[_0x0a82('0x3a')](_0x577aae[_0x0a82('0x37')],_0x577aae[_0x0a82('0x3c')]);_0x5dde01[_0x0a82('0x3b')]=_['intersection'](_0x577aae['model'],qs['fields'](_0x253815[_0x0a82('0x3c')][_0x0a82('0x3d')]));_0x5dde01[_0x0a82('0x3b')]=_0x5dde01[_0x0a82('0x3b')][_0x0a82('0x3e')]?_0x5dde01[_0x0a82('0x3b')]:_0x577aae[_0x0a82('0x37')];if(!_0x253815[_0x0a82('0x3c')][_0x0a82('0x3f')]('nolimit')){_0x5dde01['limit']=qs['limit'](_0x253815[_0x0a82('0x3c')]['limit']);_0x5dde01[_0x0a82('0x22')]=qs[_0x0a82('0x22')](_0x253815[_0x0a82('0x3c')]['offset']);}_0x5dde01[_0x0a82('0x41')]=qs[_0x0a82('0x42')](_0x253815[_0x0a82('0x3c')][_0x0a82('0x42')]);_0x5dde01['where']=qs[_0x0a82('0x39')](_['pick'](_0x253815[_0x0a82('0x3c')],_0x577aae[_0x0a82('0x39')]));_0x5dde01[_0x0a82('0x43')][_0x0a82('0x5a')]=_0x403f33['id'];if(_0x253815[_0x0a82('0x3c')]['filter']){_0x5dde01[_0x0a82('0x43')]=_[_0x0a82('0x46')](_0x5dde01['where'],{'$or':_[_0x0a82('0x32')](_0x5dde01[_0x0a82('0x3b')],function(_0x5162a1){var _0x3e90b7={};_0x3e90b7[_0x5162a1]={'$like':'%'+_0x253815['query'][_0x0a82('0x45')]+'%'};return _0x3e90b7;})});}_0x5dde01=_['merge']({},_0x5dde01,_0x253815[_0x0a82('0x47')]);return db[_0x0a82('0x5b')][_0x0a82('0x21')]({'where':_0x5dde01[_0x0a82('0x43')]})[_0x0a82('0x28')](function(_0x258e4e){_0x25fd81[_0x0a82('0x21')]=_0x258e4e;if(_0x253815[_0x0a82('0x3c')][_0x0a82('0x48')]){_0x5dde01[_0x0a82('0x49')]=[{'all':!![]}];}return db['Disposition'][_0x0a82('0x4a')](_0x5dde01);})[_0x0a82('0x28')](function(_0x5213ac){_0x25fd81[_0x0a82('0x4b')]=_0x5213ac;return _0x25fd81;});}})[_0x0a82('0x28')](respondWithFilteredResult(_0x389974,_0x5dde01))[_0x0a82('0x4c')](handleError(_0x389974,null));};exports['removeDispositions']=function(_0x28895d,_0x4046e4,_0x2cf584){return db['CmList'][_0x0a82('0x4d')]({'where':{'id':_0x28895d[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x4046e4,null))['then'](function(_0x1c50df){if(_0x1c50df){return _0x1c50df[_0x0a82('0x5e')](_0x28895d[_0x0a82('0x3c')]['ids']);}})['then'](respondWithStatusCode(_0x4046e4,null))[_0x0a82('0x4c')](handleError(_0x4046e4,null));};exports[_0x0a82('0x5f')]=function(_0x322aad,_0x371035,_0x3ac331){return db['CmList']['find']({'where':{'id':_0x322aad[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x371035,null))[_0x0a82('0x28')](function(_0x5f3cfc){if(_0x5f3cfc){var _0x1dd262=[];var _0x223c14={'success':[],'errors':[]};return db[_0x0a82('0x60')]['describe']()[_0x0a82('0x28')](function(_0x2d4462){if(_0x322aad['body'][_0x0a82('0x61')]&&_['isArray'](_0x322aad[_0x0a82('0x4f')]['tags'])){if(_0x322aad[_0x0a82('0x4f')][_0x0a82('0x61')][_0x0a82('0x3e')]){_0x322aad['body'][_0x0a82('0x61')]=_0x322aad[_0x0a82('0x4f')][_0x0a82('0x61')]['join'](';')+';';}else{_0x322aad['body']['tags']=null;}}else{_0x322aad[_0x0a82('0x4f')][_0x0a82('0x61')]=null;}if(_0x322aad['body']&&_[_0x0a82('0x62')](_0x322aad[_0x0a82('0x4f')])){for(var _0x59959d=0x0;_0x59959d<_0x322aad[_0x0a82('0x4f')][_0x0a82('0x3e')];_0x59959d+=0x1){_0x322aad[_0x0a82('0x4f')][_0x59959d][_0x0a82('0x5a')]=_0x322aad[_0x0a82('0x57')]['id'];_0x1dd262[_0x0a82('0x63')](_0x322aad[_0x0a82('0x4f')][_0x59959d]);}return BPromise[_0x0a82('0x64')](_0x1dd262,function(_0x1ac7ef){return db['CmContact']['create'](_[_0x0a82('0x65')](_0x1ac7ef,[_0x0a82('0x66'),'id'])||{},{'fields':_['keys'](_0x2d4462),'raw':!![]})[_0x0a82('0x28')](function(_0x20b26e){_0x223c14[_0x0a82('0x67')][_0x0a82('0x63')](_0x20b26e[_0x0a82('0x68')]);})[_0x0a82('0x4c')](function(_0xb79141){_0x223c14['errors'][_0x0a82('0x63')]({'data':_0x1ac7ef,'error':_0xb79141[_0x0a82('0x69')]});});})[_0x0a82('0x28')](function(_0x1437e6){return _0x223c14;})['catch'](function(_0x232847){return _0x232847;});}else{_0x371035[_0x0a82('0x1e')](0x190)['json']({'message':_0x0a82('0x6a')});}});}})[_0x0a82('0x28')](respondWithResult(_0x371035,null))['catch'](handleError(_0x371035,null));};exports['getContacts']=function(_0x22d4a0,_0x30d1f9,_0x218316){var _0x135bb8;return db[_0x0a82('0x33')]['find']({'where':{'id':_0x22d4a0[_0x0a82('0x57')]['id']},'include':[{'model':db[_0x0a82('0x6b')],'as':'CustomFields'}]})['then'](handleEntityNotFound(_0x30d1f9,null))[_0x0a82('0x28')](function(_0x346db7){if(_0x346db7){_0x135bb8=_0x346db7;return db[_0x0a82('0x60')][_0x0a82('0x34')];}})[_0x0a82('0x28')](function(_0x63b23e){if(_0x63b23e){var _0x5c5458={};var _0x3cd466={};_0x3cd466[_0x0a82('0x37')]=_[_0x0a82('0x6c')](_[_0x0a82('0x38')](_0x63b23e),_['map'](_0x135bb8[_0x0a82('0x6d')],function(_0x45a9ef){return util[_0x0a82('0x6e')](_0x0a82('0x6f'),_0x45a9ef['id']);}));_0x3cd466[_0x0a82('0x3c')]=_[_0x0a82('0x38')](_0x22d4a0[_0x0a82('0x3c')]);_0x3cd466[_0x0a82('0x39')]=_['intersection'](_0x3cd466[_0x0a82('0x37')],_0x3cd466['query']);_0x5c5458['attributes']=_['intersection'](_0x3cd466['model'],qs[_0x0a82('0x3d')](_0x22d4a0['query'][_0x0a82('0x3d')]));_0x5c5458[_0x0a82('0x3b')]=_0x5c5458[_0x0a82('0x3b')][_0x0a82('0x3e')]?_0x5c5458['attributes']:_0x3cd466['model'];if(!_0x22d4a0[_0x0a82('0x3c')][_0x0a82('0x3f')](_0x0a82('0x40'))){_0x5c5458[_0x0a82('0x23')]=qs['limit'](_0x22d4a0[_0x0a82('0x3c')][_0x0a82('0x23')]);_0x5c5458[_0x0a82('0x22')]=qs[_0x0a82('0x22')](_0x22d4a0['query'][_0x0a82('0x22')]);}_0x5c5458[_0x0a82('0x41')]=qs[_0x0a82('0x42')](_0x22d4a0[_0x0a82('0x3c')]['sort']);_0x5c5458[_0x0a82('0x43')]=qs[_0x0a82('0x39')](_[_0x0a82('0x44')](_0x22d4a0[_0x0a82('0x3c')],_0x3cd466['filters']));_0x5c5458[_0x0a82('0x70')]=!![];if(_0x22d4a0[_0x0a82('0x3c')]['filter']){_0x5c5458['where']=_[_0x0a82('0x46')](_0x5c5458['where'],{'$or':_['map'](_0x5c5458[_0x0a82('0x3b')],function(_0x136088){var _0x28d7fd={};_0x28d7fd[_0x136088]={'$like':'%'+_0x22d4a0['query'][_0x0a82('0x45')]+'%'};return _0x28d7fd;})});}_0x5c5458=_['merge']({},_0x5c5458,_0x22d4a0[_0x0a82('0x47')]);return _0x135bb8['getContacts'](_0x5c5458);}})[_0x0a82('0x28')](respondWithResult(_0x30d1f9,null))[_0x0a82('0x4c')](handleError(_0x30d1f9,null));};exports[_0x0a82('0x71')]=function(_0x436f12,_0x53abf3,_0x38886f){var _0x318aa9;return db[_0x0a82('0x33')][_0x0a82('0x4d')]({'where':{'id':_0x436f12[_0x0a82('0x57')]['id']},'include':[{'model':db[_0x0a82('0x6b')],'as':'CustomFields'}]})[_0x0a82('0x28')](handleEntityNotFound(_0x53abf3,null))[_0x0a82('0x28')](function(_0x2985f4){if(_0x2985f4){_0x318aa9=_0x2985f4;return db[_0x0a82('0x60')][_0x0a82('0x34')];}})[_0x0a82('0x28')](function(_0x23f863){if(_0x23f863){var _0x57ef3d={};var _0x24bd94={};_0x24bd94['model']=_[_0x0a82('0x6c')](_['keys'](_0x23f863),_[_0x0a82('0x32')](_0x318aa9['CustomFields'],function(_0x450820){return util[_0x0a82('0x6e')](_0x0a82('0x6f'),_0x450820['id']);}));_0x24bd94[_0x0a82('0x3c')]=_[_0x0a82('0x38')](_0x436f12['query']);_0x24bd94[_0x0a82('0x39')]=_[_0x0a82('0x3a')](_0x24bd94['model'],_0x24bd94[_0x0a82('0x3c')]);_0x57ef3d['attributes']=_[_0x0a82('0x3a')](_0x24bd94[_0x0a82('0x37')],qs[_0x0a82('0x3d')](_0x436f12['query'][_0x0a82('0x3d')]));_0x57ef3d[_0x0a82('0x3b')]=_0x57ef3d['attributes'][_0x0a82('0x3e')]?_0x57ef3d[_0x0a82('0x3b')]:_0x24bd94[_0x0a82('0x37')];if(!_0x436f12[_0x0a82('0x3c')][_0x0a82('0x3f')](_0x0a82('0x40'))){_0x57ef3d['limit']=qs[_0x0a82('0x23')](_0x436f12[_0x0a82('0x3c')][_0x0a82('0x23')]);_0x57ef3d[_0x0a82('0x22')]=qs['offset'](_0x436f12['query'][_0x0a82('0x22')]);}_0x57ef3d[_0x0a82('0x41')]=qs[_0x0a82('0x42')](_0x436f12['query']['sort']);_0x57ef3d[_0x0a82('0x43')]=qs[_0x0a82('0x39')](_[_0x0a82('0x44')](_0x436f12[_0x0a82('0x3c')],_0x24bd94[_0x0a82('0x39')]));_0x57ef3d[_0x0a82('0x70')]=!![];if(_0x436f12[_0x0a82('0x3c')][_0x0a82('0x45')]){_0x57ef3d[_0x0a82('0x43')]=_[_0x0a82('0x46')](_0x57ef3d[_0x0a82('0x43')],{'$or':_[_0x0a82('0x32')](_0x57ef3d[_0x0a82('0x3b')],function(_0x27ba2f){var _0x31d395={};_0x31d395[_0x27ba2f]={'$like':'%'+_0x436f12[_0x0a82('0x3c')][_0x0a82('0x45')]+'%'};return _0x31d395;})});}_0x57ef3d=_[_0x0a82('0x46')]({},_0x57ef3d,_0x436f12[_0x0a82('0x47')]);return _0x318aa9[_0x0a82('0x72')](_0x57ef3d);}})[_0x0a82('0x28')](function(_0x3e5796){if(!_[_0x0a82('0x73')](_0x3e5796)){var _0x1bbc87=toCsv(_0x3e5796);var _0x1d03c3=Date[_0x0a82('0x74')]();fs[_0x0a82('0x75')](util[_0x0a82('0x6e')](_0x0a82('0x76'),_0x318aa9['id'],_0x1d03c3),_0x1bbc87);_0x53abf3[_0x0a82('0x77')]('Content-disposition',_0x0a82('0x78')+util[_0x0a82('0x6e')](_0x0a82('0x79'),_0x318aa9['id'],_0x1d03c3));_0x53abf3[_0x0a82('0x77')]('Content-type',_0x0a82('0x7a'));return _0x53abf3[_0x0a82('0x7b')](util['format'](_0x0a82('0x76'),_0x318aa9['id'],_0x1d03c3));}else{return _0x53abf3['sendStatus'](0xcc);}})[_0x0a82('0x4c')](handleError(_0x53abf3,null));};exports[_0x0a82('0x7c')]=function(_0x55a4df,_0x4efc8b,_0x301814){var _0xfd6ad4;delete _0x55a4df[_0x0a82('0x4f')]['id'];return db[_0x0a82('0x33')]['findOne']({'where':{'id':_0x55a4df['params']['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x4efc8b,null))[_0x0a82('0x28')](function(_0x425f19){if(_0x425f19){return db[_0x0a82('0x7d')][_0x0a82('0x7e')](function(_0x463ac2){return db[_0x0a82('0x6b')][_0x0a82('0x4e')](_0x55a4df[_0x0a82('0x4f')],{'transaction':_0x463ac2})[_0x0a82('0x28')](function(_0x20c155){_0xfd6ad4=_0x20c155;return _0x425f19['addCustomFields'](_0x20c155,{'transaction':_0x463ac2});})[_0x0a82('0x28')](function(){var _0x4e086a={'type':db['Sequelize'][_0x0a82('0x7f')],'transaction':_0x463ac2};switch(_0x55a4df[_0x0a82('0x4f')][_0x0a82('0x35')]){case _0x0a82('0x80'):_0x4e086a['type']=db[_0x0a82('0x81')][_0x0a82('0x7f')];break;case _0x0a82('0x82'):_0x4e086a[_0x0a82('0x35')]=db[_0x0a82('0x81')]['INTEGER'];break;case _0x0a82('0x83'):_0x4e086a[_0x0a82('0x35')]=db['Sequelize'][_0x0a82('0x84')];_0x4e086a[_0x0a82('0x85')]=![];break;default:}return db[_0x0a82('0x7d')][_0x0a82('0x86')][_0x0a82('0x87')]('cm_contacts',util[_0x0a82('0x6e')]('cf_%s',_0xfd6ad4['id']),_0x4e086a);})['then'](function(){return _0xfd6ad4;});});}})[_0x0a82('0x28')](respondWithResult(_0x4efc8b,null))[_0x0a82('0x4c')](handleError(_0x4efc8b,null));};exports[_0x0a82('0x88')]=function(_0x3fa812,_0x1bd6ac,_0x27e8d0){var _0x4df072={};var _0x1a8790={};var _0x146f89;var _0x1cd9cf;return db[_0x0a82('0x33')][_0x0a82('0x5d')]({'where':{'id':_0x3fa812[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x1bd6ac,null))[_0x0a82('0x28')](function(_0x4c8e5c){if(_0x4c8e5c){_0x146f89=_0x4c8e5c;_0x1a8790[_0x0a82('0x37')]=_[_0x0a82('0x38')](db[_0x0a82('0x6b')][_0x0a82('0x34')]);_0x1a8790[_0x0a82('0x3c')]=_['keys'](_0x3fa812['query']);_0x1a8790[_0x0a82('0x39')]=_['intersection'](_0x1a8790['model'],_0x1a8790[_0x0a82('0x3c')]);_0x4df072[_0x0a82('0x3b')]=_[_0x0a82('0x3a')](_0x1a8790['model'],qs['fields'](_0x3fa812[_0x0a82('0x3c')][_0x0a82('0x3d')]));_0x4df072[_0x0a82('0x3b')]=_0x4df072[_0x0a82('0x3b')][_0x0a82('0x3e')]?_0x4df072[_0x0a82('0x3b')]:_0x1a8790[_0x0a82('0x37')];_0x4df072[_0x0a82('0x41')]=qs[_0x0a82('0x42')](_0x3fa812[_0x0a82('0x3c')][_0x0a82('0x42')]);_0x4df072[_0x0a82('0x43')]=qs[_0x0a82('0x39')](_[_0x0a82('0x44')](_0x3fa812[_0x0a82('0x3c')],_0x1a8790[_0x0a82('0x39')]));_0x4df072['where']=_[_0x0a82('0x46')](_0x4df072['where'],{'$or':[{'ListId':_0x4c8e5c['id']},{'ListId':null}]});if(_0x3fa812[_0x0a82('0x3c')][_0x0a82('0x45')]){_0x4df072[_0x0a82('0x43')]=_['merge'](_0x4df072[_0x0a82('0x43')],{'$or':_[_0x0a82('0x32')](_0x4df072['attributes'],function(_0x4a361d){var _0x2ff894={};_0x2ff894[_0x4a361d]={'$like':'%'+_0x3fa812[_0x0a82('0x3c')][_0x0a82('0x45')]+'%'};return _0x2ff894;})});}_0x4df072=_[_0x0a82('0x46')]({},_0x4df072,_0x3fa812[_0x0a82('0x47')]);return db['CmCustomField'][_0x0a82('0x89')](_0x4df072);}})[_0x0a82('0x28')](respondWithResult(_0x1bd6ac,null))['catch'](handleError(_0x1bd6ac,null));};exports[_0x0a82('0x8a')]=function(_0x437b51,_0x106116,_0x1f72d8){return db['CmList'][_0x0a82('0x4d')]({'where':{'id':_0x437b51[_0x0a82('0x57')]['id']}})['then'](handleEntityNotFound(_0x106116,null))[_0x0a82('0x28')](function(_0x43327c){if(_0x43327c){return _0x43327c['addAgents'](_0x437b51[_0x0a82('0x4f')][_0x0a82('0x66')],_['omit'](_0x437b51[_0x0a82('0x4f')],[_0x0a82('0x66'),'id'])||{})[_0x0a82('0x8b')](function(_0x8ee0b2){for(var _0x5083ed=0x0;_0x5083ed<_0x437b51[_0x0a82('0x4f')][_0x0a82('0x66')][_0x0a82('0x3e')];_0x5083ed+=0x1){socket[_0x0a82('0x8c')]('userCmList:save',{'UserId':_0x437b51['body'][_0x0a82('0x66')][_0x5083ed],'CmListId':_0x437b51[_0x0a82('0x57')]['id']});}return _0x8ee0b2;});}})[_0x0a82('0x28')](respondWithResult(_0x106116,null))['catch'](handleError(_0x106116,null));};exports[_0x0a82('0x8d')]=function(_0x2e5eaf,_0x182aa5,_0x23a0d1){return db['CmList'][_0x0a82('0x4d')]({'where':{'id':_0x2e5eaf[_0x0a82('0x57')]['id']}})[_0x0a82('0x28')](handleEntityNotFound(_0x182aa5,null))[_0x0a82('0x28')](function(_0x1a1601){if(_0x1a1601){return _0x1a1601[_0x0a82('0x8d')](_0x2e5eaf[_0x0a82('0x3c')][_0x0a82('0x66')])[_0x0a82('0x28')](function(){if(_[_0x0a82('0x62')](_0x2e5eaf['query'][_0x0a82('0x66')])){for(var _0x28a087=0x0;_0x28a087<_0x2e5eaf[_0x0a82('0x3c')]['ids']['length'];_0x28a087+=0x1){socket[_0x0a82('0x8c')](_0x0a82('0x8e'),{'UserId':Number(_0x2e5eaf[_0x0a82('0x3c')][_0x0a82('0x66')][_0x28a087]),'CmListId':Number(_0x2e5eaf[_0x0a82('0x57')]['id'])});}}else{socket['emit'](_0x0a82('0x8e'),{'UserId':Number(_0x2e5eaf[_0x0a82('0x3c')][_0x0a82('0x66')]),'CmListId':Number(_0x2e5eaf[_0x0a82('0x57')]['id'])});}});}})[_0x0a82('0x28')](respondWithStatusCode(_0x182aa5,null))[_0x0a82('0x4c')](handleError(_0x182aa5,null));};exports[_0x0a82('0x8f')]=function(_0x17bb55,_0x4ff572,_0x55ab69){var _0xbf52a3={};var _0x286c65={};var _0x56a473;var _0x458520;return db['CmList'][_0x0a82('0x5d')]({'where':{'id':_0x17bb55['params']['id']}})['then'](handleEntityNotFound(_0x4ff572,null))[_0x0a82('0x28')](function(_0xfcb92f){if(_0xfcb92f){_0x56a473=_0xfcb92f;_0x286c65[_0x0a82('0x37')]=_[_0x0a82('0x38')](db[_0x0a82('0x90')]['rawAttributes']);_0x286c65[_0x0a82('0x3c')]=_['keys'](_0x17bb55[_0x0a82('0x3c')]);_0x286c65[_0x0a82('0x39')]=_[_0x0a82('0x3a')](_0x286c65['model'],_0x286c65['query']);_0xbf52a3['attributes']=_['intersection'](_0x286c65['model'],qs[_0x0a82('0x3d')](_0x17bb55['query'][_0x0a82('0x3d')]));_0xbf52a3[_0x0a82('0x3b')]=_0xbf52a3['attributes'][_0x0a82('0x3e')]?_0xbf52a3[_0x0a82('0x3b')]:_0x286c65[_0x0a82('0x37')];_0xbf52a3['order']=qs[_0x0a82('0x42')](_0x17bb55[_0x0a82('0x3c')][_0x0a82('0x42')]);_0xbf52a3[_0x0a82('0x43')]=qs[_0x0a82('0x39')](_[_0x0a82('0x44')](_0x17bb55[_0x0a82('0x3c')],_0x286c65[_0x0a82('0x39')]));if(_0x17bb55[_0x0a82('0x3c')][_0x0a82('0x45')]){_0xbf52a3[_0x0a82('0x43')]=_[_0x0a82('0x46')](_0xbf52a3[_0x0a82('0x43')],{'$or':_[_0x0a82('0x32')](_0xbf52a3[_0x0a82('0x3b')],function(_0x3ae7d8){var _0x59854f={};_0x59854f[_0x3ae7d8]={'$like':'%'+_0x17bb55[_0x0a82('0x3c')]['filter']+'%'};return _0x59854f;})});}_0xbf52a3=_[_0x0a82('0x46')]({},_0xbf52a3,_0x17bb55['options']);return _0x56a473[_0x0a82('0x8f')](_0xbf52a3);}})['then'](function(_0x46472b){if(_0x46472b){_0x458520=_0x46472b[_0x0a82('0x3e')];if(!_0x17bb55[_0x0a82('0x3c')][_0x0a82('0x3f')]('nolimit')){_0xbf52a3['limit']=qs[_0x0a82('0x23')](_0x17bb55['query'][_0x0a82('0x23')]);_0xbf52a3[_0x0a82('0x22')]=qs[_0x0a82('0x22')](_0x17bb55[_0x0a82('0x3c')]['offset']);}return _0x56a473[_0x0a82('0x8f')](_0xbf52a3);}})['then'](function(_0x584570){if(_0x584570){return _0x584570?{'count':_0x458520,'rows':_0x584570}:null;}})[_0x0a82('0x28')](respondWithResult(_0x4ff572,null))['catch'](handleError(_0x4ff572,null));};