Built motion from commit (unavailable).|2.5.11
[motion2.git] / server / api / cmContact / cmContact.model.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 _0x539d=['models','error','cmContact','afterCreate','inspect','CmHopper','findOne','then','isNil','cmContact,\x20afterCreate\x20','create','ListId','priority','scheduledat','callbackUniqueid','YYYY-MM-DD\x20HH:mm:ss','catch','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20VoiceQueue\x20','CmHopperFinal','cmContact,\x20afterCreate,\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20VoiceQueue\x20','format','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20Campaign\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20Campaign\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20Campaign\x20','findAll','outbound','dialCheckDuplicateType','CmList','length','always','onlyIfOpen','VoiceQueue','BlackLists','CmHopperBlack','cmContact,\x20%s,\x20%s','message','Lists','get','Campaign','List\x20not\x20found','isEmpty','destroy','ContactId','VoiceQueueId','push','all','info','[CmContact][afterDestroy][Error]','lodash','../../config/logger','api','request-promise','path','rimraf','../../config/environment','./cmContact.attributes','define','CmContact','cm_contacts','phone','fti_cm_contacts','firstName','lastName','email','FULLTEXT'];(function(_0x188d31,_0x576e87){var _0x30ed33=function(_0x15f9a5){while(--_0x15f9a5){_0x188d31['push'](_0x188d31['shift']());}};_0x30ed33(++_0x576e87);}(_0x539d,0x17b));var _0xd539=function(_0x119d5a,_0x19b457){_0x119d5a=_0x119d5a-0x0;var _0x15bff4=_0x539d[_0x119d5a];return _0x15bff4;};'use strict';var _=require(_0xd539('0x0'));var util=require('util');var logger=require(_0xd539('0x1'))(_0xd539('0x2'));var moment=require('moment');var BPromise=require('bluebird');var rp=require(_0xd539('0x3'));var fs=require('fs');var path=require(_0xd539('0x4'));var rimraf=require(_0xd539('0x5'));var config=require(_0xd539('0x6'));var attributes=require(_0xd539('0x7'));module['exports']=function(_0x341dd4,_0x158719){return _0x341dd4[_0xd539('0x8')](_0xd539('0x9'),attributes,{'tableName':_0xd539('0xa'),'paranoid':!![],'indexes':[{'name':_0xd539('0xb'),'fields':['phone']},{'name':_0xd539('0xc'),'fields':[_0xd539('0xd'),_0xd539('0xe'),_0xd539('0xb'),'mobile','fax',_0xd539('0xf')],'type':_0xd539('0x10')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1c6131,_0x30d53b,_0x424b1a){var _0x3c59d1=_0x341dd4[_0xd539('0x11')];var _0x3860dc=_0x1c6131['get']({'plain':!![]});function _0x17cbc0(){return function(_0x1a4645){logger[_0xd539('0x12')](_0xd539('0x13'),_0xd539('0x14'),util[_0xd539('0x15')](_0x1a4645,{'showHidden':![],'depth':null}));};}var _0x54706f=function(_0x278f49){return new BPromise(function(_0x6ef028,_0x1fbb31){_0x3c59d1[_0xd539('0x16')][_0xd539('0x17')]({'where':{'phone':_0x3860dc[_0xd539('0xb')],'VoiceQueueId':_0x278f49['id']}})[_0xd539('0x18')](function(_0xe32f19){if(!_[_0xd539('0x19')](_0xe32f19)){throw new Error(_0xd539('0x1a')+_0x3860dc[_0xd539('0xb')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20VoiceQueue\x20'+_0x278f49['id']);}return _0x3c59d1[_0xd539('0x16')][_0xd539('0x1b')]({'phone':_0x3860dc[_0xd539('0xb')],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'priority':_0x3860dc[_0xd539('0x1d')]?_0x3860dc[_0xd539('0x1d')]:0x2,'scheduledat':_0x3860dc[_0xd539('0x1e')]?_0x3860dc[_0xd539('0x1e')]:moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'callback':_0x3860dc[_0xd539('0x1f')]?!![]:![],'callbackuniqueid':_0x3860dc[_0xd539('0x1f')]?_0x3860dc[_0xd539('0x1f')]:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()['format'](_0xd539('0x20')):undefined,'VoiceQueueId':_0x278f49['id']});})[_0xd539('0x21')](function(_0x46076e){_0x1fbb31(_0x46076e);});});};var _0x259dde=function(_0x11c993){return new BPromise(function(_0x13445e,_0x38985c){_0x3c59d1[_0xd539('0x16')][_0xd539('0x17')]({'where':{'phone':_0x3860dc['phone'],'VoiceQueueId':_0x11c993['id']}})[_0xd539('0x18')](function(_0x57789d){if(!_[_0xd539('0x19')](_0x57789d)){throw new Error('cmContact,\x20afterCreate\x20'+_0x3860dc['phone']+_0xd539('0x22')+_0x11c993['id']);}return _0x3c59d1[_0xd539('0x23')][_0xd539('0x17')]({'where':{'calleridnum':_0x3860dc[_0xd539('0xb')],'VoiceQueueId':_0x11c993['id']}});})['then'](function(_0x39cef1){if(!_['isNil'](_0x39cef1)){throw new Error(_0xd539('0x24')+_0x3860dc[_0xd539('0xb')]+_0xd539('0x25')+_0x11c993['id']);}return _0x3c59d1[_0xd539('0x16')]['create']({'phone':_0x3860dc['phone'],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'priority':_0x3860dc[_0xd539('0x1d')]?_0x3860dc['priority']:0x2,'scheduledat':_0x3860dc['scheduledat']?_0x3860dc['scheduledat']:moment()[_0xd539('0x26')](_0xd539('0x20')),'callback':_0x3860dc[_0xd539('0x1f')]?!![]:![],'callbackuniqueid':_0x3860dc[_0xd539('0x1f')]?_0x3860dc['callbackUniqueid']:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()[_0xd539('0x26')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'VoiceQueueId':_0x11c993['id']});})[_0xd539('0x21')](function(_0x932ed0){_0x38985c(_0x932ed0);});});};function _0x3de809(){return function(_0x3e7e54){logger[_0xd539('0x12')]('cmContact',_0xd539('0x14'),util['inspect'](_0x3e7e54,{'showHidden':![],'depth':null}));};}var _0x121594=function(_0x55dd43){return new BPromise(function(_0x23f266,_0x5e02ab){_0x3c59d1[_0xd539('0x16')][_0xd539('0x17')]({'where':{'phone':_0x3860dc[_0xd539('0xb')],'CampaignId':_0x55dd43['id']}})[_0xd539('0x18')](function(_0x3f68f7){if(!_[_0xd539('0x19')](_0x3f68f7)){throw new Error(_0xd539('0x1a')+_0x3860dc[_0xd539('0xb')]+_0xd539('0x27')+_0x55dd43['id']);}return _0x3c59d1[_0xd539('0x16')][_0xd539('0x1b')]({'phone':_0x3860dc['phone'],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'priority':_0x3860dc['priority']?_0x3860dc[_0xd539('0x1d')]:0x2,'scheduledat':_0x3860dc[_0xd539('0x1e')]?_0x3860dc['scheduledat']:moment()[_0xd539('0x26')](_0xd539('0x20')),'callback':_0x3860dc['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x3860dc['callbackUniqueid']?_0x3860dc[_0xd539('0x1f')]:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()[_0xd539('0x26')](_0xd539('0x20')):undefined,'CampaignId':_0x55dd43['id']});})['catch'](function(_0x1126ee){_0x5e02ab(_0x1126ee);});});};var _0x2f4703=function(_0x2d67ed){return new BPromise(function(_0x27e956,_0x5172e3){_0x3c59d1[_0xd539('0x16')][_0xd539('0x17')]({'where':{'phone':_0x3860dc[_0xd539('0xb')],'CampaignId':_0x2d67ed['id']}})[_0xd539('0x18')](function(_0x289167){if(!_[_0xd539('0x19')](_0x289167)){throw new Error('cmContact,\x20afterCreate\x20'+_0x3860dc['phone']+_0xd539('0x28')+_0x2d67ed['id']);}return _0x3c59d1[_0xd539('0x23')][_0xd539('0x17')]({'where':{'calleridnum':_0x3860dc[_0xd539('0xb')],'CampaignId':_0x2d67ed['id']}});})['then'](function(_0xe2e3){if(!_[_0xd539('0x19')](_0xe2e3)){throw new Error(_0xd539('0x24')+_0x3860dc['phone']+_0xd539('0x29')+_0x2d67ed['id']);}return _0x3c59d1['CmHopper'][_0xd539('0x1b')]({'phone':_0x3860dc['phone'],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'priority':_0x3860dc['priority']?_0x3860dc['priority']:0x2,'scheduledat':_0x3860dc[_0xd539('0x1e')]?_0x3860dc[_0xd539('0x1e')]:moment()[_0xd539('0x26')](_0xd539('0x20')),'callback':_0x3860dc[_0xd539('0x1f')]?!![]:![],'callbackuniqueid':_0x3860dc[_0xd539('0x1f')]?_0x3860dc['callbackUniqueid']:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()[_0xd539('0x26')](_0xd539('0x20')):undefined,'CampaignId':_0x2d67ed['id']});})['catch'](function(_0x3e9320){_0x5172e3(_0x3e9320);});});};if(_0x3860dc['ListId']){_0x3c59d1['VoiceQueue'][_0xd539('0x2a')]({'where':{'type':_0xd539('0x2b')},'attributes':['id',_0xd539('0x2c')],'include':[{'model':_0x3c59d1[_0xd539('0x2d')],'as':'Lists','where':{'id':_0x3860dc[_0xd539('0x1c')]}}]})[_0xd539('0x18')](function(_0x2d3dc0){if(_0x2d3dc0){var _0x174054=[];for(var _0x4e577c=0x0,_0x158e21;_0x4e577c<_0x2d3dc0[_0xd539('0x2e')];_0x4e577c+=0x1){_0x158e21=_0x2d3dc0[_0x4e577c]['get']({'plain':!![]});switch(_0x158e21[_0xd539('0x2c')]){case _0xd539('0x2f'):_0x259dde(_0x158e21)[_0xd539('0x21')](_0x17cbc0());break;case _0xd539('0x30'):_0x54706f(_0x158e21)['catch'](_0x17cbc0());break;default:_0x3c59d1[_0xd539('0x16')][_0xd539('0x1b')]({'phone':_0x3860dc[_0xd539('0xb')],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'scheduledat':_0x3860dc[_0xd539('0x1e')]?_0x3860dc[_0xd539('0x1e')]:moment()[_0xd539('0x26')](_0xd539('0x20')),'priority':_0x3860dc[_0xd539('0x1d')]?_0x3860dc[_0xd539('0x1d')]:0x2,'callback':_0x3860dc['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x3860dc[_0xd539('0x1f')]?_0x3860dc[_0xd539('0x1f')]:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()[_0xd539('0x26')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'VoiceQueueId':_0x158e21['id']})[_0xd539('0x21')](_0x17cbc0());}}}})[_0xd539('0x18')](function(){return _0x3c59d1[_0xd539('0x31')][_0xd539('0x2a')]({'where':{'type':_0xd539('0x2b')},'attributes':['id'],'include':[{'model':_0x3c59d1[_0xd539('0x2d')],'as':_0xd539('0x32'),'where':{'id':_0x3860dc['ListId']}}]})[_0xd539('0x18')](function(_0x299441){if(_0x299441){var _0xa65c50=[];for(var _0x2e0d0b=0x0,_0x2aad32;_0x2e0d0b<_0x299441[_0xd539('0x2e')];_0x2e0d0b+=0x1){_0x2aad32=_0x299441[_0x2e0d0b]['get']({'plain':!![]});_0x3c59d1[_0xd539('0x33')][_0xd539('0x1b')]({'phone':_0x3860dc['phone'],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc['ListId'],'VoiceQueueId':_0x2aad32['id']})[_0xd539('0x21')](function(_0x735b36){logger['error'](_0xd539('0x34'),_0xd539('0x14'),_0x735b36[_0xd539('0x35')]);});}}});})[_0xd539('0x18')](function(){return _0x3c59d1['Campaign'][_0xd539('0x2a')]({'attributes':['id',_0xd539('0x2c')],'include':[{'model':_0x3c59d1[_0xd539('0x2d')],'as':_0xd539('0x36'),'where':{'id':_0x3860dc['ListId']}}]})[_0xd539('0x18')](function(_0x1a007c){if(_0x1a007c){var _0xc99394=[];for(var _0x4a44c1=0x0,_0x255a33;_0x4a44c1<_0x1a007c[_0xd539('0x2e')];_0x4a44c1+=0x1){_0x255a33=_0x1a007c[_0x4a44c1][_0xd539('0x37')]({'plain':!![]});switch(_0x255a33[_0xd539('0x2c')]){case _0xd539('0x2f'):_0x2f4703(_0x255a33)[_0xd539('0x21')](_0x3de809());break;case _0xd539('0x30'):_0x121594(_0x255a33)[_0xd539('0x21')](_0x3de809());break;default:_0x3c59d1[_0xd539('0x16')][_0xd539('0x1b')]({'phone':_0x3860dc[_0xd539('0xb')],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'scheduledat':_0x3860dc[_0xd539('0x1e')]?_0x3860dc[_0xd539('0x1e')]:moment()[_0xd539('0x26')]('YYYY-MM-DD\x20HH:mm:ss'),'priority':_0x3860dc[_0xd539('0x1d')]?_0x3860dc[_0xd539('0x1d')]:0x2,'callback':_0x3860dc['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x3860dc['callbackUniqueid']?_0x3860dc['callbackUniqueid']:undefined,'callbackat':_0x3860dc[_0xd539('0x1f')]?moment()[_0xd539('0x26')](_0xd539('0x20')):undefined,'CampaignId':_0x255a33['id']})[_0xd539('0x21')](_0x3de809());}}}});})['then'](function(){return _0x3c59d1[_0xd539('0x38')][_0xd539('0x2a')]({'attributes':['id'],'include':[{'model':_0x3c59d1['CmList'],'as':_0xd539('0x32'),'where':{'id':_0x3860dc[_0xd539('0x1c')]}}]})[_0xd539('0x18')](function(_0x50dc91){if(_0x50dc91){var _0x24d0f9=[];for(var _0x424a9a=0x0,_0x2f6530;_0x424a9a<_0x50dc91['length'];_0x424a9a+=0x1){_0x2f6530=_0x50dc91[_0x424a9a][_0xd539('0x37')]({'plain':!![]});_0x3c59d1[_0xd539('0x33')][_0xd539('0x1b')]({'phone':_0x3860dc['phone'],'ContactId':_0x3860dc['id'],'ListId':_0x3860dc[_0xd539('0x1c')],'CampaignId':_0x2f6530['id']})[_0xd539('0x21')](function(_0x2955a5){logger[_0xd539('0x12')](_0xd539('0x34'),_0xd539('0x14'),_0x2955a5[_0xd539('0x35')]);});}}});})[_0xd539('0x18')](function(){_0x424b1a();})[_0xd539('0x21')](function(_0x50c71d){logger[_0xd539('0x12')](_0xd539('0x34'),'afterCreate',_0x50c71d[_0xd539('0x35')]);_0x424b1a(_0x50c71d);});}else{_0x424b1a(new Error(_0xd539('0x39')));}},'afterDestroy':function(_0x38e93b,_0x535929,_0x2af7a3){var _0x1831e7=_0x341dd4['models'];var _0xcdcdd1=_0x38e93b[_0xd539('0x37')]({'plain':!![]});return _0x1831e7[_0xd539('0x16')][_0xd539('0x2a')]({'raw':!![],'where':{'ListId':_0xcdcdd1[_0xd539('0x1c')],'ContactId':_0xcdcdd1['id']}})[_0xd539('0x18')](function(_0x20bfe8){if(!_[_0xd539('0x3a')](_0x20bfe8)){var _0x54f95a=[];for(var _0x548532=0x0;_0x548532<_0x20bfe8[_0xd539('0x2e')];_0x548532+=0x1){var _0xd3932e=_0x1831e7[_0xd539('0x16')][_0xd539('0x3b')]({'where':{'ListId':_0x20bfe8[_0x548532][_0xd539('0x1c')],'ContactId':_0x20bfe8[_0x548532][_0xd539('0x3c')],'VoiceQueueId':_0x20bfe8[_0x548532][_0xd539('0x3d')],'CampaignId':_0x20bfe8[_0x548532]['CampaignId']}});_0x54f95a[_0xd539('0x3e')](_0xd3932e);}return BPromise[_0xd539('0x3f')](_0x54f95a);}})[_0xd539('0x18')](function(_0x304520){logger[_0xd539('0x40')]('[CmContact][afterDestroy][Succesfull]',util[_0xd539('0x15')](_0x304520,{'showHidden':![],'depth':null}));_0x2af7a3();})['catch'](function(_0x558c16){logger['error'](_0xd539('0x41'),util[_0xd539('0x15')](_0x558c16,{'showHidden':![],'depth':null}));_0x2af7a3(_0x558c16);});}}});};