Built motion from commit (unavailable).|2.5.7
[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 _0x4c9d=['../../config/logger','moment','bluebird','request-promise','path','rimraf','../../config/environment','./cmContact.attributes','exports','CmContact','cm_contacts','phone','fti_cm_contacts','lastName','mobile','models','get','error','cmContact','afterCreate','inspect','CmHopper','findOne','then','cmContact,\x20afterCreate\x20','create','ListId','priority','scheduledat','format','YYYY-MM-DD\x20HH:mm:ss','callbackUniqueid','catch','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20VoiceQueue\x20','CmHopperFinal','isNil','cmContact,\x20afterCreate,\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20VoiceQueue\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20Campaign\x20','VoiceQueue','findAll','outbound','dialCheckDuplicateType','CmList','Lists','always','onlyIfOpen','BlackLists','length','CmHopperBlack','cmContact,\x20%s,\x20%s','message','Campaign','ContactId','VoiceQueueId','CampaignId','push','all','info','[CmContact][afterDestroy][Succesfull]','[CmContact][afterDestroy][Error]','lodash','util'];(function(_0x262f47,_0x300945){var _0x557f7c=function(_0x8988d0){while(--_0x8988d0){_0x262f47['push'](_0x262f47['shift']());}};_0x557f7c(++_0x300945);}(_0x4c9d,0x7c));var _0xd4c9=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0x4c9d[_0x501510];return _0x1e6ee5;};'use strict';var _=require(_0xd4c9('0x0'));var util=require(_0xd4c9('0x1'));var logger=require(_0xd4c9('0x2'))('api');var moment=require(_0xd4c9('0x3'));var BPromise=require(_0xd4c9('0x4'));var rp=require(_0xd4c9('0x5'));var fs=require('fs');var path=require(_0xd4c9('0x6'));var rimraf=require(_0xd4c9('0x7'));var config=require(_0xd4c9('0x8'));var attributes=require(_0xd4c9('0x9'));module[_0xd4c9('0xa')]=function(_0x2c81cb,_0x5980e0){return _0x2c81cb['define'](_0xd4c9('0xb'),attributes,{'tableName':_0xd4c9('0xc'),'paranoid':!![],'indexes':[{'name':_0xd4c9('0xd'),'fields':[_0xd4c9('0xd')]},{'name':_0xd4c9('0xe'),'fields':['firstName',_0xd4c9('0xf'),_0xd4c9('0xd'),_0xd4c9('0x10'),'fax','email'],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x56d9aa,_0x586c3e,_0x37e77d){var _0x4fe02f=_0x2c81cb[_0xd4c9('0x11')];var _0x18bd1d=_0x56d9aa[_0xd4c9('0x12')]({'plain':!![]});function _0x576c3a(){return function(_0x2419be){logger[_0xd4c9('0x13')](_0xd4c9('0x14'),_0xd4c9('0x15'),util[_0xd4c9('0x16')](_0x2419be,{'showHidden':![],'depth':null}));};}var _0x7027a4=function(_0x2f5f5d){return new BPromise(function(_0x3d268a,_0x1e8953){_0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x18')]({'where':{'phone':_0x18bd1d['phone'],'VoiceQueueId':_0x2f5f5d['id']}})[_0xd4c9('0x19')](function(_0x39e486){if(!_['isNil'](_0x39e486)){throw new Error(_0xd4c9('0x1a')+_0x18bd1d[_0xd4c9('0xd')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20VoiceQueue\x20'+_0x2f5f5d['id']);}return _0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x1b')]({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d[_0xd4c9('0x1d')]:0x2,'scheduledat':_0x18bd1d[_0xd4c9('0x1e')]?_0x18bd1d[_0xd4c9('0x1e')]:moment()[_0xd4c9('0x1f')](_0xd4c9('0x20')),'callback':_0x18bd1d[_0xd4c9('0x21')]?!![]:![],'callbackuniqueid':_0x18bd1d['callbackUniqueid']?_0x18bd1d['callbackUniqueid']:undefined,'callbackat':_0x18bd1d['callbackUniqueid']?moment()[_0xd4c9('0x1f')](_0xd4c9('0x20')):undefined,'VoiceQueueId':_0x2f5f5d['id']});})[_0xd4c9('0x22')](function(_0x338a63){_0x1e8953(_0x338a63);});});};var _0x382c86=function(_0x2b5d65){return new BPromise(function(_0x4cf000,_0x3b9542){_0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x18')]({'where':{'phone':_0x18bd1d[_0xd4c9('0xd')],'VoiceQueueId':_0x2b5d65['id']}})[_0xd4c9('0x19')](function(_0x3edab5){if(!_['isNil'](_0x3edab5)){throw new Error('cmContact,\x20afterCreate\x20'+_0x18bd1d[_0xd4c9('0xd')]+_0xd4c9('0x23')+_0x2b5d65['id']);}return _0x4fe02f[_0xd4c9('0x24')][_0xd4c9('0x18')]({'where':{'calleridnum':_0x18bd1d['phone'],'VoiceQueueId':_0x2b5d65['id']}});})[_0xd4c9('0x19')](function(_0x5459bb){if(!_[_0xd4c9('0x25')](_0x5459bb)){throw new Error(_0xd4c9('0x26')+_0x18bd1d[_0xd4c9('0xd')]+_0xd4c9('0x27')+_0x2b5d65['id']);}return _0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x1b')]({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d['priority']:0x2,'scheduledat':_0x18bd1d[_0xd4c9('0x1e')]?_0x18bd1d[_0xd4c9('0x1e')]:moment()[_0xd4c9('0x1f')](_0xd4c9('0x20')),'callback':_0x18bd1d[_0xd4c9('0x21')]?!![]:![],'callbackuniqueid':_0x18bd1d['callbackUniqueid']?_0x18bd1d[_0xd4c9('0x21')]:undefined,'callbackat':_0x18bd1d['callbackUniqueid']?moment()[_0xd4c9('0x1f')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'VoiceQueueId':_0x2b5d65['id']});})[_0xd4c9('0x22')](function(_0x4e0552){_0x3b9542(_0x4e0552);});});};function _0x373507(){return function(_0x29a44){logger[_0xd4c9('0x13')](_0xd4c9('0x14'),'afterCreate',util[_0xd4c9('0x16')](_0x29a44,{'showHidden':![],'depth':null}));};}var _0x349cc5=function(_0x430322){return new BPromise(function(_0xd5a527,_0x110c17){_0x4fe02f[_0xd4c9('0x17')]['findOne']({'where':{'phone':_0x18bd1d['phone'],'CampaignId':_0x430322['id']}})[_0xd4c9('0x19')](function(_0x130a9d){if(!_[_0xd4c9('0x25')](_0x130a9d)){throw new Error(_0xd4c9('0x1a')+_0x18bd1d['phone']+_0xd4c9('0x28')+_0x430322['id']);}return _0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x1b')]({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d[_0xd4c9('0x1d')]:0x2,'scheduledat':_0x18bd1d[_0xd4c9('0x1e')]?_0x18bd1d[_0xd4c9('0x1e')]:moment()[_0xd4c9('0x1f')]('YYYY-MM-DD\x20HH:mm:ss'),'callback':_0x18bd1d[_0xd4c9('0x21')]?!![]:![],'callbackuniqueid':_0x18bd1d[_0xd4c9('0x21')]?_0x18bd1d[_0xd4c9('0x21')]:undefined,'callbackat':_0x18bd1d[_0xd4c9('0x21')]?moment()[_0xd4c9('0x1f')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'CampaignId':_0x430322['id']});})['catch'](function(_0x1a417e){_0x110c17(_0x1a417e);});});};var _0x1b727a=function(_0xb539b2){return new BPromise(function(_0xa8f451,_0x1f00c5){_0x4fe02f['CmHopper'][_0xd4c9('0x18')]({'where':{'phone':_0x18bd1d['phone'],'CampaignId':_0xb539b2['id']}})['then'](function(_0x1c8f9a){if(!_[_0xd4c9('0x25')](_0x1c8f9a)){throw new Error(_0xd4c9('0x1a')+_0x18bd1d['phone']+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20Campaign\x20'+_0xb539b2['id']);}return _0x4fe02f[_0xd4c9('0x24')][_0xd4c9('0x18')]({'where':{'calleridnum':_0x18bd1d[_0xd4c9('0xd')],'CampaignId':_0xb539b2['id']}});})['then'](function(_0x24e3eb){if(!_[_0xd4c9('0x25')](_0x24e3eb)){throw new Error(_0xd4c9('0x26')+_0x18bd1d[_0xd4c9('0xd')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20Campaign\x20'+_0xb539b2['id']);}return _0x4fe02f[_0xd4c9('0x17')]['create']({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d[_0xd4c9('0x1d')]:0x2,'scheduledat':_0x18bd1d[_0xd4c9('0x1e')]?_0x18bd1d[_0xd4c9('0x1e')]:moment()['format'](_0xd4c9('0x20')),'callback':_0x18bd1d[_0xd4c9('0x21')]?!![]:![],'callbackuniqueid':_0x18bd1d['callbackUniqueid']?_0x18bd1d['callbackUniqueid']:undefined,'callbackat':_0x18bd1d[_0xd4c9('0x21')]?moment()[_0xd4c9('0x1f')](_0xd4c9('0x20')):undefined,'CampaignId':_0xb539b2['id']});})[_0xd4c9('0x22')](function(_0x298f97){_0x1f00c5(_0x298f97);});});};if(_0x18bd1d[_0xd4c9('0x1c')]){_0x4fe02f[_0xd4c9('0x29')][_0xd4c9('0x2a')]({'where':{'type':_0xd4c9('0x2b')},'attributes':['id',_0xd4c9('0x2c')],'include':[{'model':_0x4fe02f[_0xd4c9('0x2d')],'as':_0xd4c9('0x2e'),'where':{'id':_0x18bd1d[_0xd4c9('0x1c')]}}]})['then'](function(_0x411984){if(_0x411984){var _0x45dbd3=[];for(var _0x16846c=0x0,_0x17c25b;_0x16846c<_0x411984['length'];_0x16846c+=0x1){_0x17c25b=_0x411984[_0x16846c][_0xd4c9('0x12')]({'plain':!![]});switch(_0x17c25b['dialCheckDuplicateType']){case _0xd4c9('0x2f'):_0x382c86(_0x17c25b)[_0xd4c9('0x22')](_0x576c3a());break;case _0xd4c9('0x30'):_0x7027a4(_0x17c25b)['catch'](_0x576c3a());break;default:_0x4fe02f['CmHopper']['create']({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'scheduledat':_0x18bd1d[_0xd4c9('0x1e')]?_0x18bd1d[_0xd4c9('0x1e')]:moment()['format'](_0xd4c9('0x20')),'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d[_0xd4c9('0x1d')]:0x2,'callback':_0x18bd1d['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x18bd1d['callbackUniqueid']?_0x18bd1d[_0xd4c9('0x21')]:undefined,'callbackat':_0x18bd1d[_0xd4c9('0x21')]?moment()['format'](_0xd4c9('0x20')):undefined,'VoiceQueueId':_0x17c25b['id']})['catch'](_0x576c3a());}}}})[_0xd4c9('0x19')](function(){return _0x4fe02f[_0xd4c9('0x29')][_0xd4c9('0x2a')]({'where':{'type':_0xd4c9('0x2b')},'attributes':['id'],'include':[{'model':_0x4fe02f['CmList'],'as':_0xd4c9('0x31'),'where':{'id':_0x18bd1d[_0xd4c9('0x1c')]}}]})[_0xd4c9('0x19')](function(_0x1815d4){if(_0x1815d4){var _0x610974=[];for(var _0x54aefe=0x0,_0x23855a;_0x54aefe<_0x1815d4[_0xd4c9('0x32')];_0x54aefe+=0x1){_0x23855a=_0x1815d4[_0x54aefe]['get']({'plain':!![]});_0x4fe02f[_0xd4c9('0x33')]['create']({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'VoiceQueueId':_0x23855a['id']})[_0xd4c9('0x22')](function(_0x294c58){logger[_0xd4c9('0x13')](_0xd4c9('0x34'),_0xd4c9('0x15'),_0x294c58[_0xd4c9('0x35')]);});}}});})[_0xd4c9('0x19')](function(){return _0x4fe02f[_0xd4c9('0x36')][_0xd4c9('0x2a')]({'attributes':['id',_0xd4c9('0x2c')],'include':[{'model':_0x4fe02f[_0xd4c9('0x2d')],'as':'Lists','where':{'id':_0x18bd1d[_0xd4c9('0x1c')]}}]})[_0xd4c9('0x19')](function(_0x46d26b){if(_0x46d26b){var _0x47b589=[];for(var _0x296691=0x0,_0x340638;_0x296691<_0x46d26b[_0xd4c9('0x32')];_0x296691+=0x1){_0x340638=_0x46d26b[_0x296691][_0xd4c9('0x12')]({'plain':!![]});switch(_0x340638[_0xd4c9('0x2c')]){case _0xd4c9('0x2f'):_0x1b727a(_0x340638)[_0xd4c9('0x22')](_0x373507());break;case'onlyIfOpen':_0x349cc5(_0x340638)[_0xd4c9('0x22')](_0x373507());break;default:_0x4fe02f[_0xd4c9('0x17')][_0xd4c9('0x1b')]({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'scheduledat':_0x18bd1d['scheduledat']?_0x18bd1d[_0xd4c9('0x1e')]:moment()[_0xd4c9('0x1f')]('YYYY-MM-DD\x20HH:mm:ss'),'priority':_0x18bd1d[_0xd4c9('0x1d')]?_0x18bd1d[_0xd4c9('0x1d')]:0x2,'callback':_0x18bd1d[_0xd4c9('0x21')]?!![]:![],'callbackuniqueid':_0x18bd1d['callbackUniqueid']?_0x18bd1d['callbackUniqueid']:undefined,'callbackat':_0x18bd1d[_0xd4c9('0x21')]?moment()['format'](_0xd4c9('0x20')):undefined,'CampaignId':_0x340638['id']})[_0xd4c9('0x22')](_0x373507());}}}});})[_0xd4c9('0x19')](function(){return _0x4fe02f[_0xd4c9('0x36')]['findAll']({'attributes':['id'],'include':[{'model':_0x4fe02f[_0xd4c9('0x2d')],'as':_0xd4c9('0x31'),'where':{'id':_0x18bd1d[_0xd4c9('0x1c')]}}]})[_0xd4c9('0x19')](function(_0x76ed18){if(_0x76ed18){var _0x20e42f=[];for(var _0x1699b1=0x0,_0x2525eb;_0x1699b1<_0x76ed18['length'];_0x1699b1+=0x1){_0x2525eb=_0x76ed18[_0x1699b1][_0xd4c9('0x12')]({'plain':!![]});_0x4fe02f[_0xd4c9('0x33')][_0xd4c9('0x1b')]({'phone':_0x18bd1d[_0xd4c9('0xd')],'ContactId':_0x18bd1d['id'],'ListId':_0x18bd1d[_0xd4c9('0x1c')],'CampaignId':_0x2525eb['id']})[_0xd4c9('0x22')](function(_0x386df3){logger[_0xd4c9('0x13')](_0xd4c9('0x34'),_0xd4c9('0x15'),_0x386df3['message']);});}}});})[_0xd4c9('0x19')](function(){_0x37e77d();})[_0xd4c9('0x22')](function(_0x33bcdd){logger[_0xd4c9('0x13')](_0xd4c9('0x34'),_0xd4c9('0x15'),_0x33bcdd[_0xd4c9('0x35')]);_0x37e77d(_0x33bcdd);});}else{_0x37e77d(new Error('List\x20not\x20found'));}},'afterDestroy':function(_0x2bcc38,_0x54548a,_0x2f0ff9){var _0x548a6b=_0x2c81cb[_0xd4c9('0x11')];var _0xa88a9a=_0x2bcc38[_0xd4c9('0x12')]({'plain':!![]});return _0x548a6b['CmHopper']['findAll']({'raw':!![],'where':{'ListId':_0xa88a9a[_0xd4c9('0x1c')],'ContactId':_0xa88a9a['id']}})[_0xd4c9('0x19')](function(_0x4d9478){if(!_['isEmpty'](_0x4d9478)){var _0x4f4053=[];for(var _0x10588c=0x0;_0x10588c<_0x4d9478[_0xd4c9('0x32')];_0x10588c+=0x1){var _0x233e74=_0x548a6b[_0xd4c9('0x17')]['destroy']({'where':{'ListId':_0x4d9478[_0x10588c]['ListId'],'ContactId':_0x4d9478[_0x10588c][_0xd4c9('0x37')],'VoiceQueueId':_0x4d9478[_0x10588c][_0xd4c9('0x38')],'CampaignId':_0x4d9478[_0x10588c][_0xd4c9('0x39')]}});_0x4f4053[_0xd4c9('0x3a')](_0x233e74);}return BPromise[_0xd4c9('0x3b')](_0x4f4053);}})[_0xd4c9('0x19')](function(_0x1fd53e){logger[_0xd4c9('0x3c')](_0xd4c9('0x3d'),util[_0xd4c9('0x16')](_0x1fd53e,{'showHidden':![],'depth':null}));_0x2f0ff9();})[_0xd4c9('0x22')](function(_0xd5d3e8){logger[_0xd4c9('0x13')](_0xd4c9('0x3e'),util[_0xd4c9('0x16')](_0xd5d3e8,{'showHidden':![],'depth':null}));_0x2f0ff9(_0xd5d3e8);});}}});};