Built motion from commit 0900f080.|2.5.45
[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 _0x3fec=['request-promise','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy','get','Lists','UserProfileResource','error','stack','name','send','index','map','fieldName','type','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','CmList','includeAll','rows','catch','show','params','length','include','find','create','body','user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','Disposition','getDispositions','findOne','rawAttributes','order','findAll','removeDispositions','ids','addContacts','tags','isArray','join','each','CmContact','omit','success','push','dataValues','errors','message','Malformed\x20request\x20syntax','getContacts','CustomFields','concat','format','cf_%d','raw','getContactsCsv','CmCustomField','isEmpty','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','Content-type','text/csv','addCustomField','sequelize','transaction','addCustomFields','Sequelize','TEXT','number','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','eml-format','fast-json-patch'];(function(_0x1982cc,_0x1fc213){var _0x974ce6=function(_0x41314b){while(--_0x41314b){_0x1982cc['push'](_0x1982cc['shift']());}};_0x974ce6(++_0x1fc213);}(_0x3fec,0x1ba));var _0xc3fe=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x3fec[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xc3fe('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xc3fe('0x1'));var rp=require(_0xc3fe('0x2'));var moment=require('moment');var BPromise=require(_0xc3fe('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0xc3fe('0x4'));var sox=require('sox');var csv=require(_0xc3fe('0x5'));var ejs=require(_0xc3fe('0x6'));var fs=require('fs');var fs_extra=require(_0xc3fe('0x7'));var _=require(_0xc3fe('0x8'));var squel=require(_0xc3fe('0x9'));var crypto=require(_0xc3fe('0xa'));var jsforce=require(_0xc3fe('0xb'));var deskjs=require(_0xc3fe('0xc'));var toCsv=require(_0xc3fe('0x5'));var querystring=require(_0xc3fe('0xd'));var Papa=require(_0xc3fe('0xe'));var Redis=require(_0xc3fe('0xf'));var authService=require(_0xc3fe('0x10'));var qs=require(_0xc3fe('0x11'));var as=require(_0xc3fe('0x12'));var hardwareService=require(_0xc3fe('0x13'));var logger=require('../../config/logger')(_0xc3fe('0x14'));var utils=require(_0xc3fe('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xc3fe('0x16'));var db=require(_0xc3fe('0x17'))['db'];config[_0xc3fe('0x18')]=_[_0xc3fe('0x19')](config[_0xc3fe('0x18')],{'host':_0xc3fe('0x1a'),'port':0x18eb});var socket=require(_0xc3fe('0x1b'))(new Redis(config[_0xc3fe('0x18')]));require(_0xc3fe('0x1c'))[_0xc3fe('0x1d')](socket);function respondWithStatusCode(_0x4b8088,_0x400476){_0x400476=_0x400476||0xcc;return function(_0x531fa5){if(_0x531fa5){return _0x4b8088[_0xc3fe('0x1e')](_0x400476);}return _0x4b8088[_0xc3fe('0x1f')](_0x400476)[_0xc3fe('0x20')]();};}function respondWithResult(_0x25ce78,_0x17edb6){_0x17edb6=_0x17edb6||0xc8;return function(_0x39705c){if(_0x39705c){return _0x25ce78[_0xc3fe('0x1f')](_0x17edb6)[_0xc3fe('0x21')](_0x39705c);}};}function respondWithFilteredResult(_0x3405dc,_0x8d0835){return function(_0x376fff){if(_0x376fff){var _0x442fbd=typeof _0x8d0835[_0xc3fe('0x22')]===_0xc3fe('0x23')&&typeof _0x8d0835[_0xc3fe('0x24')]==='undefined';var _0x2ce44e=_0x376fff[_0xc3fe('0x25')];var _0x3b895e=_0x442fbd?0x0:_0x8d0835['offset'];var _0x1e3242=_0x442fbd?_0x376fff[_0xc3fe('0x25')]:_0x8d0835['offset']+_0x8d0835['limit'];var _0x3333ad;if(_0x1e3242>=_0x2ce44e){_0x1e3242=_0x2ce44e;_0x3333ad=0xc8;}else{_0x3333ad=0xce;}_0x3405dc[_0xc3fe('0x1f')](_0x3333ad);return _0x3405dc[_0xc3fe('0x26')]('Content-Range',_0x3b895e+'-'+_0x1e3242+'/'+_0x2ce44e)[_0xc3fe('0x21')](_0x376fff);}return null;};}function patchUpdates(_0x15706a){return function(_0x3f9418){try{jsonpatch[_0xc3fe('0x27')](_0x3f9418,_0x15706a,!![]);}catch(_0x2a6635){return BPromise[_0xc3fe('0x28')](_0x2a6635);}return _0x3f9418[_0xc3fe('0x29')]();};}function saveUpdates(_0x6b57a6,_0x2c4727){return function(_0x30657f){if(_0x30657f){return _0x30657f[_0xc3fe('0x2a')](_0x6b57a6)[_0xc3fe('0x2b')](function(_0x4da635){return _0x4da635;});}return null;};}function removeEntity(_0x3220e7,_0x1caee8){return function(_0x1d3c16){if(_0x1d3c16){return _0x1d3c16[_0xc3fe('0x2c')]()[_0xc3fe('0x2b')](function(){var _0x5672b9=_0x1d3c16[_0xc3fe('0x2d')]({'plain':!![]});var _0x431594=_0xc3fe('0x2e');return db[_0xc3fe('0x2f')][_0xc3fe('0x2c')]({'where':{'type':_0x431594,'resourceId':_0x5672b9['id']}})[_0xc3fe('0x2b')](function(){return _0x1d3c16;});})[_0xc3fe('0x2b')](function(){_0x3220e7[_0xc3fe('0x1f')](0xcc)[_0xc3fe('0x20')]();});}};}function handleEntityNotFound(_0xd2b14d,_0x391167){return function(_0x17fe31){if(!_0x17fe31){_0xd2b14d[_0xc3fe('0x1e')](0x194);}return _0x17fe31;};}function handleError(_0x499b99,_0x165734){_0x165734=_0x165734||0x1f4;return function(_0x1339e7){logger[_0xc3fe('0x30')](_0x1339e7[_0xc3fe('0x31')]);if(_0x1339e7['name']){delete _0x1339e7[_0xc3fe('0x32')];}_0x499b99[_0xc3fe('0x1f')](_0x165734)[_0xc3fe('0x33')](_0x1339e7);};}exports[_0xc3fe('0x34')]=function(_0x11a44e,_0x293999){var _0x3f4573={},_0x28fc3b={},_0x6fe063={'count':0x0,'rows':[]};var _0x357db9=_[_0xc3fe('0x35')](db['CmList']['rawAttributes'],function(_0x4aadda){return{'name':_0x4aadda[_0xc3fe('0x36')],'type':_0x4aadda[_0xc3fe('0x37')]['key']};});_0x28fc3b[_0xc3fe('0x38')]=_[_0xc3fe('0x35')](_0x357db9,'name');_0x28fc3b['query']=_[_0xc3fe('0x39')](_0x11a44e[_0xc3fe('0x3a')]);_0x28fc3b[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x28fc3b['model'],_0x28fc3b['query']);_0x3f4573[_0xc3fe('0x3d')]=_[_0xc3fe('0x3c')](_0x28fc3b[_0xc3fe('0x38')],qs[_0xc3fe('0x3e')](_0x11a44e['query'][_0xc3fe('0x3e')]));_0x3f4573['attributes']=_0x3f4573[_0xc3fe('0x3d')]['length']?_0x3f4573[_0xc3fe('0x3d')]:_0x28fc3b[_0xc3fe('0x38')];if(!_0x11a44e['query'][_0xc3fe('0x3f')](_0xc3fe('0x40'))){_0x3f4573['limit']=qs[_0xc3fe('0x24')](_0x11a44e['query'][_0xc3fe('0x24')]);_0x3f4573[_0xc3fe('0x22')]=qs[_0xc3fe('0x22')](_0x11a44e[_0xc3fe('0x3a')][_0xc3fe('0x22')]);}_0x3f4573['order']=qs[_0xc3fe('0x41')](_0x11a44e[_0xc3fe('0x3a')][_0xc3fe('0x41')]);_0x3f4573[_0xc3fe('0x42')]=qs[_0xc3fe('0x3b')](_[_0xc3fe('0x43')](_0x11a44e[_0xc3fe('0x3a')],_0x28fc3b['filters']),_0x357db9);if(_0x11a44e[_0xc3fe('0x3a')][_0xc3fe('0x44')]){_0x3f4573[_0xc3fe('0x42')]=_[_0xc3fe('0x45')](_0x3f4573[_0xc3fe('0x42')],{'$or':_[_0xc3fe('0x35')](_0x357db9,function(_0x1031f6){if(_0x1031f6['type']!=='VIRTUAL'){var _0xe01dbb={};_0xe01dbb[_0x1031f6['name']]={'$like':'%'+_0x11a44e['query'][_0xc3fe('0x44')]+'%'};return _0xe01dbb;}})});}_0x3f4573=_[_0xc3fe('0x45')]({},_0x3f4573,_0x11a44e[_0xc3fe('0x46')]);var _0x16f11b={'where':_0x3f4573['where']};return db[_0xc3fe('0x47')][_0xc3fe('0x25')](_0x16f11b)[_0xc3fe('0x2b')](function(_0x55edc1){_0x6fe063[_0xc3fe('0x25')]=_0x55edc1;if(_0x11a44e[_0xc3fe('0x3a')][_0xc3fe('0x48')]){_0x3f4573['include']=[{'all':!![]}];}return db['CmList']['findAll'](_0x3f4573);})[_0xc3fe('0x2b')](function(_0x1530ff){_0x6fe063[_0xc3fe('0x49')]=_0x1530ff;return _0x6fe063;})[_0xc3fe('0x2b')](respondWithFilteredResult(_0x293999,_0x3f4573))[_0xc3fe('0x4a')](handleError(_0x293999,null));};exports[_0xc3fe('0x4b')]=function(_0x46fd56,_0x525278){var _0x10de1b={'raw':![],'where':{'id':_0x46fd56[_0xc3fe('0x4c')]['id']}},_0x3b9569={};_0x3b9569[_0xc3fe('0x38')]=_[_0xc3fe('0x39')](db[_0xc3fe('0x47')]['rawAttributes']);_0x3b9569[_0xc3fe('0x3a')]=_[_0xc3fe('0x39')](_0x46fd56[_0xc3fe('0x3a')]);_0x3b9569[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x3b9569[_0xc3fe('0x38')],_0x3b9569[_0xc3fe('0x3a')]);_0x10de1b[_0xc3fe('0x3d')]=_[_0xc3fe('0x3c')](_0x3b9569[_0xc3fe('0x38')],qs['fields'](_0x46fd56[_0xc3fe('0x3a')][_0xc3fe('0x3e')]));_0x10de1b[_0xc3fe('0x3d')]=_0x10de1b[_0xc3fe('0x3d')][_0xc3fe('0x4d')]?_0x10de1b[_0xc3fe('0x3d')]:_0x3b9569[_0xc3fe('0x38')];if(_0x46fd56[_0xc3fe('0x3a')][_0xc3fe('0x48')]){_0x10de1b[_0xc3fe('0x4e')]=[{'all':!![]}];}_0x10de1b=_[_0xc3fe('0x45')]({},_0x10de1b,_0x46fd56[_0xc3fe('0x46')]);return db[_0xc3fe('0x47')][_0xc3fe('0x4f')](_0x10de1b)['then'](handleEntityNotFound(_0x525278,null))[_0xc3fe('0x2b')](respondWithResult(_0x525278,null))[_0xc3fe('0x4a')](handleError(_0x525278,null));};exports[_0xc3fe('0x50')]=function(_0x5a5ad9,_0x1700e9){return db[_0xc3fe('0x47')][_0xc3fe('0x50')](_0x5a5ad9[_0xc3fe('0x51')],{})[_0xc3fe('0x2b')](function(_0x5a3c2c){var _0x514fca=_0x5a5ad9[_0xc3fe('0x52')][_0xc3fe('0x2d')]({'plain':!![]});if(!_0x514fca)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x514fca[_0xc3fe('0x53')]===_0xc3fe('0x52')){var _0x53da54=_0x5a3c2c[_0xc3fe('0x2d')]({'plain':!![]});var _0xf9a20a=_0xc3fe('0x2e');return db[_0xc3fe('0x54')]['find']({'where':{'name':_0xf9a20a,'userProfileId':_0x514fca['userProfileId']},'raw':!![]})[_0xc3fe('0x2b')](function(_0x3f8eb3){if(_0x3f8eb3&&_0x3f8eb3[_0xc3fe('0x55')]===0x0){return db['UserProfileResource'][_0xc3fe('0x50')]({'name':_0x53da54[_0xc3fe('0x32')],'resourceId':_0x53da54['id'],'type':_0x3f8eb3[_0xc3fe('0x32')],'sectionId':_0x3f8eb3['id']},{})['then'](function(){return _0x5a3c2c;});}else{return _0x5a3c2c;}})[_0xc3fe('0x4a')](function(_0x426d51){logger['error'](_0xc3fe('0x56'),_0x426d51);throw _0x426d51;});}return _0x5a3c2c;})[_0xc3fe('0x2b')](respondWithResult(_0x1700e9,0xc9))[_0xc3fe('0x4a')](handleError(_0x1700e9,null));};exports[_0xc3fe('0x2a')]=function(_0x80c71,_0xe17a49){if(_0x80c71[_0xc3fe('0x51')]['id']){delete _0x80c71[_0xc3fe('0x51')]['id'];}return db[_0xc3fe('0x47')]['find']({'where':{'id':_0x80c71[_0xc3fe('0x4c')]['id']}})['then'](handleEntityNotFound(_0xe17a49,null))[_0xc3fe('0x2b')](saveUpdates(_0x80c71[_0xc3fe('0x51')],null))['then'](respondWithResult(_0xe17a49,null))[_0xc3fe('0x4a')](handleError(_0xe17a49,null));};exports[_0xc3fe('0x2c')]=function(_0x3118c4,_0x527027){return db[_0xc3fe('0x47')][_0xc3fe('0x4f')]({'where':{'id':_0x3118c4[_0xc3fe('0x4c')]['id']}})['then'](handleEntityNotFound(_0x527027,null))[_0xc3fe('0x2b')](removeEntity(_0x527027,null))[_0xc3fe('0x4a')](handleError(_0x527027,null));};exports[_0xc3fe('0x57')]=function(_0x35c581,_0x17fc18){return db[_0xc3fe('0x47')][_0xc3fe('0x57')]()['then'](respondWithResult(_0x17fc18,null))[_0xc3fe('0x4a')](handleError(_0x17fc18,null));};exports[_0xc3fe('0x58')]=function(_0x1ab9c8,_0x1ead09,_0x3f5bd4){if(_0x1ab9c8[_0xc3fe('0x51')]['id']){delete _0x1ab9c8[_0xc3fe('0x51')]['id'];}return db[_0xc3fe('0x47')][_0xc3fe('0x4f')]({'where':{'id':_0x1ab9c8[_0xc3fe('0x4c')]['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x1ead09,null))['then'](function(_0x1084c3){if(_0x1084c3){_0x1ab9c8[_0xc3fe('0x51')]['ListId']=_0x1084c3['id'];return db[_0xc3fe('0x59')]['create'](_0x1ab9c8[_0xc3fe('0x51')]);}})[_0xc3fe('0x2b')](respondWithResult(_0x1ead09,null))[_0xc3fe('0x4a')](handleError(_0x1ead09,null));};exports[_0xc3fe('0x5a')]=function(_0x3c4514,_0x547310,_0x304dcc){var _0x519596={'raw':![],'where':{}};var _0x12a9ce={};var _0x5e6d75={'count':0x0,'rows':[]};return db[_0xc3fe('0x47')][_0xc3fe('0x5b')]({'where':{'id':_0x3c4514['params']['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x547310,null))[_0xc3fe('0x2b')](function(_0x336d20){if(_0x336d20){_0x12a9ce[_0xc3fe('0x38')]=_[_0xc3fe('0x39')](db[_0xc3fe('0x59')][_0xc3fe('0x5c')]);_0x12a9ce[_0xc3fe('0x3a')]=_['keys'](_0x3c4514[_0xc3fe('0x3a')]);_0x12a9ce[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x12a9ce[_0xc3fe('0x38')],_0x12a9ce['query']);_0x519596['attributes']=_[_0xc3fe('0x3c')](_0x12a9ce[_0xc3fe('0x38')],qs[_0xc3fe('0x3e')](_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x3e')]));_0x519596[_0xc3fe('0x3d')]=_0x519596[_0xc3fe('0x3d')][_0xc3fe('0x4d')]?_0x519596[_0xc3fe('0x3d')]:_0x12a9ce['model'];if(!_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x3f')](_0xc3fe('0x40'))){_0x519596['limit']=qs[_0xc3fe('0x24')](_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x24')]);_0x519596[_0xc3fe('0x22')]=qs[_0xc3fe('0x22')](_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x22')]);}_0x519596[_0xc3fe('0x5d')]=qs[_0xc3fe('0x41')](_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x41')]);_0x519596[_0xc3fe('0x42')]=qs[_0xc3fe('0x3b')](_[_0xc3fe('0x43')](_0x3c4514['query'],_0x12a9ce['filters']));_0x519596[_0xc3fe('0x42')]['ListId']=_0x336d20['id'];if(_0x3c4514[_0xc3fe('0x3a')][_0xc3fe('0x44')]){_0x519596['where']=_[_0xc3fe('0x45')](_0x519596['where'],{'$or':_[_0xc3fe('0x35')](_0x519596['attributes'],function(_0x6697ee){var _0x13f3c4={};_0x13f3c4[_0x6697ee]={'$like':'%'+_0x3c4514['query'][_0xc3fe('0x44')]+'%'};return _0x13f3c4;})});}_0x519596=_[_0xc3fe('0x45')]({},_0x519596,_0x3c4514[_0xc3fe('0x46')]);return db[_0xc3fe('0x59')]['count']({'where':_0x519596[_0xc3fe('0x42')]})['then'](function(_0x12cdb1){_0x5e6d75[_0xc3fe('0x25')]=_0x12cdb1;if(_0x3c4514['query'][_0xc3fe('0x48')]){_0x519596[_0xc3fe('0x4e')]=[{'all':!![]}];}return db['Disposition'][_0xc3fe('0x5e')](_0x519596);})[_0xc3fe('0x2b')](function(_0x37c877){_0x5e6d75[_0xc3fe('0x49')]=_0x37c877;return _0x5e6d75;});}})[_0xc3fe('0x2b')](respondWithFilteredResult(_0x547310,_0x519596))['catch'](handleError(_0x547310,null));};exports[_0xc3fe('0x5f')]=function(_0x2c2a8a,_0xa15ef2,_0x59e62e){return db[_0xc3fe('0x47')]['find']({'where':{'id':_0x2c2a8a[_0xc3fe('0x4c')]['id']}})['then'](handleEntityNotFound(_0xa15ef2,null))['then'](function(_0x593864){if(_0x593864){return _0x593864['removeDispositions'](_0x2c2a8a['query'][_0xc3fe('0x60')]);}})[_0xc3fe('0x2b')](respondWithStatusCode(_0xa15ef2,null))[_0xc3fe('0x4a')](handleError(_0xa15ef2,null));};exports[_0xc3fe('0x61')]=function(_0x5253a0,_0x505455,_0x1f8d3c){return db[_0xc3fe('0x47')][_0xc3fe('0x4f')]({'where':{'id':_0x5253a0[_0xc3fe('0x4c')]['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x505455,null))[_0xc3fe('0x2b')](function(_0x1f6a39){if(_0x1f6a39){var _0x31f07f=[];var _0x26141c={'success':[],'errors':[]};return db['CmContact'][_0xc3fe('0x57')]()[_0xc3fe('0x2b')](function(_0x1ab03f){if(_0x5253a0['body'][_0xc3fe('0x62')]&&_[_0xc3fe('0x63')](_0x5253a0[_0xc3fe('0x51')][_0xc3fe('0x62')])){if(_0x5253a0['body'][_0xc3fe('0x62')][_0xc3fe('0x4d')]){_0x5253a0['body']['tags']=_0x5253a0[_0xc3fe('0x51')]['tags'][_0xc3fe('0x64')](';')+';';}else{_0x5253a0['body'][_0xc3fe('0x62')]=null;}}else{_0x5253a0['body'][_0xc3fe('0x62')]=null;}if(_0x5253a0[_0xc3fe('0x51')]&&_[_0xc3fe('0x63')](_0x5253a0[_0xc3fe('0x51')])){for(var _0x65d2c=0x0;_0x65d2c<_0x5253a0['body'][_0xc3fe('0x4d')];_0x65d2c+=0x1){_0x5253a0['body'][_0x65d2c]['ListId']=_0x5253a0['params']['id'];_0x31f07f['push'](_0x5253a0['body'][_0x65d2c]);}return BPromise[_0xc3fe('0x65')](_0x31f07f,function(_0xad894d){return db[_0xc3fe('0x66')][_0xc3fe('0x50')](_[_0xc3fe('0x67')](_0xad894d,[_0xc3fe('0x60'),'id'])||{},{'fields':_[_0xc3fe('0x39')](_0x1ab03f),'raw':!![]})[_0xc3fe('0x2b')](function(_0x4d1c8e){_0x26141c[_0xc3fe('0x68')][_0xc3fe('0x69')](_0x4d1c8e[_0xc3fe('0x6a')]);})['catch'](function(_0x76befc){_0x26141c[_0xc3fe('0x6b')][_0xc3fe('0x69')]({'data':_0xad894d,'error':_0x76befc[_0xc3fe('0x6c')]});});})[_0xc3fe('0x2b')](function(_0x53c2e3){return _0x26141c;})[_0xc3fe('0x4a')](function(_0x1b30a0){return _0x1b30a0;});}else{_0x505455[_0xc3fe('0x1f')](0x190)[_0xc3fe('0x21')]({'message':_0xc3fe('0x6d')});}});}})[_0xc3fe('0x2b')](respondWithResult(_0x505455,null))['catch'](handleError(_0x505455,null));};exports[_0xc3fe('0x6e')]=function(_0x5c33de,_0x5982e0,_0x12a482){var _0x1bba5f;return db[_0xc3fe('0x47')]['find']({'where':{'id':_0x5c33de[_0xc3fe('0x4c')]['id']},'include':[{'model':db['CmCustomField'],'as':_0xc3fe('0x6f')}]})[_0xc3fe('0x2b')](handleEntityNotFound(_0x5982e0,null))[_0xc3fe('0x2b')](function(_0x5da448){if(_0x5da448){_0x1bba5f=_0x5da448;return db[_0xc3fe('0x66')][_0xc3fe('0x5c')];}})[_0xc3fe('0x2b')](function(_0x47f1fe){if(_0x47f1fe){var _0x2eea93={};var _0x381edb={};_0x381edb['model']=_[_0xc3fe('0x70')](_[_0xc3fe('0x39')](_0x47f1fe),_['map'](_0x1bba5f[_0xc3fe('0x6f')],function(_0xf65acb){return util[_0xc3fe('0x71')](_0xc3fe('0x72'),_0xf65acb['id']);}));_0x381edb[_0xc3fe('0x3a')]=_[_0xc3fe('0x39')](_0x5c33de['query']);_0x381edb[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x381edb[_0xc3fe('0x38')],_0x381edb[_0xc3fe('0x3a')]);_0x2eea93[_0xc3fe('0x3d')]=_[_0xc3fe('0x3c')](_0x381edb[_0xc3fe('0x38')],qs[_0xc3fe('0x3e')](_0x5c33de['query'][_0xc3fe('0x3e')]));_0x2eea93[_0xc3fe('0x3d')]=_0x2eea93['attributes'][_0xc3fe('0x4d')]?_0x2eea93[_0xc3fe('0x3d')]:_0x381edb['model'];if(!_0x5c33de[_0xc3fe('0x3a')][_0xc3fe('0x3f')](_0xc3fe('0x40'))){_0x2eea93[_0xc3fe('0x24')]=qs[_0xc3fe('0x24')](_0x5c33de['query'][_0xc3fe('0x24')]);_0x2eea93[_0xc3fe('0x22')]=qs[_0xc3fe('0x22')](_0x5c33de[_0xc3fe('0x3a')][_0xc3fe('0x22')]);}_0x2eea93[_0xc3fe('0x5d')]=qs['sort'](_0x5c33de[_0xc3fe('0x3a')]['sort']);_0x2eea93['where']=qs['filters'](_[_0xc3fe('0x43')](_0x5c33de[_0xc3fe('0x3a')],_0x381edb['filters']));_0x2eea93[_0xc3fe('0x73')]=!![];if(_0x5c33de[_0xc3fe('0x3a')]['filter']){_0x2eea93[_0xc3fe('0x42')]=_[_0xc3fe('0x45')](_0x2eea93[_0xc3fe('0x42')],{'$or':_[_0xc3fe('0x35')](_0x2eea93[_0xc3fe('0x3d')],function(_0x49346d){var _0x2c6dbb={};_0x2c6dbb[_0x49346d]={'$like':'%'+_0x5c33de['query']['filter']+'%'};return _0x2c6dbb;})});}_0x2eea93=_[_0xc3fe('0x45')]({},_0x2eea93,_0x5c33de['options']);return _0x1bba5f[_0xc3fe('0x6e')](_0x2eea93);}})[_0xc3fe('0x2b')](respondWithResult(_0x5982e0,null))[_0xc3fe('0x4a')](handleError(_0x5982e0,null));};exports[_0xc3fe('0x74')]=function(_0x2d46fb,_0x5d1c47,_0x2a383c){var _0x37298d;return db[_0xc3fe('0x47')][_0xc3fe('0x4f')]({'where':{'id':_0x2d46fb[_0xc3fe('0x4c')]['id']},'include':[{'model':db[_0xc3fe('0x75')],'as':'CustomFields'}]})[_0xc3fe('0x2b')](handleEntityNotFound(_0x5d1c47,null))[_0xc3fe('0x2b')](function(_0x7157e0){if(_0x7157e0){_0x37298d=_0x7157e0;return db[_0xc3fe('0x66')][_0xc3fe('0x5c')];}})[_0xc3fe('0x2b')](function(_0x38e442){if(_0x38e442){var _0x1d1a6c={};var _0x41eee2={};_0x41eee2[_0xc3fe('0x38')]=_['concat'](_['keys'](_0x38e442),_[_0xc3fe('0x35')](_0x37298d[_0xc3fe('0x6f')],function(_0x26c323){return util[_0xc3fe('0x71')](_0xc3fe('0x72'),_0x26c323['id']);}));_0x41eee2['query']=_[_0xc3fe('0x39')](_0x2d46fb[_0xc3fe('0x3a')]);_0x41eee2[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x41eee2[_0xc3fe('0x38')],_0x41eee2['query']);_0x1d1a6c[_0xc3fe('0x3d')]=_[_0xc3fe('0x3c')](_0x41eee2['model'],qs['fields'](_0x2d46fb[_0xc3fe('0x3a')][_0xc3fe('0x3e')]));_0x1d1a6c['attributes']=_0x1d1a6c[_0xc3fe('0x3d')][_0xc3fe('0x4d')]?_0x1d1a6c[_0xc3fe('0x3d')]:_0x41eee2[_0xc3fe('0x38')];if(!_0x2d46fb[_0xc3fe('0x3a')][_0xc3fe('0x3f')](_0xc3fe('0x40'))){_0x1d1a6c[_0xc3fe('0x24')]=qs[_0xc3fe('0x24')](_0x2d46fb[_0xc3fe('0x3a')]['limit']);_0x1d1a6c['offset']=qs['offset'](_0x2d46fb['query'][_0xc3fe('0x22')]);}_0x1d1a6c[_0xc3fe('0x5d')]=qs[_0xc3fe('0x41')](_0x2d46fb[_0xc3fe('0x3a')][_0xc3fe('0x41')]);_0x1d1a6c['where']=qs[_0xc3fe('0x3b')](_[_0xc3fe('0x43')](_0x2d46fb['query'],_0x41eee2[_0xc3fe('0x3b')]));_0x1d1a6c[_0xc3fe('0x73')]=!![];if(_0x2d46fb[_0xc3fe('0x3a')][_0xc3fe('0x44')]){_0x1d1a6c[_0xc3fe('0x42')]=_[_0xc3fe('0x45')](_0x1d1a6c[_0xc3fe('0x42')],{'$or':_['map'](_0x1d1a6c[_0xc3fe('0x3d')],function(_0x579a18){var _0x10060c={};_0x10060c[_0x579a18]={'$like':'%'+_0x2d46fb['query'][_0xc3fe('0x44')]+'%'};return _0x10060c;})});}_0x1d1a6c=_['merge']({},_0x1d1a6c,_0x2d46fb[_0xc3fe('0x46')]);return _0x37298d[_0xc3fe('0x6e')](_0x1d1a6c);}})[_0xc3fe('0x2b')](function(_0x419ce4){if(!_[_0xc3fe('0x76')](_0x419ce4)){var _0x174553=toCsv(_0x419ce4);var _0x598f4a=Date['now']();fs[_0xc3fe('0x77')](util[_0xc3fe('0x71')](_0xc3fe('0x78'),_0x37298d['id'],_0x598f4a),_0x174553);_0x5d1c47[_0xc3fe('0x79')](_0xc3fe('0x7a'),_0xc3fe('0x7b')+util[_0xc3fe('0x71')]('list_%d_%s.csv',_0x37298d['id'],_0x598f4a));_0x5d1c47[_0xc3fe('0x79')](_0xc3fe('0x7c'),_0xc3fe('0x7d'));return _0x5d1c47['download'](util['format'](_0xc3fe('0x78'),_0x37298d['id'],_0x598f4a));}else{return _0x5d1c47['sendStatus'](0xcc);}})[_0xc3fe('0x4a')](handleError(_0x5d1c47,null));};exports[_0xc3fe('0x7e')]=function(_0x12bf96,_0x2bc7e8,_0x4763c8){var _0x465f49;delete _0x12bf96['body']['id'];return db[_0xc3fe('0x47')][_0xc3fe('0x5b')]({'where':{'id':_0x12bf96[_0xc3fe('0x4c')]['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x2bc7e8,null))['then'](function(_0x508914){if(_0x508914){return db[_0xc3fe('0x7f')][_0xc3fe('0x80')](function(_0x22230a){return db[_0xc3fe('0x75')][_0xc3fe('0x50')](_0x12bf96[_0xc3fe('0x51')],{'transaction':_0x22230a})['then'](function(_0x53ce1b){_0x465f49=_0x53ce1b;return _0x508914[_0xc3fe('0x81')](_0x53ce1b,{'transaction':_0x22230a});})['then'](function(){var _0x2e1970={'type':db[_0xc3fe('0x82')][_0xc3fe('0x83')],'transaction':_0x22230a};switch(_0x12bf96[_0xc3fe('0x51')][_0xc3fe('0x37')]){case'text':_0x2e1970[_0xc3fe('0x37')]=db[_0xc3fe('0x82')][_0xc3fe('0x83')];break;case _0xc3fe('0x84'):_0x2e1970[_0xc3fe('0x37')]=db[_0xc3fe('0x82')]['INTEGER'];break;case _0xc3fe('0x85'):_0x2e1970[_0xc3fe('0x37')]=db[_0xc3fe('0x82')][_0xc3fe('0x86')];_0x2e1970[_0xc3fe('0x87')]=![];break;default:}return db[_0xc3fe('0x7f')][_0xc3fe('0x88')]['addColumn'](_0xc3fe('0x89'),util[_0xc3fe('0x71')]('cf_%s',_0x465f49['id']),_0x2e1970);})['then'](function(){return _0x465f49;});});}})['then'](respondWithResult(_0x2bc7e8,null))['catch'](handleError(_0x2bc7e8,null));};exports[_0xc3fe('0x8a')]=function(_0x230ce1,_0x361e01,_0xe46762){var _0x431f31={};var _0x12e475={};var _0x5f2820;var _0x23b141;return db[_0xc3fe('0x47')][_0xc3fe('0x5b')]({'where':{'id':_0x230ce1[_0xc3fe('0x4c')]['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x361e01,null))['then'](function(_0x2c858c){if(_0x2c858c){_0x5f2820=_0x2c858c;_0x12e475['model']=_['keys'](db[_0xc3fe('0x75')]['rawAttributes']);_0x12e475['query']=_['keys'](_0x230ce1['query']);_0x12e475[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x12e475[_0xc3fe('0x38')],_0x12e475[_0xc3fe('0x3a')]);_0x431f31['attributes']=_[_0xc3fe('0x3c')](_0x12e475[_0xc3fe('0x38')],qs['fields'](_0x230ce1[_0xc3fe('0x3a')][_0xc3fe('0x3e')]));_0x431f31[_0xc3fe('0x3d')]=_0x431f31[_0xc3fe('0x3d')][_0xc3fe('0x4d')]?_0x431f31[_0xc3fe('0x3d')]:_0x12e475[_0xc3fe('0x38')];_0x431f31[_0xc3fe('0x5d')]=qs[_0xc3fe('0x41')](_0x230ce1[_0xc3fe('0x3a')]['sort']);_0x431f31[_0xc3fe('0x42')]=qs['filters'](_['pick'](_0x230ce1[_0xc3fe('0x3a')],_0x12e475['filters']));_0x431f31[_0xc3fe('0x42')]=_[_0xc3fe('0x45')](_0x431f31[_0xc3fe('0x42')],{'$or':[{'ListId':_0x2c858c['id']},{'ListId':null}]});if(_0x230ce1[_0xc3fe('0x3a')]['filter']){_0x431f31['where']=_[_0xc3fe('0x45')](_0x431f31[_0xc3fe('0x42')],{'$or':_[_0xc3fe('0x35')](_0x431f31[_0xc3fe('0x3d')],function(_0x426014){var _0x51ccfa={};_0x51ccfa[_0x426014]={'$like':'%'+_0x230ce1[_0xc3fe('0x3a')][_0xc3fe('0x44')]+'%'};return _0x51ccfa;})});}_0x431f31=_[_0xc3fe('0x45')]({},_0x431f31,_0x230ce1[_0xc3fe('0x46')]);return db[_0xc3fe('0x75')][_0xc3fe('0x8b')](_0x431f31);}})[_0xc3fe('0x2b')](respondWithResult(_0x361e01,null))[_0xc3fe('0x4a')](handleError(_0x361e01,null));};exports[_0xc3fe('0x8c')]=function(_0x22a19c,_0x33e867,_0x5f4582){return db[_0xc3fe('0x47')][_0xc3fe('0x4f')]({'where':{'id':_0x22a19c[_0xc3fe('0x4c')]['id']}})['then'](handleEntityNotFound(_0x33e867,null))[_0xc3fe('0x2b')](function(_0x1a937a){if(_0x1a937a){return _0x1a937a['addAgents'](_0x22a19c['body']['ids'],_['omit'](_0x22a19c[_0xc3fe('0x51')],['ids','id'])||{})[_0xc3fe('0x8d')](function(_0x5c5ad3){for(var _0x5b05=0x0;_0x5b05<_0x22a19c['body']['ids'][_0xc3fe('0x4d')];_0x5b05+=0x1){socket[_0xc3fe('0x8e')](_0xc3fe('0x8f'),{'UserId':Number(_0x22a19c[_0xc3fe('0x51')][_0xc3fe('0x60')][_0x5b05]),'CmListId':Number(_0x22a19c['params']['id'])});}return _0x5c5ad3;});}})[_0xc3fe('0x2b')](respondWithResult(_0x33e867,null))[_0xc3fe('0x4a')](handleError(_0x33e867,null));};exports[_0xc3fe('0x90')]=function(_0x1724bf,_0x34ab0e,_0x4fc2d2){return db[_0xc3fe('0x47')]['find']({'where':{'id':_0x1724bf[_0xc3fe('0x4c')]['id']}})['then'](handleEntityNotFound(_0x34ab0e,null))[_0xc3fe('0x2b')](function(_0x118b76){if(_0x118b76){return _0x118b76[_0xc3fe('0x90')](_0x1724bf['query'][_0xc3fe('0x60')])[_0xc3fe('0x2b')](function(){if(_[_0xc3fe('0x63')](_0x1724bf[_0xc3fe('0x3a')][_0xc3fe('0x60')])){for(var _0x46403f=0x0;_0x46403f<_0x1724bf[_0xc3fe('0x3a')][_0xc3fe('0x60')][_0xc3fe('0x4d')];_0x46403f+=0x1){socket[_0xc3fe('0x8e')](_0xc3fe('0x91'),{'UserId':Number(_0x1724bf[_0xc3fe('0x3a')][_0xc3fe('0x60')][_0x46403f]),'CmListId':Number(_0x1724bf[_0xc3fe('0x4c')]['id'])});}}else{socket[_0xc3fe('0x8e')](_0xc3fe('0x91'),{'UserId':Number(_0x1724bf[_0xc3fe('0x3a')]['ids']),'CmListId':Number(_0x1724bf['params']['id'])});}});}})[_0xc3fe('0x2b')](respondWithStatusCode(_0x34ab0e,null))[_0xc3fe('0x4a')](handleError(_0x34ab0e,null));};exports[_0xc3fe('0x92')]=function(_0x31cfc1,_0x447ee8,_0x9eabae){var _0x5277cf={};var _0x444f79={};var _0x131dcd;var _0x4ee511;return db[_0xc3fe('0x47')][_0xc3fe('0x5b')]({'where':{'id':_0x31cfc1[_0xc3fe('0x4c')]['id']}})[_0xc3fe('0x2b')](handleEntityNotFound(_0x447ee8,null))[_0xc3fe('0x2b')](function(_0x1ee7f6){if(_0x1ee7f6){_0x131dcd=_0x1ee7f6;_0x444f79['model']=_['keys'](db[_0xc3fe('0x93')][_0xc3fe('0x5c')]);_0x444f79[_0xc3fe('0x3a')]=_[_0xc3fe('0x39')](_0x31cfc1['query']);_0x444f79[_0xc3fe('0x3b')]=_[_0xc3fe('0x3c')](_0x444f79[_0xc3fe('0x38')],_0x444f79[_0xc3fe('0x3a')]);_0x5277cf[_0xc3fe('0x3d')]=_[_0xc3fe('0x3c')](_0x444f79[_0xc3fe('0x38')],qs[_0xc3fe('0x3e')](_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x3e')]));_0x5277cf[_0xc3fe('0x3d')]=_0x5277cf[_0xc3fe('0x3d')][_0xc3fe('0x4d')]?_0x5277cf[_0xc3fe('0x3d')]:_0x444f79['model'];_0x5277cf[_0xc3fe('0x5d')]=qs[_0xc3fe('0x41')](_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x41')]);_0x5277cf['where']=qs['filters'](_[_0xc3fe('0x43')](_0x31cfc1[_0xc3fe('0x3a')],_0x444f79[_0xc3fe('0x3b')]));if(_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x44')]){_0x5277cf[_0xc3fe('0x42')]=_[_0xc3fe('0x45')](_0x5277cf[_0xc3fe('0x42')],{'$or':_['map'](_0x5277cf[_0xc3fe('0x3d')],function(_0x3d0929){var _0x30d054={};_0x30d054[_0x3d0929]={'$like':'%'+_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x44')]+'%'};return _0x30d054;})});}_0x5277cf=_[_0xc3fe('0x45')]({},_0x5277cf,_0x31cfc1[_0xc3fe('0x46')]);return _0x131dcd['getAgents'](_0x5277cf);}})[_0xc3fe('0x2b')](function(_0x124c08){if(_0x124c08){_0x4ee511=_0x124c08[_0xc3fe('0x4d')];if(!_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x3f')](_0xc3fe('0x40'))){_0x5277cf[_0xc3fe('0x24')]=qs[_0xc3fe('0x24')](_0x31cfc1[_0xc3fe('0x3a')][_0xc3fe('0x24')]);_0x5277cf['offset']=qs['offset'](_0x31cfc1[_0xc3fe('0x3a')]['offset']);}return _0x131dcd[_0xc3fe('0x92')](_0x5277cf);}})[_0xc3fe('0x2b')](function(_0x28327a){if(_0x28327a){return _0x28327a?{'count':_0x4ee511,'rows':_0x28327a}:null;}})['then'](respondWithResult(_0x447ee8,null))[_0xc3fe('0x4a')](handleError(_0x447ee8,null));};