Built motion from commit 47436d59.|2.6.7
[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 _0x0247=['fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','update','get','Lists','UserProfileResource','destroy','then','error','stack','send','index','map','rawAttributes','type','key','name','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','includeAll','include','CmList','findAll','rows','catch','show','params','keys','merge','options','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addDisposition','ListId','Disposition','getDispositions','findOne','removeDispositions','ids','addContacts','tags','isArray','CmContact','omit','success','push','errors','message','Malformed\x20request\x20syntax','getContacts','format','cf_%d','raw','getContactsCsv','ContactItemType','OrderBy','CmCustomField','alias','select','cm_contacts','c.ListId\x20=\x20?','distinct','field','item','from','cm_contact_has_items','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','description','description_additionalPhone_','toString','each','isEmpty','writeFileSync','/tmp/list_%d_%s.csv','setHeader','Content-disposition','attachment;\x20filename=','list_%d_%s.csv','Content-type','sequelize','transaction','addCustomFields','Sequelize','text','number','switch','defaultValue','queryInterface','addColumn','cf_%s','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','info','eml-format','rimraf','zip-dir'];(function(_0x42bd6c,_0xcd4c6e){var _0x4442ad=function(_0x151282){while(--_0x151282){_0x42bd6c['push'](_0x42bd6c['shift']());}};_0x4442ad(++_0xcd4c6e);}(_0x0247,0x147));var _0x7024=function(_0xa92bf7,_0x118280){_0xa92bf7=_0xa92bf7-0x0;var _0x42734d=_0x0247[_0xa92bf7];return _0x42734d;};'use strict';var emlformat=require(_0x7024('0x0'));var rimraf=require(_0x7024('0x1'));var zipdir=require(_0x7024('0x2'));var jsonpatch=require(_0x7024('0x3'));var rp=require(_0x7024('0x4'));var moment=require(_0x7024('0x5'));var BPromise=require(_0x7024('0x6'));var Mustache=require(_0x7024('0x7'));var util=require(_0x7024('0x8'));var path=require('path');var sox=require(_0x7024('0x9'));var csv=require(_0x7024('0xa'));var ejs=require(_0x7024('0xb'));var fs=require('fs');var fs_extra=require(_0x7024('0xc'));var _=require(_0x7024('0xd'));var squel=require(_0x7024('0xe'));var crypto=require(_0x7024('0xf'));var jsforce=require(_0x7024('0x10'));var deskjs=require(_0x7024('0x11'));var toCsv=require('to-csv');var querystring=require(_0x7024('0x12'));var Papa=require(_0x7024('0x13'));var Redis=require(_0x7024('0x14'));var authService=require(_0x7024('0x15'));var qs=require(_0x7024('0x16'));var as=require(_0x7024('0x17'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7024('0x18'))(_0x7024('0x19'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x7024('0x1a'));var db=require(_0x7024('0x1b'))['db'];var csv_results;config[_0x7024('0x1c')]=_['defaults'](config[_0x7024('0x1c')],{'host':_0x7024('0x1d'),'port':0x18eb});var socket=require(_0x7024('0x1e'))(new Redis(config[_0x7024('0x1c')]));require(_0x7024('0x1f'))[_0x7024('0x20')](socket);function respondWithStatusCode(_0x2c471b,_0x1273b5){_0x1273b5=_0x1273b5||0xcc;return function(_0x36a988){if(_0x36a988){return _0x2c471b[_0x7024('0x21')](_0x1273b5);}return _0x2c471b[_0x7024('0x22')](_0x1273b5)[_0x7024('0x23')]();};}function respondWithResult(_0xbaae6a,_0x1bc8e2){_0x1bc8e2=_0x1bc8e2||0xc8;return function(_0xeabd5e){if(_0xeabd5e){return _0xbaae6a['status'](_0x1bc8e2)[_0x7024('0x24')](_0xeabd5e);}};}function respondWithFilteredResult(_0x454546,_0x3da9c9){return function(_0x28b4ea){if(_0x28b4ea){var _0x2d0f62=typeof _0x3da9c9['offset']===_0x7024('0x25')&&typeof _0x3da9c9[_0x7024('0x26')]===_0x7024('0x25');var _0x2375a2=_0x28b4ea['count'];var _0x3dbe49=_0x2d0f62?0x0:_0x3da9c9['offset'];var _0x53e4bc=_0x2d0f62?_0x28b4ea[_0x7024('0x27')]:_0x3da9c9[_0x7024('0x28')]+_0x3da9c9[_0x7024('0x26')];var _0x420aed;if(_0x53e4bc>=_0x2375a2){_0x53e4bc=_0x2375a2;_0x420aed=0xc8;}else{_0x420aed=0xce;}_0x454546[_0x7024('0x22')](_0x420aed);return _0x454546[_0x7024('0x29')](_0x7024('0x2a'),_0x3dbe49+'-'+_0x53e4bc+'/'+_0x2375a2)[_0x7024('0x24')](_0x28b4ea);}return null;};}function patchUpdates(_0x55e9b6){return function(_0x59313f){try{jsonpatch[_0x7024('0x2b')](_0x59313f,_0x55e9b6,!![]);}catch(_0x2d853e){return BPromise[_0x7024('0x2c')](_0x2d853e);}return _0x59313f[_0x7024('0x2d')]();};}function saveUpdates(_0x38b91f,_0x1ce16e){return function(_0x1ac345){if(_0x1ac345){return _0x1ac345[_0x7024('0x2e')](_0x38b91f)['then'](function(_0x37a101){return _0x37a101;});}return null;};}function removeEntity(_0xd77fb0,_0x2b97fa){return function(_0x2edb1a){if(_0x2edb1a){return _0x2edb1a['destroy']()['then'](function(){var _0x50bd93=_0x2edb1a[_0x7024('0x2f')]({'plain':!![]});var _0x21ea7e=_0x7024('0x30');return db[_0x7024('0x31')][_0x7024('0x32')]({'where':{'type':_0x21ea7e,'resourceId':_0x50bd93['id']}})['then'](function(){return _0x2edb1a;});})[_0x7024('0x33')](function(){_0xd77fb0[_0x7024('0x22')](0xcc)[_0x7024('0x23')]();});}};}function handleEntityNotFound(_0x2cbbd4,_0x81eea){return function(_0x3a9a6b){if(!_0x3a9a6b){_0x2cbbd4['sendStatus'](0x194);}return _0x3a9a6b;};}function handleError(_0x4604eb,_0x21a78a){_0x21a78a=_0x21a78a||0x1f4;return function(_0x398099){logger[_0x7024('0x34')](_0x398099[_0x7024('0x35')]);if(_0x398099['name']){delete _0x398099['name'];}_0x4604eb[_0x7024('0x22')](_0x21a78a)[_0x7024('0x36')](_0x398099);};}exports[_0x7024('0x37')]=function(_0xc6cbd0,_0x44dbae){var _0x36da6c={},_0x16c8a9={},_0x5f21ae={'count':0x0,'rows':[]};var _0xfe9db9=_[_0x7024('0x38')](db['CmList'][_0x7024('0x39')],function(_0x249ef3){return{'name':_0x249ef3['fieldName'],'type':_0x249ef3[_0x7024('0x3a')][_0x7024('0x3b')]};});_0x16c8a9['model']=_['map'](_0xfe9db9,_0x7024('0x3c'));_0x16c8a9[_0x7024('0x3d')]=_['keys'](_0xc6cbd0[_0x7024('0x3d')]);_0x16c8a9[_0x7024('0x3e')]=_[_0x7024('0x3f')](_0x16c8a9['model'],_0x16c8a9[_0x7024('0x3d')]);_0x36da6c[_0x7024('0x40')]=_[_0x7024('0x3f')](_0x16c8a9[_0x7024('0x41')],qs['fields'](_0xc6cbd0['query'][_0x7024('0x42')]));_0x36da6c[_0x7024('0x40')]=_0x36da6c[_0x7024('0x40')][_0x7024('0x43')]?_0x36da6c['attributes']:_0x16c8a9[_0x7024('0x41')];if(!_0xc6cbd0[_0x7024('0x3d')][_0x7024('0x44')](_0x7024('0x45'))){_0x36da6c[_0x7024('0x26')]=qs[_0x7024('0x26')](_0xc6cbd0['query'][_0x7024('0x26')]);_0x36da6c['offset']=qs[_0x7024('0x28')](_0xc6cbd0[_0x7024('0x3d')][_0x7024('0x28')]);}_0x36da6c[_0x7024('0x46')]=qs[_0x7024('0x47')](_0xc6cbd0[_0x7024('0x3d')][_0x7024('0x47')]);_0x36da6c['where']=qs[_0x7024('0x3e')](_[_0x7024('0x48')](_0xc6cbd0['query'],_0x16c8a9[_0x7024('0x3e')]),_0xfe9db9);if(_0xc6cbd0['query'][_0x7024('0x49')]){_0x36da6c[_0x7024('0x4a')]=_['merge'](_0x36da6c['where'],{'$or':_[_0x7024('0x38')](_0xfe9db9,function(_0x3431ee){if(_0x3431ee[_0x7024('0x3a')]!==_0x7024('0x4b')){var _0xea984f={};_0xea984f[_0x3431ee[_0x7024('0x3c')]]={'$like':'%'+_0xc6cbd0[_0x7024('0x3d')][_0x7024('0x49')]+'%'};return _0xea984f;}})});}_0x36da6c=_['merge']({},_0x36da6c,_0xc6cbd0['options']);var _0x27681e={'where':_0x36da6c[_0x7024('0x4a')]};return db['CmList'][_0x7024('0x27')](_0x27681e)[_0x7024('0x33')](function(_0x31e023){_0x5f21ae['count']=_0x31e023;if(_0xc6cbd0['query'][_0x7024('0x4c')]){_0x36da6c[_0x7024('0x4d')]=[{'all':!![]}];}return db[_0x7024('0x4e')][_0x7024('0x4f')](_0x36da6c);})[_0x7024('0x33')](function(_0x531d90){_0x5f21ae[_0x7024('0x50')]=_0x531d90;return _0x5f21ae;})[_0x7024('0x33')](respondWithFilteredResult(_0x44dbae,_0x36da6c))[_0x7024('0x51')](handleError(_0x44dbae,null));};exports[_0x7024('0x52')]=function(_0x4a3489,_0xbac910){var _0x25a427={'raw':![],'where':{'id':_0x4a3489[_0x7024('0x53')]['id']}},_0x54cd97={};_0x54cd97[_0x7024('0x41')]=_[_0x7024('0x54')](db['CmList'][_0x7024('0x39')]);_0x54cd97[_0x7024('0x3d')]=_['keys'](_0x4a3489[_0x7024('0x3d')]);_0x54cd97[_0x7024('0x3e')]=_['intersection'](_0x54cd97[_0x7024('0x41')],_0x54cd97[_0x7024('0x3d')]);_0x25a427['attributes']=_[_0x7024('0x3f')](_0x54cd97[_0x7024('0x41')],qs[_0x7024('0x42')](_0x4a3489[_0x7024('0x3d')][_0x7024('0x42')]));_0x25a427['attributes']=_0x25a427[_0x7024('0x40')][_0x7024('0x43')]?_0x25a427[_0x7024('0x40')]:_0x54cd97['model'];if(_0x4a3489['query'][_0x7024('0x4c')]){_0x25a427[_0x7024('0x4d')]=[{'all':!![]}];}_0x25a427=_[_0x7024('0x55')]({},_0x25a427,_0x4a3489[_0x7024('0x56')]);return db[_0x7024('0x4e')][_0x7024('0x57')](_0x25a427)['then'](handleEntityNotFound(_0xbac910,null))[_0x7024('0x33')](respondWithResult(_0xbac910,null))[_0x7024('0x51')](handleError(_0xbac910,null));};exports[_0x7024('0x58')]=function(_0x55fcff,_0xb07ea){return db[_0x7024('0x4e')]['create'](_0x55fcff['body'],{})[_0x7024('0x33')](function(_0x437c38){var _0x1502a7=_0x55fcff['user']['get']({'plain':!![]});if(!_0x1502a7)throw new Error(_0x7024('0x59'));if(_0x1502a7['role']===_0x7024('0x5a')){var _0x2e3bd5=_0x437c38[_0x7024('0x2f')]({'plain':!![]});var _0x310217=_0x7024('0x30');return db[_0x7024('0x5b')][_0x7024('0x57')]({'where':{'name':_0x310217,'userProfileId':_0x1502a7['userProfileId']},'raw':!![]})[_0x7024('0x33')](function(_0x4ca6d5){if(_0x4ca6d5&&_0x4ca6d5['autoAssociation']===0x0){return db[_0x7024('0x31')][_0x7024('0x58')]({'name':_0x2e3bd5[_0x7024('0x3c')],'resourceId':_0x2e3bd5['id'],'type':_0x4ca6d5[_0x7024('0x3c')],'sectionId':_0x4ca6d5['id']},{})[_0x7024('0x33')](function(){return _0x437c38;});}else{return _0x437c38;}})[_0x7024('0x51')](function(_0xc58d09){logger[_0x7024('0x34')](_0x7024('0x5c'),_0xc58d09);throw _0xc58d09;});}return _0x437c38;})[_0x7024('0x33')](respondWithResult(_0xb07ea,0xc9))[_0x7024('0x51')](handleError(_0xb07ea,null));};exports[_0x7024('0x2e')]=function(_0x3f5478,_0x21cd1c){if(_0x3f5478[_0x7024('0x5d')]['id']){delete _0x3f5478['body']['id'];}return db['CmList'][_0x7024('0x57')]({'where':{'id':_0x3f5478['params']['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x21cd1c,null))['then'](saveUpdates(_0x3f5478[_0x7024('0x5d')],null))[_0x7024('0x33')](respondWithResult(_0x21cd1c,null))[_0x7024('0x51')](handleError(_0x21cd1c,null));};exports[_0x7024('0x32')]=function(_0xf5ecfb,_0x1d8dd4){return db[_0x7024('0x4e')][_0x7024('0x57')]({'where':{'id':_0xf5ecfb['params']['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x1d8dd4,null))[_0x7024('0x33')](removeEntity(_0x1d8dd4,null))[_0x7024('0x51')](handleError(_0x1d8dd4,null));};exports[_0x7024('0x5e')]=function(_0x4d7450,_0x3e35fa){return db[_0x7024('0x4e')]['describe']()['then'](respondWithResult(_0x3e35fa,null))[_0x7024('0x51')](handleError(_0x3e35fa,null));};exports[_0x7024('0x5f')]=function(_0x37044f,_0x2d43d7,_0x33fc0b){if(_0x37044f['body']['id']){delete _0x37044f[_0x7024('0x5d')]['id'];}return db[_0x7024('0x4e')][_0x7024('0x57')]({'where':{'id':_0x37044f[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x2d43d7,null))[_0x7024('0x33')](function(_0x5ef0a6){if(_0x5ef0a6){_0x37044f[_0x7024('0x5d')][_0x7024('0x60')]=_0x5ef0a6['id'];return db[_0x7024('0x61')][_0x7024('0x58')](_0x37044f[_0x7024('0x5d')]);}})['then'](respondWithResult(_0x2d43d7,null))[_0x7024('0x51')](handleError(_0x2d43d7,null));};exports[_0x7024('0x62')]=function(_0x16d6d9,_0x3648a9,_0x2fc521){var _0x2a75c0={'raw':![],'where':{}};var _0x32058e={};var _0x43d8e9={'count':0x0,'rows':[]};return db[_0x7024('0x4e')][_0x7024('0x63')]({'where':{'id':_0x16d6d9[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x3648a9,null))[_0x7024('0x33')](function(_0x2279cc){if(_0x2279cc){_0x32058e[_0x7024('0x41')]=_[_0x7024('0x54')](db[_0x7024('0x61')]['rawAttributes']);_0x32058e[_0x7024('0x3d')]=_['keys'](_0x16d6d9['query']);_0x32058e[_0x7024('0x3e')]=_[_0x7024('0x3f')](_0x32058e[_0x7024('0x41')],_0x32058e[_0x7024('0x3d')]);_0x2a75c0[_0x7024('0x40')]=_[_0x7024('0x3f')](_0x32058e[_0x7024('0x41')],qs['fields'](_0x16d6d9[_0x7024('0x3d')][_0x7024('0x42')]));_0x2a75c0[_0x7024('0x40')]=_0x2a75c0[_0x7024('0x40')][_0x7024('0x43')]?_0x2a75c0[_0x7024('0x40')]:_0x32058e[_0x7024('0x41')];if(!_0x16d6d9[_0x7024('0x3d')][_0x7024('0x44')](_0x7024('0x45'))){_0x2a75c0[_0x7024('0x26')]=qs[_0x7024('0x26')](_0x16d6d9[_0x7024('0x3d')][_0x7024('0x26')]);_0x2a75c0['offset']=qs[_0x7024('0x28')](_0x16d6d9['query']['offset']);}_0x2a75c0[_0x7024('0x46')]=qs[_0x7024('0x47')](_0x16d6d9[_0x7024('0x3d')][_0x7024('0x47')]);_0x2a75c0['where']=qs['filters'](_[_0x7024('0x48')](_0x16d6d9[_0x7024('0x3d')],_0x32058e[_0x7024('0x3e')]));_0x2a75c0['where'][_0x7024('0x60')]=_0x2279cc['id'];if(_0x16d6d9[_0x7024('0x3d')][_0x7024('0x49')]){_0x2a75c0[_0x7024('0x4a')]=_['merge'](_0x2a75c0['where'],{'$or':_[_0x7024('0x38')](_0x2a75c0[_0x7024('0x40')],function(_0x9249d3){var _0x49eef3={};_0x49eef3[_0x9249d3]={'$like':'%'+_0x16d6d9['query'][_0x7024('0x49')]+'%'};return _0x49eef3;})});}_0x2a75c0=_[_0x7024('0x55')]({},_0x2a75c0,_0x16d6d9[_0x7024('0x56')]);return db[_0x7024('0x61')][_0x7024('0x27')]({'where':_0x2a75c0[_0x7024('0x4a')]})[_0x7024('0x33')](function(_0x2cbba5){_0x43d8e9[_0x7024('0x27')]=_0x2cbba5;if(_0x16d6d9[_0x7024('0x3d')][_0x7024('0x4c')]){_0x2a75c0[_0x7024('0x4d')]=[{'all':!![]}];}return db['Disposition'][_0x7024('0x4f')](_0x2a75c0);})[_0x7024('0x33')](function(_0x1426b0){_0x43d8e9[_0x7024('0x50')]=_0x1426b0;return _0x43d8e9;});}})[_0x7024('0x33')](respondWithFilteredResult(_0x3648a9,_0x2a75c0))[_0x7024('0x51')](handleError(_0x3648a9,null));};exports[_0x7024('0x64')]=function(_0x4a8f06,_0x1fc246,_0x24e2cb){return db[_0x7024('0x4e')][_0x7024('0x57')]({'where':{'id':_0x4a8f06['params']['id']}})['then'](handleEntityNotFound(_0x1fc246,null))['then'](function(_0x5bbec6){if(_0x5bbec6){return _0x5bbec6['removeDispositions'](_0x4a8f06[_0x7024('0x3d')][_0x7024('0x65')]);}})[_0x7024('0x33')](respondWithStatusCode(_0x1fc246,null))[_0x7024('0x51')](handleError(_0x1fc246,null));};exports[_0x7024('0x66')]=function(_0x18797d,_0x44adb2,_0x5522c2){return db['CmList']['find']({'where':{'id':_0x18797d[_0x7024('0x53')]['id']}})['then'](handleEntityNotFound(_0x44adb2,null))['then'](function(_0x11bb90){if(_0x11bb90){var _0x1fc91f=[];var _0x5c029a={'success':[],'errors':[]};return db['CmContact']['describe']()[_0x7024('0x33')](function(_0x48dab2){if(_0x18797d[_0x7024('0x5d')][_0x7024('0x67')]&&_['isArray'](_0x18797d[_0x7024('0x5d')][_0x7024('0x67')])){if(_0x18797d[_0x7024('0x5d')][_0x7024('0x67')][_0x7024('0x43')]){_0x18797d[_0x7024('0x5d')][_0x7024('0x67')]=_0x18797d['body'][_0x7024('0x67')]['join'](';')+';';}else{_0x18797d[_0x7024('0x5d')]['tags']=null;}}else{_0x18797d[_0x7024('0x5d')][_0x7024('0x67')]=null;}if(_0x18797d[_0x7024('0x5d')]&&_[_0x7024('0x68')](_0x18797d[_0x7024('0x5d')])){for(var _0x55816c=0x0;_0x55816c<_0x18797d[_0x7024('0x5d')][_0x7024('0x43')];_0x55816c+=0x1){_0x18797d[_0x7024('0x5d')][_0x55816c][_0x7024('0x60')]=_0x18797d[_0x7024('0x53')]['id'];_0x1fc91f['push'](_0x18797d['body'][_0x55816c]);}return BPromise['each'](_0x1fc91f,function(_0xdd53d1){return db[_0x7024('0x69')][_0x7024('0x58')](_[_0x7024('0x6a')](_0xdd53d1,[_0x7024('0x65'),'id'])||{},{'fields':_[_0x7024('0x54')](_0x48dab2),'raw':!![]})['then'](function(_0x31074a){_0x5c029a[_0x7024('0x6b')][_0x7024('0x6c')](_0x31074a['dataValues']);})['catch'](function(_0x2f25d2){_0x5c029a[_0x7024('0x6d')][_0x7024('0x6c')]({'data':_0xdd53d1,'error':_0x2f25d2[_0x7024('0x6e')]});});})[_0x7024('0x33')](function(_0x468ef1){return _0x5c029a;})[_0x7024('0x51')](function(_0x56b6da){return _0x56b6da;});}else{_0x44adb2[_0x7024('0x22')](0x190)[_0x7024('0x24')]({'message':_0x7024('0x6f')});}});}})['then'](respondWithResult(_0x44adb2,null))['catch'](handleError(_0x44adb2,null));};exports[_0x7024('0x70')]=function(_0x307352,_0x21563c,_0x3bf608){var _0x27240d;return db['CmList'][_0x7024('0x57')]({'where':{'id':_0x307352[_0x7024('0x53')]['id']},'include':[{'model':db['CmCustomField'],'as':'CustomFields'}]})[_0x7024('0x33')](handleEntityNotFound(_0x21563c,null))[_0x7024('0x33')](function(_0x1f1747){if(_0x1f1747){_0x27240d=_0x1f1747;return db[_0x7024('0x69')][_0x7024('0x39')];}})[_0x7024('0x33')](function(_0x24ec86){if(_0x24ec86){var _0x4ef482={};var _0x314a76={};_0x314a76[_0x7024('0x41')]=_['concat'](_[_0x7024('0x54')](_0x24ec86),_[_0x7024('0x38')](_0x27240d['CustomFields'],function(_0x8c31b9){return util[_0x7024('0x71')](_0x7024('0x72'),_0x8c31b9['id']);}));_0x314a76['query']=_['keys'](_0x307352[_0x7024('0x3d')]);_0x314a76[_0x7024('0x3e')]=_[_0x7024('0x3f')](_0x314a76[_0x7024('0x41')],_0x314a76['query']);_0x4ef482[_0x7024('0x40')]=_['intersection'](_0x314a76[_0x7024('0x41')],qs[_0x7024('0x42')](_0x307352['query']['fields']));_0x4ef482['attributes']=_0x4ef482['attributes']['length']?_0x4ef482[_0x7024('0x40')]:_0x314a76[_0x7024('0x41')];if(!_0x307352['query'][_0x7024('0x44')](_0x7024('0x45'))){_0x4ef482[_0x7024('0x26')]=qs['limit'](_0x307352['query'][_0x7024('0x26')]);_0x4ef482[_0x7024('0x28')]=qs[_0x7024('0x28')](_0x307352[_0x7024('0x3d')][_0x7024('0x28')]);}_0x4ef482[_0x7024('0x46')]=qs[_0x7024('0x47')](_0x307352[_0x7024('0x3d')]['sort']);_0x4ef482[_0x7024('0x4a')]=qs[_0x7024('0x3e')](_['pick'](_0x307352[_0x7024('0x3d')],_0x314a76['filters']));_0x4ef482[_0x7024('0x73')]=!![];if(_0x307352[_0x7024('0x3d')][_0x7024('0x49')]){_0x4ef482['where']=_[_0x7024('0x55')](_0x4ef482['where'],{'$or':_[_0x7024('0x38')](_0x4ef482['attributes'],function(_0xd583ca){var _0x3ca120={};_0x3ca120[_0xd583ca]={'$like':'%'+_0x307352['query'][_0x7024('0x49')]+'%'};return _0x3ca120;})});}_0x4ef482=_[_0x7024('0x55')]({},_0x4ef482,_0x307352[_0x7024('0x56')]);return _0x27240d[_0x7024('0x70')](_0x4ef482);}})['then'](respondWithResult(_0x21563c,null))[_0x7024('0x51')](handleError(_0x21563c,null));};exports[_0x7024('0x74')]=function(_0x412ed7,_0x5c5247,_0x51f102){var _0x18e114;var _0x2b3c67;var _0x2cb40e;var _0x310080=_0x412ed7[_0x7024('0x53')]['id'];csv_results=[];return db[_0x7024('0x75')][_0x7024('0x4f')]({'attributes':['id',_0x7024('0x3c')],'raw':!![],'order':[_0x7024('0x76')]})[_0x7024('0x33')](function(_0x452c45){_0x18e114=_0x452c45;var _0x4e9633=_[_0x7024('0x54')](db[_0x7024('0x69')][_0x7024('0x39')]);return db[_0x7024('0x77')][_0x7024('0x4f')]({'raw':!![],'attributes':['id',_0x7024('0x78')]})[_0x7024('0x33')](function(_0x389e93){_0x2b3c67=_0x389e93;var _0x4fba15=squel[_0x7024('0x79')]()['fields'](_0x4e9633)['from'](_0x7024('0x7a'),'c')[_0x7024('0x4a')](_0x7024('0x7b'),_0x310080)['where']('c.deletedAt\x20is\x20null')[_0x7024('0x7c')]();for(var _0x3d4d2f=0x0;_0x3d4d2f<_0x2b3c67[_0x7024('0x43')];_0x3d4d2f++){_0x4fba15[_0x7024('0x7d')]('c.cf_'+_0x2b3c67[_0x3d4d2f]['id'],'customField_'+_0x2b3c67[_0x3d4d2f][_0x7024('0x78')]);}for(var _0x3d4d2f=0x0;_0x3d4d2f<_0x18e114[_0x7024('0x43')];_0x3d4d2f++){_0x4fba15[_0x7024('0x7d')](squel['select']()[_0x7024('0x7d')](_0x7024('0x7e'))[_0x7024('0x7f')](_0x7024('0x80'))['where'](_0x7024('0x81'),_0x18e114[_0x3d4d2f]['id'])[_0x7024('0x4a')](_0x7024('0x82')),_0x7024('0x83')+_0x18e114[_0x3d4d2f][_0x7024('0x3c')]);_0x4fba15[_0x7024('0x7d')](squel[_0x7024('0x79')]()[_0x7024('0x7d')](_0x7024('0x84'))[_0x7024('0x7f')](_0x7024('0x80'))['where'](_0x7024('0x81'),_0x18e114[_0x3d4d2f]['id'])[_0x7024('0x4a')](_0x7024('0x82')),_0x7024('0x85')+_0x18e114[_0x3d4d2f][_0x7024('0x3c')]);}var _0xb5dd7e=[];_0xb5dd7e[_0x7024('0x6c')](_0x4fba15[_0x7024('0x86')]());BPromise[_0x7024('0x87')](_0xb5dd7e,handleQuery)['then'](function(_0x1788c3){handleQuery(_0x4fba15[_0x7024('0x86')]());var _0x254c54=csv_results[0x0];if(!_[_0x7024('0x88')](_0x254c54)){var _0x269863=toCsv(_0x254c54);var _0x15c406=Date['now']();fs[_0x7024('0x89')](util[_0x7024('0x71')](_0x7024('0x8a'),_0x310080,_0x15c406),_0x269863);_0x5c5247[_0x7024('0x8b')](_0x7024('0x8c'),_0x7024('0x8d')+util['format'](_0x7024('0x8e'),_0x310080,_0x15c406));_0x5c5247[_0x7024('0x8b')](_0x7024('0x8f'),'text/csv');return _0x5c5247['download'](util[_0x7024('0x71')](_0x7024('0x8a'),_0x310080,_0x15c406));}else{return _0x5c5247['sendStatus'](0xcc);}});});});};exports['addCustomField']=function(_0x2ae9e5,_0x1f3f7c,_0x54c38d){var _0x36173c;delete _0x2ae9e5['body']['id'];return db[_0x7024('0x4e')][_0x7024('0x63')]({'where':{'id':_0x2ae9e5[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x1f3f7c,null))[_0x7024('0x33')](function(_0x3c8c28){if(_0x3c8c28){return db[_0x7024('0x90')][_0x7024('0x91')](function(_0x11216e){return db[_0x7024('0x77')][_0x7024('0x58')](_0x2ae9e5['body'],{'transaction':_0x11216e})[_0x7024('0x33')](function(_0x300eb5){_0x36173c=_0x300eb5;return _0x3c8c28[_0x7024('0x92')](_0x300eb5,{'transaction':_0x11216e});})['then'](function(){var _0x58740b={'type':db[_0x7024('0x93')]['TEXT'],'transaction':_0x11216e};switch(_0x2ae9e5[_0x7024('0x5d')][_0x7024('0x3a')]){case _0x7024('0x94'):_0x58740b[_0x7024('0x3a')]=db['Sequelize']['TEXT'];break;case _0x7024('0x95'):_0x58740b[_0x7024('0x3a')]=db['Sequelize']['INTEGER'];break;case _0x7024('0x96'):_0x58740b[_0x7024('0x3a')]=db['Sequelize']['BOOLEAN'];_0x58740b[_0x7024('0x97')]=![];break;default:}return db[_0x7024('0x90')][_0x7024('0x98')][_0x7024('0x99')](_0x7024('0x7a'),util['format'](_0x7024('0x9a'),_0x36173c['id']),_0x58740b);})[_0x7024('0x33')](function(){return _0x36173c;});});}})[_0x7024('0x33')](respondWithResult(_0x1f3f7c,null))[_0x7024('0x51')](handleError(_0x1f3f7c,null));};exports[_0x7024('0x9b')]=function(_0x32c1c0,_0x191205,_0x415dc5){var _0xc9f0d9={};var _0x55bdae={};var _0x2b3f9c;var _0x4fe49f;return db[_0x7024('0x4e')][_0x7024('0x63')]({'where':{'id':_0x32c1c0[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x191205,null))['then'](function(_0x22fcd8){if(_0x22fcd8){_0x2b3f9c=_0x22fcd8;_0x55bdae['model']=_[_0x7024('0x54')](db['CmCustomField'][_0x7024('0x39')]);_0x55bdae[_0x7024('0x3d')]=_[_0x7024('0x54')](_0x32c1c0[_0x7024('0x3d')]);_0x55bdae[_0x7024('0x3e')]=_[_0x7024('0x3f')](_0x55bdae['model'],_0x55bdae[_0x7024('0x3d')]);_0xc9f0d9['attributes']=_[_0x7024('0x3f')](_0x55bdae['model'],qs[_0x7024('0x42')](_0x32c1c0['query']['fields']));_0xc9f0d9[_0x7024('0x40')]=_0xc9f0d9[_0x7024('0x40')][_0x7024('0x43')]?_0xc9f0d9[_0x7024('0x40')]:_0x55bdae['model'];_0xc9f0d9['order']=qs['sort'](_0x32c1c0[_0x7024('0x3d')]['sort']);_0xc9f0d9['where']=qs[_0x7024('0x3e')](_[_0x7024('0x48')](_0x32c1c0[_0x7024('0x3d')],_0x55bdae[_0x7024('0x3e')]));_0xc9f0d9[_0x7024('0x4a')]=_['merge'](_0xc9f0d9[_0x7024('0x4a')],{'$or':[{'ListId':_0x22fcd8['id']},{'ListId':null}]});if(_0x32c1c0[_0x7024('0x3d')][_0x7024('0x49')]){_0xc9f0d9[_0x7024('0x4a')]=_[_0x7024('0x55')](_0xc9f0d9[_0x7024('0x4a')],{'$or':_[_0x7024('0x38')](_0xc9f0d9[_0x7024('0x40')],function(_0x39da62){var _0x1c4b9e={};_0x1c4b9e[_0x39da62]={'$like':'%'+_0x32c1c0[_0x7024('0x3d')][_0x7024('0x49')]+'%'};return _0x1c4b9e;})});}_0xc9f0d9=_[_0x7024('0x55')]({},_0xc9f0d9,_0x32c1c0[_0x7024('0x56')]);return db['CmCustomField'][_0x7024('0x9c')](_0xc9f0d9);}})[_0x7024('0x33')](respondWithResult(_0x191205,null))[_0x7024('0x51')](handleError(_0x191205,null));};exports['getGlobalCustomFields']=function(_0x998ca7,_0x27d1d1){return db['CmCustomField']['findAndCountAll']({'where':{'ListId':null}})[_0x7024('0x33')](handleEntityNotFound(_0x27d1d1,null))[_0x7024('0x33')](function(_0x5c704d){return _0x5c704d;})[_0x7024('0x33')](respondWithResult(_0x27d1d1,null))[_0x7024('0x51')](handleError(_0x27d1d1,null));};exports[_0x7024('0x9d')]=function(_0x4ec090,_0x592732,_0x2ed533){return db[_0x7024('0x4e')][_0x7024('0x57')]({'where':{'id':_0x4ec090['params']['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x592732,null))['then'](function(_0x2c850f){if(_0x2c850f){return _0x2c850f[_0x7024('0x9d')](_0x4ec090[_0x7024('0x5d')][_0x7024('0x65')],_[_0x7024('0x6a')](_0x4ec090[_0x7024('0x5d')],[_0x7024('0x65'),'id'])||{})[_0x7024('0x9e')](function(_0x50cc0c){for(var _0x8ab1c1=0x0;_0x8ab1c1<_0x4ec090[_0x7024('0x5d')][_0x7024('0x65')][_0x7024('0x43')];_0x8ab1c1+=0x1){socket[_0x7024('0x9f')](_0x7024('0xa0'),{'UserId':Number(_0x4ec090[_0x7024('0x5d')][_0x7024('0x65')][_0x8ab1c1]),'CmListId':Number(_0x4ec090[_0x7024('0x53')]['id'])});}return _0x50cc0c;});}})['then'](respondWithResult(_0x592732,null))[_0x7024('0x51')](handleError(_0x592732,null));};exports['removeAgents']=function(_0x50332f,_0x59f7fd,_0x4af478){return db['CmList'][_0x7024('0x57')]({'where':{'id':_0x50332f[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x59f7fd,null))[_0x7024('0x33')](function(_0x3d42e4){if(_0x3d42e4){return _0x3d42e4[_0x7024('0xa1')](_0x50332f[_0x7024('0x3d')][_0x7024('0x65')])[_0x7024('0x33')](function(){if(_[_0x7024('0x68')](_0x50332f['query']['ids'])){for(var _0x1baab0=0x0;_0x1baab0<_0x50332f[_0x7024('0x3d')]['ids']['length'];_0x1baab0+=0x1){socket[_0x7024('0x9f')]('userCmList:remove',{'UserId':Number(_0x50332f[_0x7024('0x3d')][_0x7024('0x65')][_0x1baab0]),'CmListId':Number(_0x50332f['params']['id'])});}}else{socket[_0x7024('0x9f')](_0x7024('0xa2'),{'UserId':Number(_0x50332f[_0x7024('0x3d')][_0x7024('0x65')]),'CmListId':Number(_0x50332f[_0x7024('0x53')]['id'])});}});}})['then'](respondWithStatusCode(_0x59f7fd,null))[_0x7024('0x51')](handleError(_0x59f7fd,null));};exports[_0x7024('0xa3')]=function(_0x4229db,_0x459534,_0x45c72d){var _0x139c4e={};var _0x5aeea2={};var _0x286217;var _0x102d03;return db[_0x7024('0x4e')][_0x7024('0x63')]({'where':{'id':_0x4229db[_0x7024('0x53')]['id']}})[_0x7024('0x33')](handleEntityNotFound(_0x459534,null))['then'](function(_0x37117f){if(_0x37117f){_0x286217=_0x37117f;_0x5aeea2[_0x7024('0x41')]=_[_0x7024('0x54')](db['User']['rawAttributes']);_0x5aeea2[_0x7024('0x3d')]=_[_0x7024('0x54')](_0x4229db['query']);_0x5aeea2[_0x7024('0x3e')]=_[_0x7024('0x3f')](_0x5aeea2[_0x7024('0x41')],_0x5aeea2['query']);_0x139c4e['attributes']=_[_0x7024('0x3f')](_0x5aeea2[_0x7024('0x41')],qs['fields'](_0x4229db[_0x7024('0x3d')][_0x7024('0x42')]));_0x139c4e[_0x7024('0x40')]=_0x139c4e[_0x7024('0x40')]['length']?_0x139c4e[_0x7024('0x40')]:_0x5aeea2[_0x7024('0x41')];_0x139c4e[_0x7024('0x46')]=qs[_0x7024('0x47')](_0x4229db[_0x7024('0x3d')]['sort']);_0x139c4e[_0x7024('0x4a')]=qs[_0x7024('0x3e')](_['pick'](_0x4229db['query'],_0x5aeea2['filters']));if(_0x4229db[_0x7024('0x3d')][_0x7024('0x49')]){_0x139c4e[_0x7024('0x4a')]=_[_0x7024('0x55')](_0x139c4e[_0x7024('0x4a')],{'$or':_[_0x7024('0x38')](_0x139c4e[_0x7024('0x40')],function(_0x2c9a29){var _0x495724={};_0x495724[_0x2c9a29]={'$like':'%'+_0x4229db[_0x7024('0x3d')]['filter']+'%'};return _0x495724;})});}_0x139c4e=_[_0x7024('0x55')]({},_0x139c4e,_0x4229db[_0x7024('0x56')]);return _0x286217['getAgents'](_0x139c4e);}})['then'](function(_0x2af2b6){if(_0x2af2b6){_0x102d03=_0x2af2b6[_0x7024('0x43')];if(!_0x4229db[_0x7024('0x3d')][_0x7024('0x44')](_0x7024('0x45'))){_0x139c4e[_0x7024('0x26')]=qs[_0x7024('0x26')](_0x4229db['query']['limit']);_0x139c4e[_0x7024('0x28')]=qs[_0x7024('0x28')](_0x4229db['query'][_0x7024('0x28')]);}return _0x286217[_0x7024('0xa3')](_0x139c4e);}})[_0x7024('0x33')](function(_0x572e3e){if(_0x572e3e){return _0x572e3e?{'count':_0x102d03,'rows':_0x572e3e}:null;}})[_0x7024('0x33')](respondWithResult(_0x459534,null))[_0x7024('0x51')](handleError(_0x459534,null));};function handleQuery(_0x5a1fed){logger[_0x7024('0xa4')](_0x5a1fed);return db['sequelize']['query'](_0x5a1fed)[_0x7024('0x9e')](function(_0x26d1e4){csv_results[_0x7024('0x6c')](_0x26d1e4);})[_0x7024('0x51')](function(_0x456cca){logger[_0x7024('0x34')](_0x456cca['message']);});}