Built motion from commit 511216ff.|2.6.34
[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 _0x8a85=['Content-disposition','attachment;\x20filename=','format','list_%d_%s.csv','Content-type','download','/tmp/list_%d_%s.csv','sequelize','addCustomFields','TEXT','type','text','Sequelize','INTEGER','switch','BOOLEAN','queryInterface','addColumn','getCustomFields','findAndCountAll','addAgents','spread','emit','userCmList:save','removeAgents','userCmList:remove','getAgents','User','info','message','rimraf','fast-json-patch','moment','mustache','to-csv','ejs','fs-extra','squel','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./cmList.socket','register','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','destroy','get','Lists','UserProfileResource','error','stack','name','send','index','CmList','rawAttributes','fieldName','model','map','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','keys','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','addDisposition','Disposition','getDispositions','findOne','ListId','removeDispositions','ids','addContacts','CmContact','tags','isArray','join','omit','success','push','errors','Malformed\x20request\x20syntax','getContacts','CmCustomField','CustomFields','concat','cf_%d','raw','getContactsCsv','OrderBy','alias','select','from','cm_contacts','c.ListId\x20=\x20?','c.deletedAt\x20is\x20null','distinct','field','c.cf_','customField_','ItemTypeId\x20=\x20?','CmContactId\x20=\x20c.id','additionalPhone_','description','description_additionalPhone_','toString','each','isEmpty','now','setHeader'];(function(_0x1589dd,_0x2b9d22){var _0x1bddd1=function(_0x3687f8){while(--_0x3687f8){_0x1589dd['push'](_0x1589dd['shift']());}};_0x1bddd1(++_0x2b9d22);}(_0x8a85,0xc0));var _0x58a8=function(_0x287fae,_0x4b2676){_0x287fae=_0x287fae-0x0;var _0x469da0=_0x8a85[_0x287fae];return _0x469da0;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x58a8('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x58a8('0x1'));var rp=require('request-promise');var moment=require(_0x58a8('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x58a8('0x3'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x58a8('0x4'));var ejs=require(_0x58a8('0x5'));var fs=require('fs');var fs_extra=require(_0x58a8('0x6'));var _=require('lodash');var squel=require(_0x58a8('0x7'));var crypto=require('crypto');var jsforce=require(_0x58a8('0x8'));var deskjs=require('desk.js');var toCsv=require(_0x58a8('0x4'));var querystring=require(_0x58a8('0x9'));var Papa=require(_0x58a8('0xa'));var Redis=require(_0x58a8('0xb'));var authService=require(_0x58a8('0xc'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x58a8('0xd'));var logger=require('../../config/logger')(_0x58a8('0xe'));var utils=require(_0x58a8('0xf'));var config=require(_0x58a8('0x10'));var licenseUtil=require(_0x58a8('0x11'));var db=require(_0x58a8('0x12'))['db'];var csv_results;config[_0x58a8('0x13')]=_[_0x58a8('0x14')](config[_0x58a8('0x13')],{'host':_0x58a8('0x15'),'port':0x18eb});var socket=require(_0x58a8('0x16'))(new Redis(config[_0x58a8('0x13')]));require(_0x58a8('0x17'))[_0x58a8('0x18')](socket);function respondWithStatusCode(_0x25d176,_0x4d48dc){_0x4d48dc=_0x4d48dc||0xcc;return function(_0x548d7e){if(_0x548d7e){return _0x25d176[_0x58a8('0x19')](_0x4d48dc);}return _0x25d176[_0x58a8('0x1a')](_0x4d48dc)[_0x58a8('0x1b')]();};}function respondWithResult(_0x136bc2,_0x1a796c){_0x1a796c=_0x1a796c||0xc8;return function(_0x22b786){if(_0x22b786){return _0x136bc2[_0x58a8('0x1a')](_0x1a796c)[_0x58a8('0x1c')](_0x22b786);}};}function respondWithFilteredResult(_0x25160e,_0x336397){return function(_0x29d9e5){if(_0x29d9e5){var _0x38b41d=typeof _0x336397[_0x58a8('0x1d')]===_0x58a8('0x1e')&&typeof _0x336397['limit']===_0x58a8('0x1e');var _0xc53867=_0x29d9e5[_0x58a8('0x1f')];var _0x1804b4=_0x38b41d?0x0:_0x336397['offset'];var _0x384e38=_0x38b41d?_0x29d9e5['count']:_0x336397[_0x58a8('0x1d')]+_0x336397[_0x58a8('0x20')];var _0x32dde6;if(_0x384e38>=_0xc53867){_0x384e38=_0xc53867;_0x32dde6=0xc8;}else{_0x32dde6=0xce;}_0x25160e[_0x58a8('0x1a')](_0x32dde6);return _0x25160e[_0x58a8('0x21')](_0x58a8('0x22'),_0x1804b4+'-'+_0x384e38+'/'+_0xc53867)['json'](_0x29d9e5);}return null;};}function patchUpdates(_0x25d596){return function(_0x245398){try{jsonpatch[_0x58a8('0x23')](_0x245398,_0x25d596,!![]);}catch(_0x357c18){return BPromise[_0x58a8('0x24')](_0x357c18);}return _0x245398['save']();};}function saveUpdates(_0x418fa5,_0x3cab49){return function(_0x439d8a){if(_0x439d8a){return _0x439d8a[_0x58a8('0x25')](_0x418fa5)[_0x58a8('0x26')](function(_0x3b3431){return _0x3b3431;});}return null;};}function removeEntity(_0x265e0d,_0x27b0ea){return function(_0x5302cd){if(_0x5302cd){return _0x5302cd[_0x58a8('0x27')]()[_0x58a8('0x26')](function(){var _0x5a962b=_0x5302cd[_0x58a8('0x28')]({'plain':!![]});var _0x546c87=_0x58a8('0x29');return db[_0x58a8('0x2a')][_0x58a8('0x27')]({'where':{'type':_0x546c87,'resourceId':_0x5a962b['id']}})[_0x58a8('0x26')](function(){return _0x5302cd;});})[_0x58a8('0x26')](function(){_0x265e0d['status'](0xcc)[_0x58a8('0x1b')]();});}};}function handleEntityNotFound(_0x45051e,_0x568fa2){return function(_0x2d202b){if(!_0x2d202b){_0x45051e[_0x58a8('0x19')](0x194);}return _0x2d202b;};}function handleError(_0x29ce75,_0x82a458){_0x82a458=_0x82a458||0x1f4;return function(_0x3d72bd){logger[_0x58a8('0x2b')](_0x3d72bd[_0x58a8('0x2c')]);if(_0x3d72bd['name']){delete _0x3d72bd[_0x58a8('0x2d')];}_0x29ce75['status'](_0x82a458)[_0x58a8('0x2e')](_0x3d72bd);};}exports[_0x58a8('0x2f')]=function(_0x5a06e6,_0x149361){var _0x2b40eb={},_0x848e71={},_0x33ad5a={'count':0x0,'rows':[]};var _0x379423=_['map'](db[_0x58a8('0x30')][_0x58a8('0x31')],function(_0x4f3f2e){return{'name':_0x4f3f2e[_0x58a8('0x32')],'type':_0x4f3f2e['type']['key']};});_0x848e71[_0x58a8('0x33')]=_[_0x58a8('0x34')](_0x379423,_0x58a8('0x2d'));_0x848e71['query']=_['keys'](_0x5a06e6[_0x58a8('0x35')]);_0x848e71[_0x58a8('0x36')]=_['intersection'](_0x848e71[_0x58a8('0x33')],_0x848e71[_0x58a8('0x35')]);_0x2b40eb['attributes']=_[_0x58a8('0x37')](_0x848e71[_0x58a8('0x33')],qs[_0x58a8('0x38')](_0x5a06e6[_0x58a8('0x35')][_0x58a8('0x38')]));_0x2b40eb[_0x58a8('0x39')]=_0x2b40eb['attributes'][_0x58a8('0x3a')]?_0x2b40eb['attributes']:_0x848e71[_0x58a8('0x33')];if(!_0x5a06e6['query'][_0x58a8('0x3b')](_0x58a8('0x3c'))){_0x2b40eb[_0x58a8('0x20')]=qs[_0x58a8('0x20')](_0x5a06e6[_0x58a8('0x35')][_0x58a8('0x20')]);_0x2b40eb[_0x58a8('0x1d')]=qs['offset'](_0x5a06e6[_0x58a8('0x35')]['offset']);}_0x2b40eb[_0x58a8('0x3d')]=qs[_0x58a8('0x3e')](_0x5a06e6[_0x58a8('0x35')][_0x58a8('0x3e')]);_0x2b40eb['where']=qs[_0x58a8('0x36')](_[_0x58a8('0x3f')](_0x5a06e6[_0x58a8('0x35')],_0x848e71[_0x58a8('0x36')]),_0x379423);if(_0x5a06e6[_0x58a8('0x35')][_0x58a8('0x40')]){_0x2b40eb[_0x58a8('0x41')]=_[_0x58a8('0x42')](_0x2b40eb[_0x58a8('0x41')],{'$or':_[_0x58a8('0x34')](_0x379423,function(_0xf60888){if(_0xf60888['type']!==_0x58a8('0x43')){var _0x4e26c2={};_0x4e26c2[_0xf60888[_0x58a8('0x2d')]]={'$like':'%'+_0x5a06e6[_0x58a8('0x35')]['filter']+'%'};return _0x4e26c2;}})});}_0x2b40eb=_[_0x58a8('0x42')]({},_0x2b40eb,_0x5a06e6['options']);var _0x634f98={'where':_0x2b40eb['where']};return db[_0x58a8('0x30')][_0x58a8('0x1f')](_0x634f98)[_0x58a8('0x26')](function(_0x12feac){_0x33ad5a[_0x58a8('0x1f')]=_0x12feac;if(_0x5a06e6[_0x58a8('0x35')][_0x58a8('0x44')]){_0x2b40eb[_0x58a8('0x45')]=[{'all':!![]}];}return db[_0x58a8('0x30')][_0x58a8('0x46')](_0x2b40eb);})[_0x58a8('0x26')](function(_0x5a54b4){_0x33ad5a[_0x58a8('0x47')]=_0x5a54b4;return _0x33ad5a;})['then'](respondWithFilteredResult(_0x149361,_0x2b40eb))[_0x58a8('0x48')](handleError(_0x149361,null));};exports[_0x58a8('0x49')]=function(_0x22ef34,_0x16b35c){var _0x5c1ec8={'raw':![],'where':{'id':_0x22ef34[_0x58a8('0x4a')]['id']}},_0x2dd926={};_0x2dd926[_0x58a8('0x33')]=_[_0x58a8('0x4b')](db[_0x58a8('0x30')][_0x58a8('0x31')]);_0x2dd926[_0x58a8('0x35')]=_[_0x58a8('0x4b')](_0x22ef34[_0x58a8('0x35')]);_0x2dd926[_0x58a8('0x36')]=_[_0x58a8('0x37')](_0x2dd926[_0x58a8('0x33')],_0x2dd926[_0x58a8('0x35')]);_0x5c1ec8[_0x58a8('0x39')]=_[_0x58a8('0x37')](_0x2dd926[_0x58a8('0x33')],qs[_0x58a8('0x38')](_0x22ef34[_0x58a8('0x35')][_0x58a8('0x38')]));_0x5c1ec8[_0x58a8('0x39')]=_0x5c1ec8[_0x58a8('0x39')][_0x58a8('0x3a')]?_0x5c1ec8[_0x58a8('0x39')]:_0x2dd926[_0x58a8('0x33')];if(_0x22ef34[_0x58a8('0x35')][_0x58a8('0x44')]){_0x5c1ec8[_0x58a8('0x45')]=[{'all':!![]}];}_0x5c1ec8=_[_0x58a8('0x42')]({},_0x5c1ec8,_0x22ef34[_0x58a8('0x4c')]);return db[_0x58a8('0x30')][_0x58a8('0x4d')](_0x5c1ec8)[_0x58a8('0x26')](handleEntityNotFound(_0x16b35c,null))[_0x58a8('0x26')](respondWithResult(_0x16b35c,null))[_0x58a8('0x48')](handleError(_0x16b35c,null));};exports[_0x58a8('0x4e')]=function(_0xb151c3,_0x31d843){return db['CmList']['create'](_0xb151c3['body'],{})[_0x58a8('0x26')](function(_0x5f4224){var _0x41662c=_0xb151c3[_0x58a8('0x4f')][_0x58a8('0x28')]({'plain':!![]});if(!_0x41662c)throw new Error(_0x58a8('0x50'));if(_0x41662c[_0x58a8('0x51')]===_0x58a8('0x4f')){var _0x265498=_0x5f4224[_0x58a8('0x28')]({'plain':!![]});var _0x541381=_0x58a8('0x29');return db['UserProfileSection'][_0x58a8('0x4d')]({'where':{'name':_0x541381,'userProfileId':_0x41662c[_0x58a8('0x52')]},'raw':!![]})[_0x58a8('0x26')](function(_0x46e9ee){if(_0x46e9ee&&_0x46e9ee[_0x58a8('0x53')]===0x0){return db[_0x58a8('0x2a')][_0x58a8('0x4e')]({'name':_0x265498['name'],'resourceId':_0x265498['id'],'type':_0x46e9ee[_0x58a8('0x2d')],'sectionId':_0x46e9ee['id']},{})['then'](function(){return _0x5f4224;});}else{return _0x5f4224;}})['catch'](function(_0x42705e){logger[_0x58a8('0x2b')](_0x58a8('0x54'),_0x42705e);throw _0x42705e;});}return _0x5f4224;})[_0x58a8('0x26')](respondWithResult(_0x31d843,0xc9))[_0x58a8('0x48')](handleError(_0x31d843,null));};exports[_0x58a8('0x25')]=function(_0x1eb978,_0x477dc9){if(_0x1eb978[_0x58a8('0x55')]['id']){delete _0x1eb978[_0x58a8('0x55')]['id'];}return db[_0x58a8('0x30')][_0x58a8('0x4d')]({'where':{'id':_0x1eb978[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x477dc9,null))['then'](saveUpdates(_0x1eb978['body'],null))['then'](respondWithResult(_0x477dc9,null))[_0x58a8('0x48')](handleError(_0x477dc9,null));};exports[_0x58a8('0x27')]=function(_0x528bb2,_0x17e78c){return db[_0x58a8('0x30')][_0x58a8('0x4d')]({'where':{'id':_0x528bb2[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x17e78c,null))['then'](removeEntity(_0x17e78c,null))['catch'](handleError(_0x17e78c,null));};exports[_0x58a8('0x56')]=function(_0x2c62fe,_0x1852f4){return db['CmList'][_0x58a8('0x56')]()[_0x58a8('0x26')](respondWithResult(_0x1852f4,null))[_0x58a8('0x48')](handleError(_0x1852f4,null));};exports[_0x58a8('0x57')]=function(_0x3e9961,_0xfc2f14,_0x27afd4){if(_0x3e9961[_0x58a8('0x55')]['id']){delete _0x3e9961[_0x58a8('0x55')]['id'];}return db[_0x58a8('0x30')][_0x58a8('0x4d')]({'where':{'id':_0x3e9961['params']['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0xfc2f14,null))[_0x58a8('0x26')](function(_0x11363e){if(_0x11363e){_0x3e9961[_0x58a8('0x55')]['ListId']=_0x11363e['id'];return db[_0x58a8('0x58')][_0x58a8('0x4e')](_0x3e9961[_0x58a8('0x55')]);}})['then'](respondWithResult(_0xfc2f14,null))['catch'](handleError(_0xfc2f14,null));};exports[_0x58a8('0x59')]=function(_0x3d7cde,_0x3fb2a6,_0x2b96eb){var _0x179a74={'raw':![],'where':{}};var _0x508f9c={};var _0xa8a254={'count':0x0,'rows':[]};return db[_0x58a8('0x30')][_0x58a8('0x5a')]({'where':{'id':_0x3d7cde['params']['id']}})['then'](handleEntityNotFound(_0x3fb2a6,null))[_0x58a8('0x26')](function(_0x4bf2c2){if(_0x4bf2c2){_0x508f9c[_0x58a8('0x33')]=_['keys'](db[_0x58a8('0x58')][_0x58a8('0x31')]);_0x508f9c[_0x58a8('0x35')]=_[_0x58a8('0x4b')](_0x3d7cde['query']);_0x508f9c[_0x58a8('0x36')]=_[_0x58a8('0x37')](_0x508f9c[_0x58a8('0x33')],_0x508f9c[_0x58a8('0x35')]);_0x179a74[_0x58a8('0x39')]=_[_0x58a8('0x37')](_0x508f9c[_0x58a8('0x33')],qs['fields'](_0x3d7cde[_0x58a8('0x35')]['fields']));_0x179a74[_0x58a8('0x39')]=_0x179a74[_0x58a8('0x39')]['length']?_0x179a74[_0x58a8('0x39')]:_0x508f9c[_0x58a8('0x33')];if(!_0x3d7cde[_0x58a8('0x35')][_0x58a8('0x3b')](_0x58a8('0x3c'))){_0x179a74[_0x58a8('0x20')]=qs[_0x58a8('0x20')](_0x3d7cde[_0x58a8('0x35')]['limit']);_0x179a74['offset']=qs['offset'](_0x3d7cde[_0x58a8('0x35')][_0x58a8('0x1d')]);}_0x179a74[_0x58a8('0x3d')]=qs[_0x58a8('0x3e')](_0x3d7cde[_0x58a8('0x35')][_0x58a8('0x3e')]);_0x179a74[_0x58a8('0x41')]=qs[_0x58a8('0x36')](_['pick'](_0x3d7cde[_0x58a8('0x35')],_0x508f9c['filters']));_0x179a74[_0x58a8('0x41')][_0x58a8('0x5b')]=_0x4bf2c2['id'];if(_0x3d7cde[_0x58a8('0x35')][_0x58a8('0x40')]){_0x179a74[_0x58a8('0x41')]=_[_0x58a8('0x42')](_0x179a74[_0x58a8('0x41')],{'$or':_[_0x58a8('0x34')](_0x179a74[_0x58a8('0x39')],function(_0x30b53f){var _0x3d7a59={};_0x3d7a59[_0x30b53f]={'$like':'%'+_0x3d7cde[_0x58a8('0x35')]['filter']+'%'};return _0x3d7a59;})});}_0x179a74=_['merge']({},_0x179a74,_0x3d7cde[_0x58a8('0x4c')]);return db[_0x58a8('0x58')][_0x58a8('0x1f')]({'where':_0x179a74[_0x58a8('0x41')]})[_0x58a8('0x26')](function(_0x29e527){_0xa8a254[_0x58a8('0x1f')]=_0x29e527;if(_0x3d7cde[_0x58a8('0x35')][_0x58a8('0x44')]){_0x179a74[_0x58a8('0x45')]=[{'all':!![]}];}return db['Disposition'][_0x58a8('0x46')](_0x179a74);})[_0x58a8('0x26')](function(_0x544bfe){_0xa8a254[_0x58a8('0x47')]=_0x544bfe;return _0xa8a254;});}})[_0x58a8('0x26')](respondWithFilteredResult(_0x3fb2a6,_0x179a74))[_0x58a8('0x48')](handleError(_0x3fb2a6,null));};exports['removeDispositions']=function(_0xd6aa78,_0x11e10f,_0x5e9e76){return db['CmList'][_0x58a8('0x4d')]({'where':{'id':_0xd6aa78['params']['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x11e10f,null))[_0x58a8('0x26')](function(_0x51b80f){if(_0x51b80f){return _0x51b80f[_0x58a8('0x5c')](_0xd6aa78[_0x58a8('0x35')][_0x58a8('0x5d')]);}})[_0x58a8('0x26')](respondWithStatusCode(_0x11e10f,null))[_0x58a8('0x48')](handleError(_0x11e10f,null));};exports[_0x58a8('0x5e')]=function(_0x74d794,_0x39467e,_0xb1b536){return db['CmList'][_0x58a8('0x4d')]({'where':{'id':_0x74d794[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x39467e,null))[_0x58a8('0x26')](function(_0x475fce){if(_0x475fce){var _0x5979b0=[];var _0x4a5664={'success':[],'errors':[]};return db[_0x58a8('0x5f')][_0x58a8('0x56')]()['then'](function(_0x3b10a0){if(_0x74d794[_0x58a8('0x55')][_0x58a8('0x60')]&&_[_0x58a8('0x61')](_0x74d794[_0x58a8('0x55')][_0x58a8('0x60')])){if(_0x74d794[_0x58a8('0x55')][_0x58a8('0x60')][_0x58a8('0x3a')]){_0x74d794[_0x58a8('0x55')]['tags']=_0x74d794['body'][_0x58a8('0x60')][_0x58a8('0x62')](';')+';';}else{_0x74d794[_0x58a8('0x55')]['tags']=null;}}else{_0x74d794['body'][_0x58a8('0x60')]=null;}if(_0x74d794[_0x58a8('0x55')]&&_[_0x58a8('0x61')](_0x74d794[_0x58a8('0x55')])){for(var _0x3982a7=0x0;_0x3982a7<_0x74d794['body']['length'];_0x3982a7+=0x1){_0x74d794[_0x58a8('0x55')][_0x3982a7][_0x58a8('0x5b')]=_0x74d794[_0x58a8('0x4a')]['id'];_0x5979b0['push'](_0x74d794['body'][_0x3982a7]);}return BPromise['each'](_0x5979b0,function(_0x5c78f3){return db[_0x58a8('0x5f')][_0x58a8('0x4e')](_[_0x58a8('0x63')](_0x5c78f3,[_0x58a8('0x5d'),'id'])||{},{'fields':_[_0x58a8('0x4b')](_0x3b10a0),'raw':!![]})[_0x58a8('0x26')](function(_0x257843){_0x4a5664[_0x58a8('0x64')][_0x58a8('0x65')](_0x257843['dataValues']);})[_0x58a8('0x48')](function(_0x5e9fbb){_0x4a5664[_0x58a8('0x66')][_0x58a8('0x65')]({'data':_0x5c78f3,'error':_0x5e9fbb['message']});});})[_0x58a8('0x26')](function(_0x210af5){return _0x4a5664;})[_0x58a8('0x48')](function(_0x54c8e0){return _0x54c8e0;});}else{_0x39467e[_0x58a8('0x1a')](0x190)[_0x58a8('0x1c')]({'message':_0x58a8('0x67')});}});}})['then'](respondWithResult(_0x39467e,null))[_0x58a8('0x48')](handleError(_0x39467e,null));};exports[_0x58a8('0x68')]=function(_0x3fe5be,_0x1e6a87,_0x9423f6){var _0x4f6bce;return db[_0x58a8('0x30')][_0x58a8('0x4d')]({'where':{'id':_0x3fe5be[_0x58a8('0x4a')]['id']},'include':[{'model':db[_0x58a8('0x69')],'as':_0x58a8('0x6a')}]})['then'](handleEntityNotFound(_0x1e6a87,null))[_0x58a8('0x26')](function(_0x463e67){if(_0x463e67){_0x4f6bce=_0x463e67;return db[_0x58a8('0x5f')][_0x58a8('0x31')];}})[_0x58a8('0x26')](function(_0x58aac7){if(_0x58aac7){var _0x1be6e0={};var _0x2888bd={};_0x2888bd[_0x58a8('0x33')]=_[_0x58a8('0x6b')](_['keys'](_0x58aac7),_[_0x58a8('0x34')](_0x4f6bce[_0x58a8('0x6a')],function(_0x3d18ec){return util['format'](_0x58a8('0x6c'),_0x3d18ec['id']);}));_0x2888bd[_0x58a8('0x35')]=_[_0x58a8('0x4b')](_0x3fe5be['query']);_0x2888bd['filters']=_[_0x58a8('0x37')](_0x2888bd['model'],_0x2888bd[_0x58a8('0x35')]);_0x1be6e0[_0x58a8('0x39')]=_[_0x58a8('0x37')](_0x2888bd['model'],qs[_0x58a8('0x38')](_0x3fe5be[_0x58a8('0x35')]['fields']));_0x1be6e0[_0x58a8('0x39')]=_0x1be6e0[_0x58a8('0x39')][_0x58a8('0x3a')]?_0x1be6e0[_0x58a8('0x39')]:_0x2888bd[_0x58a8('0x33')];if(!_0x3fe5be['query'][_0x58a8('0x3b')](_0x58a8('0x3c'))){_0x1be6e0[_0x58a8('0x20')]=qs[_0x58a8('0x20')](_0x3fe5be[_0x58a8('0x35')][_0x58a8('0x20')]);_0x1be6e0[_0x58a8('0x1d')]=qs[_0x58a8('0x1d')](_0x3fe5be['query'][_0x58a8('0x1d')]);}_0x1be6e0['order']=qs[_0x58a8('0x3e')](_0x3fe5be[_0x58a8('0x35')][_0x58a8('0x3e')]);_0x1be6e0[_0x58a8('0x41')]=qs[_0x58a8('0x36')](_[_0x58a8('0x3f')](_0x3fe5be[_0x58a8('0x35')],_0x2888bd['filters']));_0x1be6e0[_0x58a8('0x6d')]=!![];if(_0x3fe5be[_0x58a8('0x35')][_0x58a8('0x40')]){_0x1be6e0['where']=_[_0x58a8('0x42')](_0x1be6e0['where'],{'$or':_[_0x58a8('0x34')](_0x1be6e0[_0x58a8('0x39')],function(_0x2dd6ea){var _0x196375={};_0x196375[_0x2dd6ea]={'$like':'%'+_0x3fe5be[_0x58a8('0x35')][_0x58a8('0x40')]+'%'};return _0x196375;})});}_0x1be6e0=_[_0x58a8('0x42')]({},_0x1be6e0,_0x3fe5be[_0x58a8('0x4c')]);return _0x4f6bce['getContacts'](_0x1be6e0);}})[_0x58a8('0x26')](respondWithResult(_0x1e6a87,null))[_0x58a8('0x48')](handleError(_0x1e6a87,null));};exports[_0x58a8('0x6e')]=function(_0x10a6d9,_0x1d7c32,_0x1637b0){var _0x5609f9;var _0x2b9817;var _0x4aaca3;var _0x7df0=_0x10a6d9[_0x58a8('0x4a')]['id'];csv_results=[];return db['ContactItemType'][_0x58a8('0x46')]({'attributes':['id',_0x58a8('0x2d')],'raw':!![],'order':[_0x58a8('0x6f')]})[_0x58a8('0x26')](function(_0xd90520){_0x5609f9=_0xd90520;var _0x587e2=_[_0x58a8('0x4b')](db['CmContact'][_0x58a8('0x31')]);return db[_0x58a8('0x69')][_0x58a8('0x46')]({'raw':!![],'attributes':['id',_0x58a8('0x70')]})[_0x58a8('0x26')](function(_0x4dc88f){_0x2b9817=_0x4dc88f;var _0x41a5bc=squel[_0x58a8('0x71')]()[_0x58a8('0x38')](_0x587e2)[_0x58a8('0x72')](_0x58a8('0x73'),'c')[_0x58a8('0x41')](_0x58a8('0x74'),_0x7df0)['where'](_0x58a8('0x75'))[_0x58a8('0x76')]();for(var _0x479089=0x0;_0x479089<_0x2b9817[_0x58a8('0x3a')];_0x479089++){_0x41a5bc[_0x58a8('0x77')](_0x58a8('0x78')+_0x2b9817[_0x479089]['id'],_0x58a8('0x79')+_0x2b9817[_0x479089][_0x58a8('0x70')]);}for(var _0x479089=0x0;_0x479089<_0x5609f9[_0x58a8('0x3a')];_0x479089++){_0x41a5bc['field'](squel['select']()[_0x58a8('0x77')]('item')[_0x58a8('0x72')]('cm_contact_has_items')[_0x58a8('0x41')](_0x58a8('0x7a'),_0x5609f9[_0x479089]['id'])['where'](_0x58a8('0x7b')),_0x58a8('0x7c')+_0x5609f9[_0x479089][_0x58a8('0x2d')]);_0x41a5bc[_0x58a8('0x77')](squel[_0x58a8('0x71')]()[_0x58a8('0x77')](_0x58a8('0x7d'))['from']('cm_contact_has_items')['where']('ItemTypeId\x20=\x20?',_0x5609f9[_0x479089]['id'])[_0x58a8('0x41')]('CmContactId\x20=\x20c.id'),_0x58a8('0x7e')+_0x5609f9[_0x479089][_0x58a8('0x2d')]);}var _0x23cd6d=[];_0x23cd6d[_0x58a8('0x65')](_0x41a5bc[_0x58a8('0x7f')]());BPromise[_0x58a8('0x80')](_0x23cd6d,handleQuery)[_0x58a8('0x26')](function(_0x3d6e1f){handleQuery(_0x41a5bc['toString']());var _0x2da963=csv_results[0x0];if(!_[_0x58a8('0x81')](_0x2da963)){var _0xe43d5=toCsv(_0x2da963);var _0x2b6885=Date[_0x58a8('0x82')]();fs['writeFileSync'](util['format']('/tmp/list_%d_%s.csv',_0x7df0,_0x2b6885),_0xe43d5);_0x1d7c32[_0x58a8('0x83')](_0x58a8('0x84'),_0x58a8('0x85')+util[_0x58a8('0x86')](_0x58a8('0x87'),_0x7df0,_0x2b6885));_0x1d7c32[_0x58a8('0x83')](_0x58a8('0x88'),'text/csv');return _0x1d7c32[_0x58a8('0x89')](util[_0x58a8('0x86')](_0x58a8('0x8a'),_0x7df0,_0x2b6885));}else{return _0x1d7c32['sendStatus'](0xcc);}});});});};exports['addCustomField']=function(_0x310e8f,_0x1dd1c3,_0x459eae){var _0x4dce0f;delete _0x310e8f['body']['id'];return db['CmList']['findOne']({'where':{'id':_0x310e8f[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x1dd1c3,null))[_0x58a8('0x26')](function(_0x3d9d66){if(_0x3d9d66){return db[_0x58a8('0x8b')]['transaction'](function(_0x35f523){return db[_0x58a8('0x69')][_0x58a8('0x4e')](_0x310e8f[_0x58a8('0x55')],{'transaction':_0x35f523})['then'](function(_0x2729f7){_0x4dce0f=_0x2729f7;return _0x3d9d66[_0x58a8('0x8c')](_0x2729f7,{'transaction':_0x35f523});})[_0x58a8('0x26')](function(){var _0x2137c8={'type':db['Sequelize'][_0x58a8('0x8d')],'transaction':_0x35f523};switch(_0x310e8f[_0x58a8('0x55')][_0x58a8('0x8e')]){case _0x58a8('0x8f'):_0x2137c8[_0x58a8('0x8e')]=db[_0x58a8('0x90')][_0x58a8('0x8d')];break;case'number':_0x2137c8[_0x58a8('0x8e')]=db['Sequelize'][_0x58a8('0x91')];break;case _0x58a8('0x92'):_0x2137c8[_0x58a8('0x8e')]=db[_0x58a8('0x90')][_0x58a8('0x93')];_0x2137c8['defaultValue']=![];break;default:}return db[_0x58a8('0x8b')][_0x58a8('0x94')][_0x58a8('0x95')]('cm_contacts',util[_0x58a8('0x86')]('cf_%s',_0x4dce0f['id']),_0x2137c8);})[_0x58a8('0x26')](function(){return _0x4dce0f;});});}})[_0x58a8('0x26')](respondWithResult(_0x1dd1c3,null))['catch'](handleError(_0x1dd1c3,null));};exports[_0x58a8('0x96')]=function(_0x2ae6e4,_0x176703,_0x18d3f8){var _0x320900={};var _0x3b9c50={};var _0x5890d8;var _0x5d8bcc;return db['CmList']['findOne']({'where':{'id':_0x2ae6e4[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x176703,null))[_0x58a8('0x26')](function(_0x74ef44){if(_0x74ef44){_0x5890d8=_0x74ef44;_0x3b9c50['model']=_['keys'](db['CmCustomField'][_0x58a8('0x31')]);_0x3b9c50[_0x58a8('0x35')]=_[_0x58a8('0x4b')](_0x2ae6e4['query']);_0x3b9c50[_0x58a8('0x36')]=_[_0x58a8('0x37')](_0x3b9c50['model'],_0x3b9c50[_0x58a8('0x35')]);_0x320900[_0x58a8('0x39')]=_[_0x58a8('0x37')](_0x3b9c50[_0x58a8('0x33')],qs['fields'](_0x2ae6e4[_0x58a8('0x35')][_0x58a8('0x38')]));_0x320900[_0x58a8('0x39')]=_0x320900[_0x58a8('0x39')]['length']?_0x320900[_0x58a8('0x39')]:_0x3b9c50[_0x58a8('0x33')];_0x320900[_0x58a8('0x3d')]=qs[_0x58a8('0x3e')](_0x2ae6e4['query'][_0x58a8('0x3e')]);_0x320900['where']=qs[_0x58a8('0x36')](_['pick'](_0x2ae6e4[_0x58a8('0x35')],_0x3b9c50[_0x58a8('0x36')]));_0x320900[_0x58a8('0x41')]=_[_0x58a8('0x42')](_0x320900['where'],{'$or':[{'ListId':_0x74ef44['id']},{'ListId':null}]});if(_0x2ae6e4[_0x58a8('0x35')][_0x58a8('0x40')]){_0x320900[_0x58a8('0x41')]=_[_0x58a8('0x42')](_0x320900[_0x58a8('0x41')],{'$or':_[_0x58a8('0x34')](_0x320900[_0x58a8('0x39')],function(_0x276539){var _0xc7eab4={};_0xc7eab4[_0x276539]={'$like':'%'+_0x2ae6e4[_0x58a8('0x35')][_0x58a8('0x40')]+'%'};return _0xc7eab4;})});}_0x320900=_[_0x58a8('0x42')]({},_0x320900,_0x2ae6e4[_0x58a8('0x4c')]);return db[_0x58a8('0x69')][_0x58a8('0x97')](_0x320900);}})[_0x58a8('0x26')](respondWithResult(_0x176703,null))[_0x58a8('0x48')](handleError(_0x176703,null));};exports['getGlobalCustomFields']=function(_0x281617,_0x40ef51){return db['CmCustomField'][_0x58a8('0x97')]({'where':{'ListId':null}})[_0x58a8('0x26')](handleEntityNotFound(_0x40ef51,null))['then'](function(_0xa248b6){return _0xa248b6;})[_0x58a8('0x26')](respondWithResult(_0x40ef51,null))[_0x58a8('0x48')](handleError(_0x40ef51,null));};exports[_0x58a8('0x98')]=function(_0x1ba579,_0x50fb2e,_0x28d1d3){return db[_0x58a8('0x30')][_0x58a8('0x4d')]({'where':{'id':_0x1ba579['params']['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x50fb2e,null))[_0x58a8('0x26')](function(_0x21b69b){if(_0x21b69b){return _0x21b69b['addAgents'](_0x1ba579[_0x58a8('0x55')][_0x58a8('0x5d')],_[_0x58a8('0x63')](_0x1ba579['body'],[_0x58a8('0x5d'),'id'])||{})[_0x58a8('0x99')](function(_0x540f27){for(var _0x4fe234=0x0;_0x4fe234<_0x1ba579[_0x58a8('0x55')][_0x58a8('0x5d')]['length'];_0x4fe234+=0x1){socket[_0x58a8('0x9a')](_0x58a8('0x9b'),{'UserId':Number(_0x1ba579[_0x58a8('0x55')]['ids'][_0x4fe234]),'CmListId':Number(_0x1ba579[_0x58a8('0x4a')]['id'])});}return _0x540f27;});}})['then'](respondWithResult(_0x50fb2e,null))[_0x58a8('0x48')](handleError(_0x50fb2e,null));};exports[_0x58a8('0x9c')]=function(_0x159229,_0x564c29,_0xa30ca4){return db['CmList'][_0x58a8('0x4d')]({'where':{'id':_0x159229['params']['id']}})['then'](handleEntityNotFound(_0x564c29,null))[_0x58a8('0x26')](function(_0x37a8d9){if(_0x37a8d9){return _0x37a8d9[_0x58a8('0x9c')](_0x159229[_0x58a8('0x35')][_0x58a8('0x5d')])[_0x58a8('0x26')](function(){if(_['isArray'](_0x159229[_0x58a8('0x35')][_0x58a8('0x5d')])){for(var _0x6d5dd9=0x0;_0x6d5dd9<_0x159229[_0x58a8('0x35')][_0x58a8('0x5d')][_0x58a8('0x3a')];_0x6d5dd9+=0x1){socket['emit'](_0x58a8('0x9d'),{'UserId':Number(_0x159229['query'][_0x58a8('0x5d')][_0x6d5dd9]),'CmListId':Number(_0x159229[_0x58a8('0x4a')]['id'])});}}else{socket[_0x58a8('0x9a')](_0x58a8('0x9d'),{'UserId':Number(_0x159229[_0x58a8('0x35')][_0x58a8('0x5d')]),'CmListId':Number(_0x159229[_0x58a8('0x4a')]['id'])});}});}})[_0x58a8('0x26')](respondWithStatusCode(_0x564c29,null))[_0x58a8('0x48')](handleError(_0x564c29,null));};exports[_0x58a8('0x9e')]=function(_0x16abf3,_0x25dd51,_0x4e04c6){var _0xec3bb2={};var _0x5a4233={};var _0xac0e19;var _0x39b9fe;return db['CmList'][_0x58a8('0x5a')]({'where':{'id':_0x16abf3[_0x58a8('0x4a')]['id']}})[_0x58a8('0x26')](handleEntityNotFound(_0x25dd51,null))[_0x58a8('0x26')](function(_0xde83c0){if(_0xde83c0){_0xac0e19=_0xde83c0;_0x5a4233[_0x58a8('0x33')]=_[_0x58a8('0x4b')](db[_0x58a8('0x9f')][_0x58a8('0x31')]);_0x5a4233[_0x58a8('0x35')]=_[_0x58a8('0x4b')](_0x16abf3['query']);_0x5a4233['filters']=_[_0x58a8('0x37')](_0x5a4233[_0x58a8('0x33')],_0x5a4233[_0x58a8('0x35')]);_0xec3bb2[_0x58a8('0x39')]=_[_0x58a8('0x37')](_0x5a4233[_0x58a8('0x33')],qs[_0x58a8('0x38')](_0x16abf3[_0x58a8('0x35')][_0x58a8('0x38')]));_0xec3bb2[_0x58a8('0x39')]=_0xec3bb2[_0x58a8('0x39')][_0x58a8('0x3a')]?_0xec3bb2[_0x58a8('0x39')]:_0x5a4233[_0x58a8('0x33')];_0xec3bb2['order']=qs[_0x58a8('0x3e')](_0x16abf3[_0x58a8('0x35')][_0x58a8('0x3e')]);_0xec3bb2[_0x58a8('0x41')]=qs['filters'](_[_0x58a8('0x3f')](_0x16abf3[_0x58a8('0x35')],_0x5a4233[_0x58a8('0x36')]));if(_0x16abf3[_0x58a8('0x35')][_0x58a8('0x40')]){_0xec3bb2[_0x58a8('0x41')]=_[_0x58a8('0x42')](_0xec3bb2[_0x58a8('0x41')],{'$or':_[_0x58a8('0x34')](_0xec3bb2[_0x58a8('0x39')],function(_0x18f2d0){var _0x1aec29={};_0x1aec29[_0x18f2d0]={'$like':'%'+_0x16abf3[_0x58a8('0x35')][_0x58a8('0x40')]+'%'};return _0x1aec29;})});}_0xec3bb2=_[_0x58a8('0x42')]({},_0xec3bb2,_0x16abf3[_0x58a8('0x4c')]);return _0xac0e19[_0x58a8('0x9e')](_0xec3bb2);}})[_0x58a8('0x26')](function(_0xb2520c){if(_0xb2520c){_0x39b9fe=_0xb2520c['length'];if(!_0x16abf3[_0x58a8('0x35')][_0x58a8('0x3b')]('nolimit')){_0xec3bb2[_0x58a8('0x20')]=qs[_0x58a8('0x20')](_0x16abf3[_0x58a8('0x35')]['limit']);_0xec3bb2[_0x58a8('0x1d')]=qs[_0x58a8('0x1d')](_0x16abf3['query'][_0x58a8('0x1d')]);}return _0xac0e19['getAgents'](_0xec3bb2);}})['then'](function(_0x3fc19d){if(_0x3fc19d){return _0x3fc19d?{'count':_0x39b9fe,'rows':_0x3fc19d}:null;}})['then'](respondWithResult(_0x25dd51,null))[_0x58a8('0x48')](handleError(_0x25dd51,null));};function handleQuery(_0x90db4b){logger[_0x58a8('0xa0')](_0x90db4b);return db[_0x58a8('0x8b')]['query'](_0x90db4b)['spread'](function(_0xbd55dd){csv_results[_0x58a8('0x65')](_0xbd55dd);})[_0x58a8('0x48')](function(_0x161781){logger[_0x58a8('0x2b')](_0x161781[_0x58a8('0xa1')]);});}