6667452438f12fd87496bc7bae42fae31035a721
[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 _0x98e2=['name','index','map','fieldName','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','includeAll','findAll','catch','show','CmList','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','ListId','findOne','Disposition','removeDispositions','ids','addContacts','CmContact','tags','isArray','join','push','each','omit','success','dataValues','errors','message','getContacts','CmCustomField','CustomFields','format','cf_%d','getContactsCsv','rawAttributes','concat','now','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','download','sequelize','transaction','addCustomFields','TEXT','Sequelize','number','switch','BOOLEAN','defaultValue','queryInterface','addColumn','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','userCmList:save','removeAgents','emit','userCmList:remove','getAgents','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','get','Lists','UserProfileResource','stack'];(function(_0xc87807,_0x13ae9b){var _0x212ec1=function(_0x4b2da3){while(--_0x4b2da3){_0xc87807['push'](_0xc87807['shift']());}};_0x212ec1(++_0x13ae9b);}(_0x98e2,0x182));var _0x298e=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x98e2[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x298e('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x298e('0x1'));var rp=require(_0x298e('0x2'));var moment=require('moment');var BPromise=require(_0x298e('0x3'));var Mustache=require(_0x298e('0x4'));var util=require(_0x298e('0x5'));var path=require('path');var sox=require(_0x298e('0x6'));var csv=require(_0x298e('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x298e('0x8'));var _=require(_0x298e('0x9'));var squel=require(_0x298e('0xa'));var crypto=require(_0x298e('0xb'));var jsforce=require(_0x298e('0xc'));var deskjs=require(_0x298e('0xd'));var toCsv=require(_0x298e('0x7'));var querystring=require(_0x298e('0xe'));var Papa=require(_0x298e('0xf'));var Redis=require('ioredis');var authService=require(_0x298e('0x10'));var qs=require(_0x298e('0x11'));var as=require(_0x298e('0x12'));var hardwareService=require(_0x298e('0x13'));var logger=require(_0x298e('0x14'))(_0x298e('0x15'));var utils=require(_0x298e('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x298e('0x17'));var db=require(_0x298e('0x18'))['db'];config[_0x298e('0x19')]=_[_0x298e('0x1a')](config[_0x298e('0x19')],{'host':_0x298e('0x1b'),'port':0x18eb});var socket=require(_0x298e('0x1c'))(new Redis(config[_0x298e('0x19')]));require('./cmList.socket')[_0x298e('0x1d')](socket);function respondWithStatusCode(_0x48e399,_0xe553f0){_0xe553f0=_0xe553f0||0xcc;return function(_0x4dabc8){if(_0x4dabc8){return _0x48e399[_0x298e('0x1e')](_0xe553f0);}return _0x48e399['status'](_0xe553f0)[_0x298e('0x1f')]();};}function respondWithResult(_0x22161a,_0x3f401b){_0x3f401b=_0x3f401b||0xc8;return function(_0xc638ec){if(_0xc638ec){return _0x22161a[_0x298e('0x20')](_0x3f401b)[_0x298e('0x21')](_0xc638ec);}};}function respondWithFilteredResult(_0x34d6c7,_0x7704b){return function(_0x881b53){if(_0x881b53){var _0xe5a6b9=typeof _0x7704b[_0x298e('0x22')]===_0x298e('0x23')&&typeof _0x7704b[_0x298e('0x24')]===_0x298e('0x23');var _0x6ab57d=_0x881b53[_0x298e('0x25')];var _0x5d01e0=_0xe5a6b9?0x0:_0x7704b['offset'];var _0x207971=_0xe5a6b9?_0x881b53[_0x298e('0x25')]:_0x7704b['offset']+_0x7704b[_0x298e('0x24')];var _0x3059d2;if(_0x207971>=_0x6ab57d){_0x207971=_0x6ab57d;_0x3059d2=0xc8;}else{_0x3059d2=0xce;}_0x34d6c7[_0x298e('0x20')](_0x3059d2);return _0x34d6c7[_0x298e('0x26')](_0x298e('0x27'),_0x5d01e0+'-'+_0x207971+'/'+_0x6ab57d)[_0x298e('0x21')](_0x881b53);}return null;};}function patchUpdates(_0x3f758b){return function(_0x203958){try{jsonpatch[_0x298e('0x28')](_0x203958,_0x3f758b,!![]);}catch(_0x4fb4a8){return BPromise[_0x298e('0x29')](_0x4fb4a8);}return _0x203958[_0x298e('0x2a')]();};}function saveUpdates(_0x3303de,_0x5c40d7){return function(_0x2f4715){if(_0x2f4715){return _0x2f4715['update'](_0x3303de)[_0x298e('0x2b')](function(_0x25e42d){return _0x25e42d;});}return null;};}function removeEntity(_0xcda1ae,_0x1ba79f){return function(_0x3c1119){if(_0x3c1119){return _0x3c1119[_0x298e('0x2c')]()[_0x298e('0x2b')](function(){var _0x37a624=_0x3c1119[_0x298e('0x2d')]({'plain':!![]});var _0x1997b7=_0x298e('0x2e');return db[_0x298e('0x2f')][_0x298e('0x2c')]({'where':{'type':_0x1997b7,'resourceId':_0x37a624['id']}})['then'](function(){return _0x3c1119;});})[_0x298e('0x2b')](function(){_0xcda1ae['status'](0xcc)[_0x298e('0x1f')]();});}};}function handleEntityNotFound(_0x2f06a9,_0x5825fb){return function(_0x4214a6){if(!_0x4214a6){_0x2f06a9[_0x298e('0x1e')](0x194);}return _0x4214a6;};}function handleError(_0x4b9e8c,_0x598aa8){_0x598aa8=_0x598aa8||0x1f4;return function(_0x14b6e1){logger['error'](_0x14b6e1[_0x298e('0x30')]);if(_0x14b6e1['name']){delete _0x14b6e1[_0x298e('0x31')];}_0x4b9e8c['status'](_0x598aa8)['send'](_0x14b6e1);};}exports[_0x298e('0x32')]=function(_0x2efd23,_0x425f2d){var _0x328399={},_0x3862e7={},_0x23cdb3={'count':0x0,'rows':[]};var _0x3a7943=_[_0x298e('0x33')](db['CmList']['rawAttributes'],function(_0x195483){return{'name':_0x195483[_0x298e('0x34')],'type':_0x195483['type'][_0x298e('0x35')]};});_0x3862e7[_0x298e('0x36')]=_[_0x298e('0x33')](_0x3a7943,'name');_0x3862e7[_0x298e('0x37')]=_[_0x298e('0x38')](_0x2efd23[_0x298e('0x37')]);_0x3862e7[_0x298e('0x39')]=_[_0x298e('0x3a')](_0x3862e7[_0x298e('0x36')],_0x3862e7[_0x298e('0x37')]);_0x328399['attributes']=_[_0x298e('0x3a')](_0x3862e7[_0x298e('0x36')],qs[_0x298e('0x3b')](_0x2efd23[_0x298e('0x37')]['fields']));_0x328399[_0x298e('0x3c')]=_0x328399['attributes'][_0x298e('0x3d')]?_0x328399[_0x298e('0x3c')]:_0x3862e7['model'];if(!_0x2efd23[_0x298e('0x37')][_0x298e('0x3e')](_0x298e('0x3f'))){_0x328399[_0x298e('0x24')]=qs[_0x298e('0x24')](_0x2efd23[_0x298e('0x37')][_0x298e('0x24')]);_0x328399['offset']=qs[_0x298e('0x22')](_0x2efd23[_0x298e('0x37')][_0x298e('0x22')]);}_0x328399[_0x298e('0x40')]=qs[_0x298e('0x41')](_0x2efd23[_0x298e('0x37')]['sort']);_0x328399[_0x298e('0x42')]=qs[_0x298e('0x39')](_[_0x298e('0x43')](_0x2efd23[_0x298e('0x37')],_0x3862e7['filters']),_0x3a7943);if(_0x2efd23[_0x298e('0x37')][_0x298e('0x44')]){_0x328399[_0x298e('0x42')]=_[_0x298e('0x45')](_0x328399[_0x298e('0x42')],{'$or':_['map'](_0x3a7943,function(_0x7528ea){if(_0x7528ea[_0x298e('0x46')]!=='VIRTUAL'){var _0x259c8b={};_0x259c8b[_0x7528ea[_0x298e('0x31')]]={'$like':'%'+_0x2efd23[_0x298e('0x37')][_0x298e('0x44')]+'%'};return _0x259c8b;}})});}_0x328399=_[_0x298e('0x45')]({},_0x328399,_0x2efd23[_0x298e('0x47')]);var _0x5de62c={'where':_0x328399[_0x298e('0x42')]};return db['CmList'][_0x298e('0x25')](_0x5de62c)[_0x298e('0x2b')](function(_0x3b09dd){_0x23cdb3[_0x298e('0x25')]=_0x3b09dd;if(_0x2efd23[_0x298e('0x37')][_0x298e('0x48')]){_0x328399['include']=[{'all':!![]}];}return db['CmList'][_0x298e('0x49')](_0x328399);})[_0x298e('0x2b')](function(_0x459c12){_0x23cdb3['rows']=_0x459c12;return _0x23cdb3;})['then'](respondWithFilteredResult(_0x425f2d,_0x328399))[_0x298e('0x4a')](handleError(_0x425f2d,null));};exports[_0x298e('0x4b')]=function(_0x47383a,_0x3e222f){var _0x5a2e13={'raw':![],'where':{'id':_0x47383a['params']['id']}},_0x861f44={};_0x861f44[_0x298e('0x36')]=_['keys'](db[_0x298e('0x4c')]['rawAttributes']);_0x861f44['query']=_[_0x298e('0x38')](_0x47383a[_0x298e('0x37')]);_0x861f44[_0x298e('0x39')]=_[_0x298e('0x3a')](_0x861f44[_0x298e('0x36')],_0x861f44[_0x298e('0x37')]);_0x5a2e13['attributes']=_[_0x298e('0x3a')](_0x861f44[_0x298e('0x36')],qs[_0x298e('0x3b')](_0x47383a[_0x298e('0x37')][_0x298e('0x3b')]));_0x5a2e13[_0x298e('0x3c')]=_0x5a2e13[_0x298e('0x3c')][_0x298e('0x3d')]?_0x5a2e13[_0x298e('0x3c')]:_0x861f44[_0x298e('0x36')];if(_0x47383a[_0x298e('0x37')][_0x298e('0x48')]){_0x5a2e13[_0x298e('0x4d')]=[{'all':!![]}];}_0x5a2e13=_['merge']({},_0x5a2e13,_0x47383a[_0x298e('0x47')]);return db[_0x298e('0x4c')][_0x298e('0x4e')](_0x5a2e13)[_0x298e('0x2b')](handleEntityNotFound(_0x3e222f,null))['then'](respondWithResult(_0x3e222f,null))['catch'](handleError(_0x3e222f,null));};exports[_0x298e('0x4f')]=function(_0x1f9990,_0x10832a){return db[_0x298e('0x4c')][_0x298e('0x4f')](_0x1f9990[_0x298e('0x50')],{})['then'](function(_0x34278e){var _0x1d35e5=_0x1f9990['user'][_0x298e('0x2d')]({'plain':!![]});if(!_0x1d35e5)throw new Error(_0x298e('0x51'));if(_0x1d35e5['role']==='user'){var _0x2c7465=_0x34278e['get']({'plain':!![]});var _0x44784a=_0x298e('0x2e');return db[_0x298e('0x52')][_0x298e('0x4e')]({'where':{'name':_0x44784a,'userProfileId':_0x1d35e5[_0x298e('0x53')]},'raw':!![]})[_0x298e('0x2b')](function(_0x481c67){if(_0x481c67&&_0x481c67[_0x298e('0x54')]===0x0){return db[_0x298e('0x2f')]['create']({'name':_0x2c7465['name'],'resourceId':_0x2c7465['id'],'type':_0x481c67[_0x298e('0x31')],'sectionId':_0x481c67['id']},{})['then'](function(){return _0x34278e;});}else{return _0x34278e;}})[_0x298e('0x4a')](function(_0x138787){logger[_0x298e('0x55')](_0x298e('0x56'),_0x138787);throw _0x138787;});}return _0x34278e;})[_0x298e('0x2b')](respondWithResult(_0x10832a,0xc9))[_0x298e('0x4a')](handleError(_0x10832a,null));};exports['update']=function(_0x3f36e9,_0x3bca73){if(_0x3f36e9['body']['id']){delete _0x3f36e9['body']['id'];}return db['CmList'][_0x298e('0x4e')]({'where':{'id':_0x3f36e9[_0x298e('0x57')]['id']}})['then'](handleEntityNotFound(_0x3bca73,null))['then'](saveUpdates(_0x3f36e9[_0x298e('0x50')],null))['then'](respondWithResult(_0x3bca73,null))['catch'](handleError(_0x3bca73,null));};exports['destroy']=function(_0x537736,_0x4fbe04){return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x537736[_0x298e('0x57')]['id']}})[_0x298e('0x2b')](handleEntityNotFound(_0x4fbe04,null))[_0x298e('0x2b')](removeEntity(_0x4fbe04,null))['catch'](handleError(_0x4fbe04,null));};exports[_0x298e('0x58')]=function(_0x491560,_0x5635cd){return db['CmList'][_0x298e('0x58')]()['then'](respondWithResult(_0x5635cd,null))[_0x298e('0x4a')](handleError(_0x5635cd,null));};exports['addDisposition']=function(_0x18fead,_0x4df37e,_0x9cdfc5){if(_0x18fead['body']['id']){delete _0x18fead[_0x298e('0x50')]['id'];}return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x18fead[_0x298e('0x57')]['id']}})['then'](handleEntityNotFound(_0x4df37e,null))[_0x298e('0x2b')](function(_0x561718){if(_0x561718){_0x18fead[_0x298e('0x50')][_0x298e('0x59')]=_0x561718['id'];return db['Disposition'][_0x298e('0x4f')](_0x18fead[_0x298e('0x50')]);}})[_0x298e('0x2b')](respondWithResult(_0x4df37e,null))[_0x298e('0x4a')](handleError(_0x4df37e,null));};exports['getDispositions']=function(_0x3c18e3,_0x4504fa,_0x598608){var _0x4760cd={'raw':![],'where':{}};var _0x580062={};var _0xb535fc={'count':0x0,'rows':[]};return db['CmList'][_0x298e('0x5a')]({'where':{'id':_0x3c18e3[_0x298e('0x57')]['id']}})['then'](handleEntityNotFound(_0x4504fa,null))[_0x298e('0x2b')](function(_0x5326d0){if(_0x5326d0){_0x580062[_0x298e('0x36')]=_['keys'](db['Disposition']['rawAttributes']);_0x580062['query']=_['keys'](_0x3c18e3['query']);_0x580062[_0x298e('0x39')]=_['intersection'](_0x580062[_0x298e('0x36')],_0x580062[_0x298e('0x37')]);_0x4760cd[_0x298e('0x3c')]=_['intersection'](_0x580062[_0x298e('0x36')],qs['fields'](_0x3c18e3[_0x298e('0x37')][_0x298e('0x3b')]));_0x4760cd[_0x298e('0x3c')]=_0x4760cd[_0x298e('0x3c')][_0x298e('0x3d')]?_0x4760cd[_0x298e('0x3c')]:_0x580062[_0x298e('0x36')];if(!_0x3c18e3[_0x298e('0x37')][_0x298e('0x3e')](_0x298e('0x3f'))){_0x4760cd[_0x298e('0x24')]=qs[_0x298e('0x24')](_0x3c18e3[_0x298e('0x37')][_0x298e('0x24')]);_0x4760cd[_0x298e('0x22')]=qs[_0x298e('0x22')](_0x3c18e3[_0x298e('0x37')][_0x298e('0x22')]);}_0x4760cd[_0x298e('0x40')]=qs[_0x298e('0x41')](_0x3c18e3[_0x298e('0x37')][_0x298e('0x41')]);_0x4760cd[_0x298e('0x42')]=qs[_0x298e('0x39')](_['pick'](_0x3c18e3[_0x298e('0x37')],_0x580062[_0x298e('0x39')]));_0x4760cd[_0x298e('0x42')][_0x298e('0x59')]=_0x5326d0['id'];if(_0x3c18e3[_0x298e('0x37')][_0x298e('0x44')]){_0x4760cd['where']=_[_0x298e('0x45')](_0x4760cd[_0x298e('0x42')],{'$or':_[_0x298e('0x33')](_0x4760cd[_0x298e('0x3c')],function(_0x206e91){var _0x63a20e={};_0x63a20e[_0x206e91]={'$like':'%'+_0x3c18e3[_0x298e('0x37')][_0x298e('0x44')]+'%'};return _0x63a20e;})});}_0x4760cd=_[_0x298e('0x45')]({},_0x4760cd,_0x3c18e3[_0x298e('0x47')]);return db[_0x298e('0x5b')]['count']({'where':_0x4760cd['where']})[_0x298e('0x2b')](function(_0x1e64c5){_0xb535fc['count']=_0x1e64c5;if(_0x3c18e3[_0x298e('0x37')][_0x298e('0x48')]){_0x4760cd['include']=[{'all':!![]}];}return db['Disposition'][_0x298e('0x49')](_0x4760cd);})[_0x298e('0x2b')](function(_0x3607f6){_0xb535fc['rows']=_0x3607f6;return _0xb535fc;});}})[_0x298e('0x2b')](respondWithFilteredResult(_0x4504fa,_0x4760cd))['catch'](handleError(_0x4504fa,null));};exports[_0x298e('0x5c')]=function(_0x224a1b,_0x3e8804,_0x424605){return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x224a1b[_0x298e('0x57')]['id']}})[_0x298e('0x2b')](handleEntityNotFound(_0x3e8804,null))[_0x298e('0x2b')](function(_0x2aa7db){if(_0x2aa7db){return _0x2aa7db[_0x298e('0x5c')](_0x224a1b[_0x298e('0x37')][_0x298e('0x5d')]);}})[_0x298e('0x2b')](respondWithStatusCode(_0x3e8804,null))[_0x298e('0x4a')](handleError(_0x3e8804,null));};exports[_0x298e('0x5e')]=function(_0x238968,_0x537a56,_0x3aab06){return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x238968[_0x298e('0x57')]['id']}})[_0x298e('0x2b')](handleEntityNotFound(_0x537a56,null))[_0x298e('0x2b')](function(_0x4f6eb4){if(_0x4f6eb4){var _0x3ff747=[];var _0x45d855={'success':[],'errors':[]};return db[_0x298e('0x5f')]['describe']()[_0x298e('0x2b')](function(_0x544ff8){if(_0x238968['body'][_0x298e('0x60')]&&_[_0x298e('0x61')](_0x238968[_0x298e('0x50')][_0x298e('0x60')])){if(_0x238968[_0x298e('0x50')][_0x298e('0x60')]['length']){_0x238968[_0x298e('0x50')]['tags']=_0x238968['body'][_0x298e('0x60')][_0x298e('0x62')](';')+';';}else{_0x238968['body'][_0x298e('0x60')]=null;}}else{_0x238968[_0x298e('0x50')][_0x298e('0x60')]=null;}if(_0x238968['body']&&_[_0x298e('0x61')](_0x238968[_0x298e('0x50')])){for(var _0x588c7f=0x0;_0x588c7f<_0x238968[_0x298e('0x50')][_0x298e('0x3d')];_0x588c7f+=0x1){_0x238968[_0x298e('0x50')][_0x588c7f][_0x298e('0x59')]=_0x238968[_0x298e('0x57')]['id'];_0x3ff747[_0x298e('0x63')](_0x238968['body'][_0x588c7f]);}return BPromise[_0x298e('0x64')](_0x3ff747,function(_0x2f49e3){return db[_0x298e('0x5f')]['create'](_[_0x298e('0x65')](_0x2f49e3,[_0x298e('0x5d'),'id'])||{},{'fields':_[_0x298e('0x38')](_0x544ff8),'raw':!![]})[_0x298e('0x2b')](function(_0x868628){_0x45d855[_0x298e('0x66')][_0x298e('0x63')](_0x868628[_0x298e('0x67')]);})[_0x298e('0x4a')](function(_0x2d0e98){_0x45d855[_0x298e('0x68')][_0x298e('0x63')]({'data':_0x2f49e3,'error':_0x2d0e98[_0x298e('0x69')]});});})['then'](function(_0x432b31){return _0x45d855;})[_0x298e('0x4a')](function(_0x15566a){return _0x15566a;});}else{_0x537a56[_0x298e('0x20')](0x190)[_0x298e('0x21')]({'message':'Malformed\x20request\x20syntax'});}});}})[_0x298e('0x2b')](respondWithResult(_0x537a56,null))['catch'](handleError(_0x537a56,null));};exports[_0x298e('0x6a')]=function(_0x1abc7c,_0x432e7a,_0x31b1f1){var _0x40c48a;return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x1abc7c[_0x298e('0x57')]['id']},'include':[{'model':db[_0x298e('0x6b')],'as':_0x298e('0x6c')}]})['then'](handleEntityNotFound(_0x432e7a,null))[_0x298e('0x2b')](function(_0x212198){if(_0x212198){_0x40c48a=_0x212198;return db['CmContact']['rawAttributes'];}})['then'](function(_0x2b6372){if(_0x2b6372){var _0x3f5a2e={};var _0x51f9c3={};_0x51f9c3[_0x298e('0x36')]=_['concat'](_[_0x298e('0x38')](_0x2b6372),_[_0x298e('0x33')](_0x40c48a[_0x298e('0x6c')],function(_0x4c0781){return util[_0x298e('0x6d')](_0x298e('0x6e'),_0x4c0781['id']);}));_0x51f9c3['query']=_[_0x298e('0x38')](_0x1abc7c[_0x298e('0x37')]);_0x51f9c3['filters']=_['intersection'](_0x51f9c3[_0x298e('0x36')],_0x51f9c3['query']);_0x3f5a2e[_0x298e('0x3c')]=_[_0x298e('0x3a')](_0x51f9c3['model'],qs['fields'](_0x1abc7c['query'][_0x298e('0x3b')]));_0x3f5a2e[_0x298e('0x3c')]=_0x3f5a2e[_0x298e('0x3c')]['length']?_0x3f5a2e[_0x298e('0x3c')]:_0x51f9c3[_0x298e('0x36')];if(!_0x1abc7c[_0x298e('0x37')][_0x298e('0x3e')](_0x298e('0x3f'))){_0x3f5a2e['limit']=qs[_0x298e('0x24')](_0x1abc7c[_0x298e('0x37')]['limit']);_0x3f5a2e['offset']=qs[_0x298e('0x22')](_0x1abc7c[_0x298e('0x37')]['offset']);}_0x3f5a2e[_0x298e('0x40')]=qs[_0x298e('0x41')](_0x1abc7c[_0x298e('0x37')][_0x298e('0x41')]);_0x3f5a2e['where']=qs[_0x298e('0x39')](_[_0x298e('0x43')](_0x1abc7c['query'],_0x51f9c3['filters']));_0x3f5a2e['raw']=!![];if(_0x1abc7c['query'][_0x298e('0x44')]){_0x3f5a2e[_0x298e('0x42')]=_[_0x298e('0x45')](_0x3f5a2e[_0x298e('0x42')],{'$or':_[_0x298e('0x33')](_0x3f5a2e[_0x298e('0x3c')],function(_0x5db773){var _0xb64efc={};_0xb64efc[_0x5db773]={'$like':'%'+_0x1abc7c[_0x298e('0x37')]['filter']+'%'};return _0xb64efc;})});}_0x3f5a2e=_[_0x298e('0x45')]({},_0x3f5a2e,_0x1abc7c[_0x298e('0x47')]);return _0x40c48a[_0x298e('0x6a')](_0x3f5a2e);}})[_0x298e('0x2b')](respondWithResult(_0x432e7a,null))[_0x298e('0x4a')](handleError(_0x432e7a,null));};exports[_0x298e('0x6f')]=function(_0x490ea8,_0x4bd878,_0x3f8235){var _0x3a9fc7;return db[_0x298e('0x4c')][_0x298e('0x4e')]({'where':{'id':_0x490ea8[_0x298e('0x57')]['id']},'include':[{'model':db[_0x298e('0x6b')],'as':_0x298e('0x6c')}]})['then'](handleEntityNotFound(_0x4bd878,null))['then'](function(_0x350246){if(_0x350246){_0x3a9fc7=_0x350246;return db[_0x298e('0x5f')][_0x298e('0x70')];}})[_0x298e('0x2b')](function(_0xfad65b){if(_0xfad65b){var _0x134151={};var _0x538a85={};_0x538a85[_0x298e('0x36')]=_[_0x298e('0x71')](_[_0x298e('0x38')](_0xfad65b),_[_0x298e('0x33')](_0x3a9fc7[_0x298e('0x6c')],function(_0x5b5967){return util[_0x298e('0x6d')](_0x298e('0x6e'),_0x5b5967['id']);}));_0x538a85['query']=_[_0x298e('0x38')](_0x490ea8[_0x298e('0x37')]);_0x538a85[_0x298e('0x39')]=_['intersection'](_0x538a85[_0x298e('0x36')],_0x538a85[_0x298e('0x37')]);_0x134151[_0x298e('0x3c')]=_[_0x298e('0x3a')](_0x538a85[_0x298e('0x36')],qs[_0x298e('0x3b')](_0x490ea8[_0x298e('0x37')][_0x298e('0x3b')]));_0x134151[_0x298e('0x3c')]=_0x134151[_0x298e('0x3c')][_0x298e('0x3d')]?_0x134151[_0x298e('0x3c')]:_0x538a85['model'];if(!_0x490ea8[_0x298e('0x37')][_0x298e('0x3e')](_0x298e('0x3f'))){_0x134151[_0x298e('0x24')]=qs[_0x298e('0x24')](_0x490ea8[_0x298e('0x37')]['limit']);_0x134151[_0x298e('0x22')]=qs[_0x298e('0x22')](_0x490ea8[_0x298e('0x37')][_0x298e('0x22')]);}_0x134151['order']=qs[_0x298e('0x41')](_0x490ea8[_0x298e('0x37')][_0x298e('0x41')]);_0x134151[_0x298e('0x42')]=qs[_0x298e('0x39')](_[_0x298e('0x43')](_0x490ea8[_0x298e('0x37')],_0x538a85[_0x298e('0x39')]));_0x134151['raw']=!![];if(_0x490ea8[_0x298e('0x37')][_0x298e('0x44')]){_0x134151[_0x298e('0x42')]=_[_0x298e('0x45')](_0x134151['where'],{'$or':_[_0x298e('0x33')](_0x134151[_0x298e('0x3c')],function(_0x31d45b){var _0x50a6d6={};_0x50a6d6[_0x31d45b]={'$like':'%'+_0x490ea8['query'][_0x298e('0x44')]+'%'};return _0x50a6d6;})});}_0x134151=_[_0x298e('0x45')]({},_0x134151,_0x490ea8[_0x298e('0x47')]);return _0x3a9fc7[_0x298e('0x6a')](_0x134151);}})[_0x298e('0x2b')](function(_0x5a6934){if(!_['isEmpty'](_0x5a6934)){var _0x88cb2=toCsv(_0x5a6934);var _0x2320f1=Date[_0x298e('0x72')]();fs[_0x298e('0x73')](util[_0x298e('0x6d')](_0x298e('0x74'),_0x3a9fc7['id'],_0x2320f1),_0x88cb2);_0x4bd878[_0x298e('0x75')](_0x298e('0x76'),_0x298e('0x77')+util[_0x298e('0x6d')](_0x298e('0x78'),_0x3a9fc7['id'],_0x2320f1));_0x4bd878[_0x298e('0x75')](_0x298e('0x79'),'text/csv');return _0x4bd878[_0x298e('0x7a')](util[_0x298e('0x6d')]('/tmp/list_%d_%s.csv',_0x3a9fc7['id'],_0x2320f1));}else{return _0x4bd878[_0x298e('0x1e')](0xcc);}})[_0x298e('0x4a')](handleError(_0x4bd878,null));};exports['addCustomField']=function(_0x2829c7,_0x2ff8f0,_0x2430ca){var _0x32d44f;delete _0x2829c7[_0x298e('0x50')]['id'];return db[_0x298e('0x4c')][_0x298e('0x5a')]({'where':{'id':_0x2829c7['params']['id']}})['then'](handleEntityNotFound(_0x2ff8f0,null))['then'](function(_0x2f5f31){if(_0x2f5f31){return db[_0x298e('0x7b')][_0x298e('0x7c')](function(_0x49ba8c){return db['CmCustomField'][_0x298e('0x4f')](_0x2829c7[_0x298e('0x50')],{'transaction':_0x49ba8c})['then'](function(_0x290ce6){_0x32d44f=_0x290ce6;return _0x2f5f31[_0x298e('0x7d')](_0x290ce6,{'transaction':_0x49ba8c});})[_0x298e('0x2b')](function(){var _0x30fb87={'type':db['Sequelize'][_0x298e('0x7e')],'transaction':_0x49ba8c};switch(_0x2829c7[_0x298e('0x50')][_0x298e('0x46')]){case'text':_0x30fb87['type']=db[_0x298e('0x7f')][_0x298e('0x7e')];break;case _0x298e('0x80'):_0x30fb87[_0x298e('0x46')]=db[_0x298e('0x7f')]['INTEGER'];break;case _0x298e('0x81'):_0x30fb87[_0x298e('0x46')]=db[_0x298e('0x7f')][_0x298e('0x82')];_0x30fb87[_0x298e('0x83')]=![];break;default:}return db['sequelize'][_0x298e('0x84')][_0x298e('0x85')](_0x298e('0x86'),util[_0x298e('0x6d')](_0x298e('0x87'),_0x32d44f['id']),_0x30fb87);})[_0x298e('0x2b')](function(){return _0x32d44f;});});}})['then'](respondWithResult(_0x2ff8f0,null))[_0x298e('0x4a')](handleError(_0x2ff8f0,null));};exports[_0x298e('0x88')]=function(_0x2e3f67,_0x188525,_0x5b8193){var _0x5e7f83={};var _0x11797c={};var _0x30f6ef;var _0x56d20f;return db[_0x298e('0x4c')][_0x298e('0x5a')]({'where':{'id':_0x2e3f67['params']['id']}})['then'](handleEntityNotFound(_0x188525,null))['then'](function(_0x49a0e3){if(_0x49a0e3){_0x30f6ef=_0x49a0e3;_0x11797c[_0x298e('0x36')]=_[_0x298e('0x38')](db[_0x298e('0x6b')][_0x298e('0x70')]);_0x11797c[_0x298e('0x37')]=_[_0x298e('0x38')](_0x2e3f67['query']);_0x11797c[_0x298e('0x39')]=_[_0x298e('0x3a')](_0x11797c['model'],_0x11797c['query']);_0x5e7f83[_0x298e('0x3c')]=_['intersection'](_0x11797c[_0x298e('0x36')],qs['fields'](_0x2e3f67[_0x298e('0x37')][_0x298e('0x3b')]));_0x5e7f83[_0x298e('0x3c')]=_0x5e7f83[_0x298e('0x3c')][_0x298e('0x3d')]?_0x5e7f83['attributes']:_0x11797c[_0x298e('0x36')];_0x5e7f83[_0x298e('0x40')]=qs[_0x298e('0x41')](_0x2e3f67[_0x298e('0x37')][_0x298e('0x41')]);_0x5e7f83['where']=qs[_0x298e('0x39')](_['pick'](_0x2e3f67[_0x298e('0x37')],_0x11797c[_0x298e('0x39')]));_0x5e7f83['where']=_['merge'](_0x5e7f83[_0x298e('0x42')],{'$or':[{'ListId':_0x49a0e3['id']},{'ListId':null}]});if(_0x2e3f67[_0x298e('0x37')][_0x298e('0x44')]){_0x5e7f83[_0x298e('0x42')]=_[_0x298e('0x45')](_0x5e7f83[_0x298e('0x42')],{'$or':_['map'](_0x5e7f83[_0x298e('0x3c')],function(_0x27fed8){var _0x16c3c0={};_0x16c3c0[_0x27fed8]={'$like':'%'+_0x2e3f67['query'][_0x298e('0x44')]+'%'};return _0x16c3c0;})});}_0x5e7f83=_[_0x298e('0x45')]({},_0x5e7f83,_0x2e3f67[_0x298e('0x47')]);return db[_0x298e('0x6b')][_0x298e('0x89')](_0x5e7f83);}})[_0x298e('0x2b')](respondWithResult(_0x188525,null))[_0x298e('0x4a')](handleError(_0x188525,null));};exports[_0x298e('0x8a')]=function(_0x35ce56,_0x28d4bc,_0x3ac253){return db['CmList']['find']({'where':{'id':_0x35ce56[_0x298e('0x57')]['id']}})['then'](handleEntityNotFound(_0x28d4bc,null))[_0x298e('0x2b')](function(_0x3b1e9e){if(_0x3b1e9e){return _0x3b1e9e[_0x298e('0x8a')](_0x35ce56[_0x298e('0x50')][_0x298e('0x5d')],_[_0x298e('0x65')](_0x35ce56[_0x298e('0x50')],[_0x298e('0x5d'),'id'])||{})[_0x298e('0x8b')](function(_0x245e9c){for(var _0x53afdc=0x0;_0x53afdc<_0x35ce56[_0x298e('0x50')][_0x298e('0x5d')]['length'];_0x53afdc+=0x1){socket['emit'](_0x298e('0x8c'),{'UserId':Number(_0x35ce56['body'][_0x298e('0x5d')][_0x53afdc]),'CmListId':Number(_0x35ce56[_0x298e('0x57')]['id'])});}return _0x245e9c;});}})[_0x298e('0x2b')](respondWithResult(_0x28d4bc,null))['catch'](handleError(_0x28d4bc,null));};exports[_0x298e('0x8d')]=function(_0x1af0e1,_0x19c4f9,_0x149571){return db[_0x298e('0x4c')]['find']({'where':{'id':_0x1af0e1[_0x298e('0x57')]['id']}})[_0x298e('0x2b')](handleEntityNotFound(_0x19c4f9,null))['then'](function(_0x495898){if(_0x495898){return _0x495898['removeAgents'](_0x1af0e1[_0x298e('0x37')][_0x298e('0x5d')])[_0x298e('0x2b')](function(){if(_['isArray'](_0x1af0e1[_0x298e('0x37')][_0x298e('0x5d')])){for(var _0x310070=0x0;_0x310070<_0x1af0e1['query'][_0x298e('0x5d')]['length'];_0x310070+=0x1){socket[_0x298e('0x8e')](_0x298e('0x8f'),{'UserId':Number(_0x1af0e1[_0x298e('0x37')][_0x298e('0x5d')][_0x310070]),'CmListId':Number(_0x1af0e1[_0x298e('0x57')]['id'])});}}else{socket['emit']('userCmList:remove',{'UserId':Number(_0x1af0e1['query'][_0x298e('0x5d')]),'CmListId':Number(_0x1af0e1[_0x298e('0x57')]['id'])});}});}})[_0x298e('0x2b')](respondWithStatusCode(_0x19c4f9,null))['catch'](handleError(_0x19c4f9,null));};exports[_0x298e('0x90')]=function(_0x488ebc,_0x4035a4,_0x3113f0){var _0xc8e932={};var _0xfca6e8={};var _0x55d19c;var _0x544533;return db[_0x298e('0x4c')][_0x298e('0x5a')]({'where':{'id':_0x488ebc[_0x298e('0x57')]['id']}})[_0x298e('0x2b')](handleEntityNotFound(_0x4035a4,null))['then'](function(_0x2eb577){if(_0x2eb577){_0x55d19c=_0x2eb577;_0xfca6e8['model']=_[_0x298e('0x38')](db['User'][_0x298e('0x70')]);_0xfca6e8['query']=_[_0x298e('0x38')](_0x488ebc[_0x298e('0x37')]);_0xfca6e8[_0x298e('0x39')]=_['intersection'](_0xfca6e8['model'],_0xfca6e8['query']);_0xc8e932[_0x298e('0x3c')]=_[_0x298e('0x3a')](_0xfca6e8['model'],qs[_0x298e('0x3b')](_0x488ebc['query']['fields']));_0xc8e932[_0x298e('0x3c')]=_0xc8e932[_0x298e('0x3c')]['length']?_0xc8e932[_0x298e('0x3c')]:_0xfca6e8['model'];_0xc8e932[_0x298e('0x40')]=qs[_0x298e('0x41')](_0x488ebc['query'][_0x298e('0x41')]);_0xc8e932[_0x298e('0x42')]=qs[_0x298e('0x39')](_[_0x298e('0x43')](_0x488ebc[_0x298e('0x37')],_0xfca6e8[_0x298e('0x39')]));if(_0x488ebc['query'][_0x298e('0x44')]){_0xc8e932[_0x298e('0x42')]=_[_0x298e('0x45')](_0xc8e932[_0x298e('0x42')],{'$or':_[_0x298e('0x33')](_0xc8e932[_0x298e('0x3c')],function(_0x1e03d8){var _0x23c931={};_0x23c931[_0x1e03d8]={'$like':'%'+_0x488ebc[_0x298e('0x37')][_0x298e('0x44')]+'%'};return _0x23c931;})});}_0xc8e932=_[_0x298e('0x45')]({},_0xc8e932,_0x488ebc[_0x298e('0x47')]);return _0x55d19c['getAgents'](_0xc8e932);}})[_0x298e('0x2b')](function(_0x3f6f8d){if(_0x3f6f8d){_0x544533=_0x3f6f8d[_0x298e('0x3d')];if(!_0x488ebc[_0x298e('0x37')][_0x298e('0x3e')]('nolimit')){_0xc8e932['limit']=qs['limit'](_0x488ebc[_0x298e('0x37')][_0x298e('0x24')]);_0xc8e932[_0x298e('0x22')]=qs[_0x298e('0x22')](_0x488ebc[_0x298e('0x37')][_0x298e('0x22')]);}return _0x55d19c['getAgents'](_0xc8e932);}})[_0x298e('0x2b')](function(_0x4108cc){if(_0x4108cc){return _0x4108cc?{'count':_0x544533,'rows':_0x4108cc}:null;}})[_0x298e('0x2b')](respondWithResult(_0x4035a4,null))[_0x298e('0x4a')](handleError(_0x4035a4,null));};