Built motion from commit 85328c08.|2.5.50
[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 _0xd33f=['register','sendStatus','status','offset','undefined','count','Content-Range','json','reject','then','destroy','get','Lists','end','error','name','index','map','CmList','rawAttributes','fieldName','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','filters','pick','where','VIRTUAL','filter','merge','options','findAll','rows','show','includeAll','find','catch','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','update','params','describe','addDisposition','ListId','Disposition','getDispositions','findOne','length','include','removeDispositions','addContacts','CmContact','tags','isArray','join','each','omit','ids','success','dataValues','errors','push','message','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','concat','cf_%d','getContactsCsv','format','raw','now','writeFileSync','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','setHeader','Content-type','text/csv','download','/tmp/list_%d_%s.csv','addCustomField','sequelize','addCustomFields','Sequelize','TEXT','type','text','number','INTEGER','switch','BOOLEAN','defaultValue','queryInterface','cm_contacts','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','to-csv','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/environment','../../config/license/util','redis','defaults','socket.io-emitter','./cmList.socket'];(function(_0x3434bb,_0x1c576b){var _0xe558f8=function(_0x525b45){while(--_0x525b45){_0x3434bb['push'](_0x3434bb['shift']());}};_0xe558f8(++_0x1c576b);}(_0xd33f,0x78));var _0xfd33=function(_0x1115aa,_0x2448e8){_0x1115aa=_0x1115aa-0x0;var _0x25be29=_0xd33f[_0x1115aa];return _0x25be29;};'use strict';var emlformat=require(_0xfd33('0x0'));var rimraf=require(_0xfd33('0x1'));var zipdir=require(_0xfd33('0x2'));var jsonpatch=require(_0xfd33('0x3'));var rp=require(_0xfd33('0x4'));var moment=require(_0xfd33('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xfd33('0x6'));var util=require(_0xfd33('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0xfd33('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfd33('0x9'));var _=require(_0xfd33('0xa'));var squel=require(_0xfd33('0xb'));var crypto=require(_0xfd33('0xc'));var jsforce=require(_0xfd33('0xd'));var deskjs=require(_0xfd33('0xe'));var toCsv=require('to-csv');var querystring=require(_0xfd33('0xf'));var Papa=require(_0xfd33('0x10'));var Redis=require(_0xfd33('0x11'));var authService=require(_0xfd33('0x12'));var qs=require(_0xfd33('0x13'));var as=require(_0xfd33('0x14'));var hardwareService=require(_0xfd33('0x15'));var logger=require('../../config/logger')(_0xfd33('0x16'));var utils=require(_0xfd33('0x17'));var config=require(_0xfd33('0x18'));var licenseUtil=require(_0xfd33('0x19'));var db=require('../../mysqldb')['db'];config[_0xfd33('0x1a')]=_[_0xfd33('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xfd33('0x1c'))(new Redis(config[_0xfd33('0x1a')]));require(_0xfd33('0x1d'))[_0xfd33('0x1e')](socket);function respondWithStatusCode(_0x1796b1,_0x5a034c){_0x5a034c=_0x5a034c||0xcc;return function(_0x3133f8){if(_0x3133f8){return _0x1796b1[_0xfd33('0x1f')](_0x5a034c);}return _0x1796b1[_0xfd33('0x20')](_0x5a034c)['end']();};}function respondWithResult(_0xf15b1e,_0x16117a){_0x16117a=_0x16117a||0xc8;return function(_0x1c105f){if(_0x1c105f){return _0xf15b1e[_0xfd33('0x20')](_0x16117a)['json'](_0x1c105f);}};}function respondWithFilteredResult(_0x84f925,_0x134606){return function(_0x576991){if(_0x576991){var _0x3415fb=typeof _0x134606[_0xfd33('0x21')]===_0xfd33('0x22')&&typeof _0x134606['limit']===_0xfd33('0x22');var _0x2c5fd5=_0x576991[_0xfd33('0x23')];var _0x141d36=_0x3415fb?0x0:_0x134606[_0xfd33('0x21')];var _0x1f23f1=_0x3415fb?_0x576991[_0xfd33('0x23')]:_0x134606[_0xfd33('0x21')]+_0x134606['limit'];var _0x134a30;if(_0x1f23f1>=_0x2c5fd5){_0x1f23f1=_0x2c5fd5;_0x134a30=0xc8;}else{_0x134a30=0xce;}_0x84f925[_0xfd33('0x20')](_0x134a30);return _0x84f925['set'](_0xfd33('0x24'),_0x141d36+'-'+_0x1f23f1+'/'+_0x2c5fd5)[_0xfd33('0x25')](_0x576991);}return null;};}function patchUpdates(_0x53f957){return function(_0x216d92){try{jsonpatch['apply'](_0x216d92,_0x53f957,!![]);}catch(_0x4e5ca7){return BPromise[_0xfd33('0x26')](_0x4e5ca7);}return _0x216d92['save']();};}function saveUpdates(_0x5c1ce0,_0x2a46bd){return function(_0xbe7258){if(_0xbe7258){return _0xbe7258['update'](_0x5c1ce0)[_0xfd33('0x27')](function(_0x8e656a){return _0x8e656a;});}return null;};}function removeEntity(_0x51dc9a,_0x127650){return function(_0x437232){if(_0x437232){return _0x437232[_0xfd33('0x28')]()['then'](function(){var _0xee8342=_0x437232[_0xfd33('0x29')]({'plain':!![]});var _0x23d272=_0xfd33('0x2a');return db['UserProfileResource'][_0xfd33('0x28')]({'where':{'type':_0x23d272,'resourceId':_0xee8342['id']}})[_0xfd33('0x27')](function(){return _0x437232;});})[_0xfd33('0x27')](function(){_0x51dc9a['status'](0xcc)[_0xfd33('0x2b')]();});}};}function handleEntityNotFound(_0x374bd6,_0x6efb58){return function(_0x5050d3){if(!_0x5050d3){_0x374bd6['sendStatus'](0x194);}return _0x5050d3;};}function handleError(_0x2ba654,_0x5435e0){_0x5435e0=_0x5435e0||0x1f4;return function(_0x2792da){logger[_0xfd33('0x2c')](_0x2792da['stack']);if(_0x2792da[_0xfd33('0x2d')]){delete _0x2792da[_0xfd33('0x2d')];}_0x2ba654[_0xfd33('0x20')](_0x5435e0)['send'](_0x2792da);};}exports[_0xfd33('0x2e')]=function(_0x366ffa,_0x1c96bd){var _0x2986ba={},_0x343f30={},_0x4dd349={'count':0x0,'rows':[]};var _0x190a6b=_[_0xfd33('0x2f')](db[_0xfd33('0x30')][_0xfd33('0x31')],function(_0x2c1240){return{'name':_0x2c1240[_0xfd33('0x32')],'type':_0x2c1240['type']['key']};});_0x343f30[_0xfd33('0x33')]=_[_0xfd33('0x2f')](_0x190a6b,'name');_0x343f30[_0xfd33('0x34')]=_[_0xfd33('0x35')](_0x366ffa[_0xfd33('0x34')]);_0x343f30['filters']=_[_0xfd33('0x36')](_0x343f30[_0xfd33('0x33')],_0x343f30[_0xfd33('0x34')]);_0x2986ba[_0xfd33('0x37')]=_[_0xfd33('0x36')](_0x343f30[_0xfd33('0x33')],qs[_0xfd33('0x38')](_0x366ffa[_0xfd33('0x34')][_0xfd33('0x38')]));_0x2986ba['attributes']=_0x2986ba[_0xfd33('0x37')]['length']?_0x2986ba['attributes']:_0x343f30[_0xfd33('0x33')];if(!_0x366ffa[_0xfd33('0x34')][_0xfd33('0x39')](_0xfd33('0x3a'))){_0x2986ba[_0xfd33('0x3b')]=qs[_0xfd33('0x3b')](_0x366ffa[_0xfd33('0x34')]['limit']);_0x2986ba[_0xfd33('0x21')]=qs['offset'](_0x366ffa[_0xfd33('0x34')]['offset']);}_0x2986ba[_0xfd33('0x3c')]=qs[_0xfd33('0x3d')](_0x366ffa[_0xfd33('0x34')]['sort']);_0x2986ba['where']=qs[_0xfd33('0x3e')](_[_0xfd33('0x3f')](_0x366ffa[_0xfd33('0x34')],_0x343f30[_0xfd33('0x3e')]),_0x190a6b);if(_0x366ffa['query']['filter']){_0x2986ba[_0xfd33('0x40')]=_['merge'](_0x2986ba[_0xfd33('0x40')],{'$or':_[_0xfd33('0x2f')](_0x190a6b,function(_0x1e982d){if(_0x1e982d['type']!==_0xfd33('0x41')){var _0x1ad688={};_0x1ad688[_0x1e982d['name']]={'$like':'%'+_0x366ffa[_0xfd33('0x34')][_0xfd33('0x42')]+'%'};return _0x1ad688;}})});}_0x2986ba=_[_0xfd33('0x43')]({},_0x2986ba,_0x366ffa[_0xfd33('0x44')]);var _0x46aafb={'where':_0x2986ba[_0xfd33('0x40')]};return db['CmList'][_0xfd33('0x23')](_0x46aafb)[_0xfd33('0x27')](function(_0x322c09){_0x4dd349[_0xfd33('0x23')]=_0x322c09;if(_0x366ffa[_0xfd33('0x34')]['includeAll']){_0x2986ba['include']=[{'all':!![]}];}return db[_0xfd33('0x30')][_0xfd33('0x45')](_0x2986ba);})['then'](function(_0x39f0e0){_0x4dd349[_0xfd33('0x46')]=_0x39f0e0;return _0x4dd349;})[_0xfd33('0x27')](respondWithFilteredResult(_0x1c96bd,_0x2986ba))['catch'](handleError(_0x1c96bd,null));};exports[_0xfd33('0x47')]=function(_0x2d0e7c,_0x46cbf7){var _0x4c89bc={'raw':![],'where':{'id':_0x2d0e7c['params']['id']}},_0x485979={};_0x485979[_0xfd33('0x33')]=_[_0xfd33('0x35')](db['CmList'][_0xfd33('0x31')]);_0x485979[_0xfd33('0x34')]=_[_0xfd33('0x35')](_0x2d0e7c['query']);_0x485979['filters']=_[_0xfd33('0x36')](_0x485979[_0xfd33('0x33')],_0x485979[_0xfd33('0x34')]);_0x4c89bc['attributes']=_[_0xfd33('0x36')](_0x485979[_0xfd33('0x33')],qs['fields'](_0x2d0e7c[_0xfd33('0x34')][_0xfd33('0x38')]));_0x4c89bc[_0xfd33('0x37')]=_0x4c89bc[_0xfd33('0x37')]['length']?_0x4c89bc[_0xfd33('0x37')]:_0x485979[_0xfd33('0x33')];if(_0x2d0e7c[_0xfd33('0x34')][_0xfd33('0x48')]){_0x4c89bc['include']=[{'all':!![]}];}_0x4c89bc=_['merge']({},_0x4c89bc,_0x2d0e7c['options']);return db['CmList'][_0xfd33('0x49')](_0x4c89bc)[_0xfd33('0x27')](handleEntityNotFound(_0x46cbf7,null))[_0xfd33('0x27')](respondWithResult(_0x46cbf7,null))[_0xfd33('0x4a')](handleError(_0x46cbf7,null));};exports[_0xfd33('0x4b')]=function(_0x149f65,_0x18dd98){return db[_0xfd33('0x30')][_0xfd33('0x4b')](_0x149f65[_0xfd33('0x4c')],{})['then'](function(_0xefc4ea){var _0x11aca0=_0x149f65[_0xfd33('0x4d')][_0xfd33('0x29')]({'plain':!![]});if(!_0x11aca0)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x11aca0[_0xfd33('0x4e')]===_0xfd33('0x4d')){var _0x1f66ab=_0xefc4ea[_0xfd33('0x29')]({'plain':!![]});var _0x34fb31=_0xfd33('0x2a');return db[_0xfd33('0x4f')]['find']({'where':{'name':_0x34fb31,'userProfileId':_0x11aca0[_0xfd33('0x50')]},'raw':!![]})[_0xfd33('0x27')](function(_0x216d09){if(_0x216d09&&_0x216d09[_0xfd33('0x51')]===0x0){return db[_0xfd33('0x52')][_0xfd33('0x4b')]({'name':_0x1f66ab[_0xfd33('0x2d')],'resourceId':_0x1f66ab['id'],'type':_0x216d09[_0xfd33('0x2d')],'sectionId':_0x216d09['id']},{})[_0xfd33('0x27')](function(){return _0xefc4ea;});}else{return _0xefc4ea;}})[_0xfd33('0x4a')](function(_0x45ea83){logger[_0xfd33('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x45ea83);throw _0x45ea83;});}return _0xefc4ea;})[_0xfd33('0x27')](respondWithResult(_0x18dd98,0xc9))[_0xfd33('0x4a')](handleError(_0x18dd98,null));};exports[_0xfd33('0x53')]=function(_0x1c8d46,_0x17effd){if(_0x1c8d46[_0xfd33('0x4c')]['id']){delete _0x1c8d46[_0xfd33('0x4c')]['id'];}return db[_0xfd33('0x30')][_0xfd33('0x49')]({'where':{'id':_0x1c8d46['params']['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x17effd,null))[_0xfd33('0x27')](saveUpdates(_0x1c8d46['body'],null))[_0xfd33('0x27')](respondWithResult(_0x17effd,null))[_0xfd33('0x4a')](handleError(_0x17effd,null));};exports[_0xfd33('0x28')]=function(_0x52a8fb,_0xbedc93){return db[_0xfd33('0x30')][_0xfd33('0x49')]({'where':{'id':_0x52a8fb[_0xfd33('0x54')]['id']}})['then'](handleEntityNotFound(_0xbedc93,null))[_0xfd33('0x27')](removeEntity(_0xbedc93,null))[_0xfd33('0x4a')](handleError(_0xbedc93,null));};exports['describe']=function(_0x5c799d,_0x2e8c72){return db[_0xfd33('0x30')][_0xfd33('0x55')]()[_0xfd33('0x27')](respondWithResult(_0x2e8c72,null))[_0xfd33('0x4a')](handleError(_0x2e8c72,null));};exports[_0xfd33('0x56')]=function(_0x42b211,_0x4d7f3c,_0x90d078){if(_0x42b211[_0xfd33('0x4c')]['id']){delete _0x42b211[_0xfd33('0x4c')]['id'];}return db['CmList'][_0xfd33('0x49')]({'where':{'id':_0x42b211[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x4d7f3c,null))[_0xfd33('0x27')](function(_0x164c67){if(_0x164c67){_0x42b211[_0xfd33('0x4c')][_0xfd33('0x57')]=_0x164c67['id'];return db[_0xfd33('0x58')][_0xfd33('0x4b')](_0x42b211[_0xfd33('0x4c')]);}})[_0xfd33('0x27')](respondWithResult(_0x4d7f3c,null))[_0xfd33('0x4a')](handleError(_0x4d7f3c,null));};exports[_0xfd33('0x59')]=function(_0x52fe9f,_0x21fcfe,_0x2e2a1e){var _0x2d2fdf={'raw':![],'where':{}};var _0x4f9901={};var _0x3555ce={'count':0x0,'rows':[]};return db['CmList'][_0xfd33('0x5a')]({'where':{'id':_0x52fe9f['params']['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x21fcfe,null))[_0xfd33('0x27')](function(_0x33f8e1){if(_0x33f8e1){_0x4f9901[_0xfd33('0x33')]=_['keys'](db['Disposition'][_0xfd33('0x31')]);_0x4f9901[_0xfd33('0x34')]=_[_0xfd33('0x35')](_0x52fe9f['query']);_0x4f9901[_0xfd33('0x3e')]=_[_0xfd33('0x36')](_0x4f9901[_0xfd33('0x33')],_0x4f9901[_0xfd33('0x34')]);_0x2d2fdf[_0xfd33('0x37')]=_[_0xfd33('0x36')](_0x4f9901[_0xfd33('0x33')],qs[_0xfd33('0x38')](_0x52fe9f[_0xfd33('0x34')][_0xfd33('0x38')]));_0x2d2fdf[_0xfd33('0x37')]=_0x2d2fdf[_0xfd33('0x37')][_0xfd33('0x5b')]?_0x2d2fdf['attributes']:_0x4f9901['model'];if(!_0x52fe9f[_0xfd33('0x34')][_0xfd33('0x39')](_0xfd33('0x3a'))){_0x2d2fdf['limit']=qs[_0xfd33('0x3b')](_0x52fe9f['query'][_0xfd33('0x3b')]);_0x2d2fdf[_0xfd33('0x21')]=qs[_0xfd33('0x21')](_0x52fe9f['query'][_0xfd33('0x21')]);}_0x2d2fdf['order']=qs[_0xfd33('0x3d')](_0x52fe9f[_0xfd33('0x34')]['sort']);_0x2d2fdf['where']=qs['filters'](_[_0xfd33('0x3f')](_0x52fe9f[_0xfd33('0x34')],_0x4f9901['filters']));_0x2d2fdf[_0xfd33('0x40')][_0xfd33('0x57')]=_0x33f8e1['id'];if(_0x52fe9f[_0xfd33('0x34')]['filter']){_0x2d2fdf[_0xfd33('0x40')]=_[_0xfd33('0x43')](_0x2d2fdf['where'],{'$or':_['map'](_0x2d2fdf[_0xfd33('0x37')],function(_0x55556f){var _0x4954ff={};_0x4954ff[_0x55556f]={'$like':'%'+_0x52fe9f[_0xfd33('0x34')][_0xfd33('0x42')]+'%'};return _0x4954ff;})});}_0x2d2fdf=_[_0xfd33('0x43')]({},_0x2d2fdf,_0x52fe9f['options']);return db[_0xfd33('0x58')][_0xfd33('0x23')]({'where':_0x2d2fdf[_0xfd33('0x40')]})[_0xfd33('0x27')](function(_0x47b3c2){_0x3555ce['count']=_0x47b3c2;if(_0x52fe9f[_0xfd33('0x34')]['includeAll']){_0x2d2fdf[_0xfd33('0x5c')]=[{'all':!![]}];}return db['Disposition'][_0xfd33('0x45')](_0x2d2fdf);})['then'](function(_0x38f88a){_0x3555ce[_0xfd33('0x46')]=_0x38f88a;return _0x3555ce;});}})['then'](respondWithFilteredResult(_0x21fcfe,_0x2d2fdf))['catch'](handleError(_0x21fcfe,null));};exports[_0xfd33('0x5d')]=function(_0x4b7f1c,_0xb9c10d,_0x4744f2){return db[_0xfd33('0x30')][_0xfd33('0x49')]({'where':{'id':_0x4b7f1c[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0xb9c10d,null))[_0xfd33('0x27')](function(_0x545e5e){if(_0x545e5e){return _0x545e5e[_0xfd33('0x5d')](_0x4b7f1c[_0xfd33('0x34')]['ids']);}})[_0xfd33('0x27')](respondWithStatusCode(_0xb9c10d,null))[_0xfd33('0x4a')](handleError(_0xb9c10d,null));};exports[_0xfd33('0x5e')]=function(_0x3bfe77,_0x25d9c8,_0xe2f846){return db[_0xfd33('0x30')]['find']({'where':{'id':_0x3bfe77[_0xfd33('0x54')]['id']}})['then'](handleEntityNotFound(_0x25d9c8,null))[_0xfd33('0x27')](function(_0x4f9bd3){if(_0x4f9bd3){var _0x35f977=[];var _0x1287af={'success':[],'errors':[]};return db[_0xfd33('0x5f')][_0xfd33('0x55')]()[_0xfd33('0x27')](function(_0x50c687){if(_0x3bfe77[_0xfd33('0x4c')][_0xfd33('0x60')]&&_[_0xfd33('0x61')](_0x3bfe77[_0xfd33('0x4c')][_0xfd33('0x60')])){if(_0x3bfe77['body']['tags'][_0xfd33('0x5b')]){_0x3bfe77['body'][_0xfd33('0x60')]=_0x3bfe77[_0xfd33('0x4c')][_0xfd33('0x60')][_0xfd33('0x62')](';')+';';}else{_0x3bfe77[_0xfd33('0x4c')][_0xfd33('0x60')]=null;}}else{_0x3bfe77[_0xfd33('0x4c')][_0xfd33('0x60')]=null;}if(_0x3bfe77[_0xfd33('0x4c')]&&_[_0xfd33('0x61')](_0x3bfe77['body'])){for(var _0x29da60=0x0;_0x29da60<_0x3bfe77['body'][_0xfd33('0x5b')];_0x29da60+=0x1){_0x3bfe77['body'][_0x29da60]['ListId']=_0x3bfe77[_0xfd33('0x54')]['id'];_0x35f977['push'](_0x3bfe77['body'][_0x29da60]);}return BPromise[_0xfd33('0x63')](_0x35f977,function(_0x3adb35){return db[_0xfd33('0x5f')][_0xfd33('0x4b')](_[_0xfd33('0x64')](_0x3adb35,[_0xfd33('0x65'),'id'])||{},{'fields':_[_0xfd33('0x35')](_0x50c687),'raw':!![]})[_0xfd33('0x27')](function(_0x1af6fe){_0x1287af[_0xfd33('0x66')]['push'](_0x1af6fe[_0xfd33('0x67')]);})[_0xfd33('0x4a')](function(_0x5398b2){_0x1287af[_0xfd33('0x68')][_0xfd33('0x69')]({'data':_0x3adb35,'error':_0x5398b2[_0xfd33('0x6a')]});});})[_0xfd33('0x27')](function(_0x276349){return _0x1287af;})[_0xfd33('0x4a')](function(_0x2bf640){return _0x2bf640;});}else{_0x25d9c8[_0xfd33('0x20')](0x190)[_0xfd33('0x25')]({'message':_0xfd33('0x6b')});}});}})[_0xfd33('0x27')](respondWithResult(_0x25d9c8,null))[_0xfd33('0x4a')](handleError(_0x25d9c8,null));};exports[_0xfd33('0x6c')]=function(_0x9ec23b,_0x4f4dd5,_0x175dad){var _0x6a314c;return db[_0xfd33('0x30')][_0xfd33('0x49')]({'where':{'id':_0x9ec23b[_0xfd33('0x54')]['id']},'include':[{'model':db[_0xfd33('0x6d')],'as':_0xfd33('0x6e')}]})['then'](handleEntityNotFound(_0x4f4dd5,null))[_0xfd33('0x27')](function(_0x27cbd4){if(_0x27cbd4){_0x6a314c=_0x27cbd4;return db[_0xfd33('0x5f')]['rawAttributes'];}})[_0xfd33('0x27')](function(_0x5194ae){if(_0x5194ae){var _0x39ef18={};var _0x140194={};_0x140194[_0xfd33('0x33')]=_[_0xfd33('0x6f')](_['keys'](_0x5194ae),_[_0xfd33('0x2f')](_0x6a314c['CustomFields'],function(_0x42c9fb){return util['format'](_0xfd33('0x70'),_0x42c9fb['id']);}));_0x140194['query']=_['keys'](_0x9ec23b[_0xfd33('0x34')]);_0x140194[_0xfd33('0x3e')]=_[_0xfd33('0x36')](_0x140194[_0xfd33('0x33')],_0x140194[_0xfd33('0x34')]);_0x39ef18[_0xfd33('0x37')]=_[_0xfd33('0x36')](_0x140194['model'],qs[_0xfd33('0x38')](_0x9ec23b['query'][_0xfd33('0x38')]));_0x39ef18[_0xfd33('0x37')]=_0x39ef18[_0xfd33('0x37')]['length']?_0x39ef18['attributes']:_0x140194[_0xfd33('0x33')];if(!_0x9ec23b[_0xfd33('0x34')][_0xfd33('0x39')](_0xfd33('0x3a'))){_0x39ef18[_0xfd33('0x3b')]=qs[_0xfd33('0x3b')](_0x9ec23b[_0xfd33('0x34')]['limit']);_0x39ef18[_0xfd33('0x21')]=qs[_0xfd33('0x21')](_0x9ec23b[_0xfd33('0x34')][_0xfd33('0x21')]);}_0x39ef18[_0xfd33('0x3c')]=qs[_0xfd33('0x3d')](_0x9ec23b[_0xfd33('0x34')][_0xfd33('0x3d')]);_0x39ef18['where']=qs[_0xfd33('0x3e')](_[_0xfd33('0x3f')](_0x9ec23b['query'],_0x140194[_0xfd33('0x3e')]));_0x39ef18['raw']=!![];if(_0x9ec23b['query']['filter']){_0x39ef18[_0xfd33('0x40')]=_['merge'](_0x39ef18['where'],{'$or':_[_0xfd33('0x2f')](_0x39ef18[_0xfd33('0x37')],function(_0x476c16){var _0x49eb4c={};_0x49eb4c[_0x476c16]={'$like':'%'+_0x9ec23b[_0xfd33('0x34')]['filter']+'%'};return _0x49eb4c;})});}_0x39ef18=_[_0xfd33('0x43')]({},_0x39ef18,_0x9ec23b['options']);return _0x6a314c[_0xfd33('0x6c')](_0x39ef18);}})[_0xfd33('0x27')](respondWithResult(_0x4f4dd5,null))[_0xfd33('0x4a')](handleError(_0x4f4dd5,null));};exports[_0xfd33('0x71')]=function(_0x566608,_0x2a621d,_0x155a2d){var _0x6c30a5;return db[_0xfd33('0x30')]['find']({'where':{'id':_0x566608[_0xfd33('0x54')]['id']},'include':[{'model':db['CmCustomField'],'as':_0xfd33('0x6e')}]})['then'](handleEntityNotFound(_0x2a621d,null))[_0xfd33('0x27')](function(_0x39a4dc){if(_0x39a4dc){_0x6c30a5=_0x39a4dc;return db[_0xfd33('0x5f')][_0xfd33('0x31')];}})[_0xfd33('0x27')](function(_0x33b4a1){if(_0x33b4a1){var _0x5660a1={};var _0x5768cb={};_0x5768cb['model']=_['concat'](_[_0xfd33('0x35')](_0x33b4a1),_[_0xfd33('0x2f')](_0x6c30a5[_0xfd33('0x6e')],function(_0x4f1469){return util[_0xfd33('0x72')]('cf_%d',_0x4f1469['id']);}));_0x5768cb[_0xfd33('0x34')]=_[_0xfd33('0x35')](_0x566608[_0xfd33('0x34')]);_0x5768cb[_0xfd33('0x3e')]=_['intersection'](_0x5768cb['model'],_0x5768cb[_0xfd33('0x34')]);_0x5660a1[_0xfd33('0x37')]=_['intersection'](_0x5768cb['model'],qs[_0xfd33('0x38')](_0x566608[_0xfd33('0x34')][_0xfd33('0x38')]));_0x5660a1['attributes']=_0x5660a1[_0xfd33('0x37')]['length']?_0x5660a1[_0xfd33('0x37')]:_0x5768cb[_0xfd33('0x33')];if(!_0x566608[_0xfd33('0x34')][_0xfd33('0x39')](_0xfd33('0x3a'))){_0x5660a1[_0xfd33('0x3b')]=qs['limit'](_0x566608[_0xfd33('0x34')][_0xfd33('0x3b')]);_0x5660a1[_0xfd33('0x21')]=qs[_0xfd33('0x21')](_0x566608['query'][_0xfd33('0x21')]);}_0x5660a1[_0xfd33('0x3c')]=qs['sort'](_0x566608[_0xfd33('0x34')][_0xfd33('0x3d')]);_0x5660a1[_0xfd33('0x40')]=qs[_0xfd33('0x3e')](_[_0xfd33('0x3f')](_0x566608['query'],_0x5768cb[_0xfd33('0x3e')]));_0x5660a1[_0xfd33('0x73')]=!![];if(_0x566608[_0xfd33('0x34')][_0xfd33('0x42')]){_0x5660a1[_0xfd33('0x40')]=_['merge'](_0x5660a1[_0xfd33('0x40')],{'$or':_[_0xfd33('0x2f')](_0x5660a1['attributes'],function(_0x5ce2de){var _0x143f1a={};_0x143f1a[_0x5ce2de]={'$like':'%'+_0x566608[_0xfd33('0x34')][_0xfd33('0x42')]+'%'};return _0x143f1a;})});}_0x5660a1=_[_0xfd33('0x43')]({},_0x5660a1,_0x566608[_0xfd33('0x44')]);return _0x6c30a5[_0xfd33('0x6c')](_0x5660a1);}})[_0xfd33('0x27')](function(_0x1dd4de){if(!_['isEmpty'](_0x1dd4de)){var _0x2775c7=toCsv(_0x1dd4de);var _0x49517d=Date[_0xfd33('0x74')]();fs[_0xfd33('0x75')](util[_0xfd33('0x72')]('/tmp/list_%d_%s.csv',_0x6c30a5['id'],_0x49517d),_0x2775c7);_0x2a621d['setHeader'](_0xfd33('0x76'),_0xfd33('0x77')+util[_0xfd33('0x72')](_0xfd33('0x78'),_0x6c30a5['id'],_0x49517d));_0x2a621d[_0xfd33('0x79')](_0xfd33('0x7a'),_0xfd33('0x7b'));return _0x2a621d[_0xfd33('0x7c')](util[_0xfd33('0x72')](_0xfd33('0x7d'),_0x6c30a5['id'],_0x49517d));}else{return _0x2a621d[_0xfd33('0x1f')](0xcc);}})[_0xfd33('0x4a')](handleError(_0x2a621d,null));};exports[_0xfd33('0x7e')]=function(_0x4eba6c,_0x280adf,_0x4b4324){var _0x1ba6b6;delete _0x4eba6c[_0xfd33('0x4c')]['id'];return db[_0xfd33('0x30')]['findOne']({'where':{'id':_0x4eba6c[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x280adf,null))['then'](function(_0x506c98){if(_0x506c98){return db[_0xfd33('0x7f')]['transaction'](function(_0x2dc651){return db[_0xfd33('0x6d')]['create'](_0x4eba6c['body'],{'transaction':_0x2dc651})[_0xfd33('0x27')](function(_0x742734){_0x1ba6b6=_0x742734;return _0x506c98[_0xfd33('0x80')](_0x742734,{'transaction':_0x2dc651});})['then'](function(){var _0x11717c={'type':db[_0xfd33('0x81')][_0xfd33('0x82')],'transaction':_0x2dc651};switch(_0x4eba6c[_0xfd33('0x4c')][_0xfd33('0x83')]){case _0xfd33('0x84'):_0x11717c[_0xfd33('0x83')]=db[_0xfd33('0x81')][_0xfd33('0x82')];break;case _0xfd33('0x85'):_0x11717c[_0xfd33('0x83')]=db[_0xfd33('0x81')][_0xfd33('0x86')];break;case _0xfd33('0x87'):_0x11717c['type']=db['Sequelize'][_0xfd33('0x88')];_0x11717c[_0xfd33('0x89')]=![];break;default:}return db['sequelize'][_0xfd33('0x8a')]['addColumn'](_0xfd33('0x8b'),util['format'](_0xfd33('0x8c'),_0x1ba6b6['id']),_0x11717c);})[_0xfd33('0x27')](function(){return _0x1ba6b6;});});}})[_0xfd33('0x27')](respondWithResult(_0x280adf,null))['catch'](handleError(_0x280adf,null));};exports[_0xfd33('0x8d')]=function(_0x46d05a,_0x15c98a,_0x1c4377){var _0x2dfe91={};var _0x5a5b4d={};var _0x1f30ed;var _0x2d6518;return db['CmList'][_0xfd33('0x5a')]({'where':{'id':_0x46d05a['params']['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x15c98a,null))[_0xfd33('0x27')](function(_0x34aaf3){if(_0x34aaf3){_0x1f30ed=_0x34aaf3;_0x5a5b4d['model']=_[_0xfd33('0x35')](db['CmCustomField'][_0xfd33('0x31')]);_0x5a5b4d[_0xfd33('0x34')]=_['keys'](_0x46d05a[_0xfd33('0x34')]);_0x5a5b4d[_0xfd33('0x3e')]=_[_0xfd33('0x36')](_0x5a5b4d[_0xfd33('0x33')],_0x5a5b4d[_0xfd33('0x34')]);_0x2dfe91['attributes']=_[_0xfd33('0x36')](_0x5a5b4d[_0xfd33('0x33')],qs[_0xfd33('0x38')](_0x46d05a['query']['fields']));_0x2dfe91['attributes']=_0x2dfe91[_0xfd33('0x37')][_0xfd33('0x5b')]?_0x2dfe91[_0xfd33('0x37')]:_0x5a5b4d[_0xfd33('0x33')];_0x2dfe91['order']=qs['sort'](_0x46d05a[_0xfd33('0x34')][_0xfd33('0x3d')]);_0x2dfe91['where']=qs[_0xfd33('0x3e')](_[_0xfd33('0x3f')](_0x46d05a[_0xfd33('0x34')],_0x5a5b4d[_0xfd33('0x3e')]));_0x2dfe91[_0xfd33('0x40')]=_['merge'](_0x2dfe91[_0xfd33('0x40')],{'$or':[{'ListId':_0x34aaf3['id']},{'ListId':null}]});if(_0x46d05a[_0xfd33('0x34')]['filter']){_0x2dfe91['where']=_[_0xfd33('0x43')](_0x2dfe91[_0xfd33('0x40')],{'$or':_[_0xfd33('0x2f')](_0x2dfe91[_0xfd33('0x37')],function(_0x2a6217){var _0x59d3fb={};_0x59d3fb[_0x2a6217]={'$like':'%'+_0x46d05a[_0xfd33('0x34')][_0xfd33('0x42')]+'%'};return _0x59d3fb;})});}_0x2dfe91=_[_0xfd33('0x43')]({},_0x2dfe91,_0x46d05a[_0xfd33('0x44')]);return db[_0xfd33('0x6d')][_0xfd33('0x8e')](_0x2dfe91);}})[_0xfd33('0x27')](respondWithResult(_0x15c98a,null))[_0xfd33('0x4a')](handleError(_0x15c98a,null));};exports['addAgents']=function(_0x185324,_0x28ddca,_0x38ced8){return db[_0xfd33('0x30')]['find']({'where':{'id':_0x185324[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x28ddca,null))[_0xfd33('0x27')](function(_0x44c046){if(_0x44c046){return _0x44c046[_0xfd33('0x8f')](_0x185324['body'][_0xfd33('0x65')],_['omit'](_0x185324[_0xfd33('0x4c')],[_0xfd33('0x65'),'id'])||{})[_0xfd33('0x90')](function(_0x490c3c){for(var _0x13ce00=0x0;_0x13ce00<_0x185324[_0xfd33('0x4c')][_0xfd33('0x65')][_0xfd33('0x5b')];_0x13ce00+=0x1){socket[_0xfd33('0x91')](_0xfd33('0x92'),{'UserId':Number(_0x185324[_0xfd33('0x4c')]['ids'][_0x13ce00]),'CmListId':Number(_0x185324[_0xfd33('0x54')]['id'])});}return _0x490c3c;});}})[_0xfd33('0x27')](respondWithResult(_0x28ddca,null))[_0xfd33('0x4a')](handleError(_0x28ddca,null));};exports[_0xfd33('0x93')]=function(_0x8e92b4,_0x5881b9,_0x3e12a3){return db[_0xfd33('0x30')]['find']({'where':{'id':_0x8e92b4[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x5881b9,null))[_0xfd33('0x27')](function(_0x8eb1e4){if(_0x8eb1e4){return _0x8eb1e4[_0xfd33('0x93')](_0x8e92b4[_0xfd33('0x34')][_0xfd33('0x65')])['then'](function(){if(_[_0xfd33('0x61')](_0x8e92b4[_0xfd33('0x34')][_0xfd33('0x65')])){for(var _0x12ce8c=0x0;_0x12ce8c<_0x8e92b4['query'][_0xfd33('0x65')][_0xfd33('0x5b')];_0x12ce8c+=0x1){socket[_0xfd33('0x91')](_0xfd33('0x94'),{'UserId':Number(_0x8e92b4[_0xfd33('0x34')]['ids'][_0x12ce8c]),'CmListId':Number(_0x8e92b4[_0xfd33('0x54')]['id'])});}}else{socket[_0xfd33('0x91')](_0xfd33('0x94'),{'UserId':Number(_0x8e92b4[_0xfd33('0x34')][_0xfd33('0x65')]),'CmListId':Number(_0x8e92b4[_0xfd33('0x54')]['id'])});}});}})[_0xfd33('0x27')](respondWithStatusCode(_0x5881b9,null))[_0xfd33('0x4a')](handleError(_0x5881b9,null));};exports['getAgents']=function(_0x800e65,_0x5356fe,_0x1b47c3){var _0x3c2c6d={};var _0x3ef728={};var _0x3ebdc4;var _0x2c644f;return db['CmList'][_0xfd33('0x5a')]({'where':{'id':_0x800e65[_0xfd33('0x54')]['id']}})[_0xfd33('0x27')](handleEntityNotFound(_0x5356fe,null))['then'](function(_0x12559d){if(_0x12559d){_0x3ebdc4=_0x12559d;_0x3ef728[_0xfd33('0x33')]=_[_0xfd33('0x35')](db['User'][_0xfd33('0x31')]);_0x3ef728[_0xfd33('0x34')]=_[_0xfd33('0x35')](_0x800e65['query']);_0x3ef728[_0xfd33('0x3e')]=_[_0xfd33('0x36')](_0x3ef728[_0xfd33('0x33')],_0x3ef728['query']);_0x3c2c6d['attributes']=_[_0xfd33('0x36')](_0x3ef728[_0xfd33('0x33')],qs[_0xfd33('0x38')](_0x800e65[_0xfd33('0x34')][_0xfd33('0x38')]));_0x3c2c6d[_0xfd33('0x37')]=_0x3c2c6d[_0xfd33('0x37')][_0xfd33('0x5b')]?_0x3c2c6d[_0xfd33('0x37')]:_0x3ef728[_0xfd33('0x33')];_0x3c2c6d[_0xfd33('0x3c')]=qs[_0xfd33('0x3d')](_0x800e65[_0xfd33('0x34')]['sort']);_0x3c2c6d[_0xfd33('0x40')]=qs[_0xfd33('0x3e')](_[_0xfd33('0x3f')](_0x800e65[_0xfd33('0x34')],_0x3ef728[_0xfd33('0x3e')]));if(_0x800e65['query'][_0xfd33('0x42')]){_0x3c2c6d[_0xfd33('0x40')]=_[_0xfd33('0x43')](_0x3c2c6d[_0xfd33('0x40')],{'$or':_['map'](_0x3c2c6d['attributes'],function(_0x3e4685){var _0x20be00={};_0x20be00[_0x3e4685]={'$like':'%'+_0x800e65[_0xfd33('0x34')][_0xfd33('0x42')]+'%'};return _0x20be00;})});}_0x3c2c6d=_[_0xfd33('0x43')]({},_0x3c2c6d,_0x800e65[_0xfd33('0x44')]);return _0x3ebdc4['getAgents'](_0x3c2c6d);}})[_0xfd33('0x27')](function(_0x548b39){if(_0x548b39){_0x2c644f=_0x548b39[_0xfd33('0x5b')];if(!_0x800e65[_0xfd33('0x34')][_0xfd33('0x39')](_0xfd33('0x3a'))){_0x3c2c6d[_0xfd33('0x3b')]=qs[_0xfd33('0x3b')](_0x800e65['query']['limit']);_0x3c2c6d[_0xfd33('0x21')]=qs[_0xfd33('0x21')](_0x800e65[_0xfd33('0x34')][_0xfd33('0x21')]);}return _0x3ebdc4[_0xfd33('0x95')](_0x3c2c6d);}})['then'](function(_0x334ec4){if(_0x334ec4){return _0x334ec4?{'count':_0x2c644f,'rows':_0x334ec4}:null;}})[_0xfd33('0x27')](respondWithResult(_0x5356fe,null))['catch'](handleError(_0x5356fe,null));};