Built motion from commit (unavailable).|2.5.15
[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 _0x8f25=['[CmContact][afterDestroy][Error]','lodash','util','../../config/logger','api','moment','bluebird','../../config/environment','./cmContact.attributes','exports','define','CmContact','cm_contacts','phone','fti_cm_contacts','firstName','mobile','fax','email','FULLTEXT','get','error','afterCreate','inspect','CmHopper','findOne','then','isNil','create','scheduledat','format','YYYY-MM-DD\x20HH:mm:ss','callbackUniqueid','catch','cmContact,\x20afterCreate\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20VoiceQueue\x20','CmHopperFinal','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20VoiceQueue\x20','ListId','priority','cmContact','\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','cmContact,\x20afterCreate,\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20Campaign\x20','VoiceQueue','findAll','outbound','CmList','dialCheckDuplicateType','always','onlyIfOpen','length','CmHopperBlack','cmContact,\x20%s,\x20%s','message','Campaign','Lists','BlackLists','List\x20not\x20found','models','VoiceQueueId','push','all','info','[CmContact][afterDestroy][Succesfull]'];(function(_0x1a3cc7,_0x2900e3){var _0x338438=function(_0x5a4872){while(--_0x5a4872){_0x1a3cc7['push'](_0x1a3cc7['shift']());}};_0x338438(++_0x2900e3);}(_0x8f25,0x14b));var _0x58f2=function(_0xbb091,_0x3fe7ee){_0xbb091=_0xbb091-0x0;var _0x467a04=_0x8f25[_0xbb091];return _0x467a04;};'use strict';var _=require(_0x58f2('0x0'));var util=require(_0x58f2('0x1'));var logger=require(_0x58f2('0x2'))(_0x58f2('0x3'));var moment=require(_0x58f2('0x4'));var BPromise=require(_0x58f2('0x5'));var rp=require('request-promise');var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0x58f2('0x6'));var attributes=require(_0x58f2('0x7'));module[_0x58f2('0x8')]=function(_0x486395,_0x415a68){return _0x486395[_0x58f2('0x9')](_0x58f2('0xa'),attributes,{'tableName':_0x58f2('0xb'),'paranoid':!![],'indexes':[{'name':_0x58f2('0xc'),'fields':[_0x58f2('0xc')]},{'name':_0x58f2('0xd'),'fields':[_0x58f2('0xe'),'lastName',_0x58f2('0xc'),_0x58f2('0xf'),_0x58f2('0x10'),_0x58f2('0x11')],'type':_0x58f2('0x12')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x5ab291,_0x326fed,_0x17c411){var _0xd9007=_0x486395['models'];var _0x2023e9=_0x5ab291[_0x58f2('0x13')]({'plain':!![]});function _0x485588(){return function(_0x33bfa0){logger[_0x58f2('0x14')]('cmContact',_0x58f2('0x15'),util[_0x58f2('0x16')](_0x33bfa0,{'showHidden':![],'depth':null}));};}var _0x3fa792=function(_0x250c1c){return new BPromise(function(_0x879d54,_0x1dc4ac){_0xd9007[_0x58f2('0x17')][_0x58f2('0x18')]({'where':{'phone':_0x2023e9[_0x58f2('0xc')],'VoiceQueueId':_0x250c1c['id']}})[_0x58f2('0x19')](function(_0x256f1f){if(!_[_0x58f2('0x1a')](_0x256f1f)){throw new Error('cmContact,\x20afterCreate\x20'+_0x2023e9[_0x58f2('0xc')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20VoiceQueue\x20'+_0x250c1c['id']);}return _0xd9007[_0x58f2('0x17')][_0x58f2('0x1b')]({'phone':_0x2023e9['phone'],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9['ListId'],'priority':_0x2023e9['priority']?_0x2023e9['priority']:0x2,'scheduledat':_0x2023e9[_0x58f2('0x1c')]?_0x2023e9[_0x58f2('0x1c')]:moment()[_0x58f2('0x1d')](_0x58f2('0x1e')),'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9['callbackUniqueid']:undefined,'callbackat':_0x2023e9[_0x58f2('0x1f')]?moment()[_0x58f2('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'VoiceQueueId':_0x250c1c['id']});})[_0x58f2('0x20')](function(_0x31dc4c){_0x1dc4ac(_0x31dc4c);});});};var _0x495774=function(_0xd52fe0){return new BPromise(function(_0xdee848,_0x38e0b8){_0xd9007[_0x58f2('0x17')][_0x58f2('0x18')]({'where':{'phone':_0x2023e9[_0x58f2('0xc')],'VoiceQueueId':_0xd52fe0['id']}})[_0x58f2('0x19')](function(_0x29d70b){if(!_[_0x58f2('0x1a')](_0x29d70b)){throw new Error(_0x58f2('0x21')+_0x2023e9[_0x58f2('0xc')]+_0x58f2('0x22')+_0xd52fe0['id']);}return _0xd9007[_0x58f2('0x23')][_0x58f2('0x18')]({'where':{'calleridnum':_0x2023e9[_0x58f2('0xc')],'VoiceQueueId':_0xd52fe0['id']}});})[_0x58f2('0x19')](function(_0x4e5b57){if(!_[_0x58f2('0x1a')](_0x4e5b57)){throw new Error('cmContact,\x20afterCreate,\x20'+_0x2023e9[_0x58f2('0xc')]+_0x58f2('0x24')+_0xd52fe0['id']);}return _0xd9007[_0x58f2('0x17')][_0x58f2('0x1b')]({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'priority':_0x2023e9[_0x58f2('0x26')]?_0x2023e9['priority']:0x2,'scheduledat':_0x2023e9[_0x58f2('0x1c')]?_0x2023e9[_0x58f2('0x1c')]:moment()['format'](_0x58f2('0x1e')),'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9[_0x58f2('0x1f')]:undefined,'callbackat':_0x2023e9['callbackUniqueid']?moment()[_0x58f2('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'VoiceQueueId':_0xd52fe0['id']});})[_0x58f2('0x20')](function(_0x128af8){_0x38e0b8(_0x128af8);});});};function _0x8f339d(){return function(_0x3441a7){logger[_0x58f2('0x14')](_0x58f2('0x27'),'afterCreate',util[_0x58f2('0x16')](_0x3441a7,{'showHidden':![],'depth':null}));};}var _0xbbd6bd=function(_0xbd6303){return new BPromise(function(_0x49a22b,_0x2412ed){_0xd9007[_0x58f2('0x17')]['findOne']({'where':{'phone':_0x2023e9[_0x58f2('0xc')],'CampaignId':_0xbd6303['id']}})[_0x58f2('0x19')](function(_0x3ef114){if(!_[_0x58f2('0x1a')](_0x3ef114)){throw new Error(_0x58f2('0x21')+_0x2023e9['phone']+_0x58f2('0x28')+_0xbd6303['id']);}return _0xd9007[_0x58f2('0x17')][_0x58f2('0x1b')]({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'priority':_0x2023e9[_0x58f2('0x26')]?_0x2023e9[_0x58f2('0x26')]:0x2,'scheduledat':_0x2023e9['scheduledat']?_0x2023e9['scheduledat']:moment()[_0x58f2('0x1d')](_0x58f2('0x1e')),'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9['callbackUniqueid']:undefined,'callbackat':_0x2023e9[_0x58f2('0x1f')]?moment()['format']('YYYY-MM-DD\x20HH:mm:ss'):undefined,'CampaignId':_0xbd6303['id']});})[_0x58f2('0x20')](function(_0x369f06){_0x2412ed(_0x369f06);});});};var _0x542573=function(_0xbbdd7){return new BPromise(function(_0x6a8f13,_0x189699){_0xd9007[_0x58f2('0x17')][_0x58f2('0x18')]({'where':{'phone':_0x2023e9[_0x58f2('0xc')],'CampaignId':_0xbbdd7['id']}})[_0x58f2('0x19')](function(_0x5aea9b){if(!_[_0x58f2('0x1a')](_0x5aea9b)){throw new Error('cmContact,\x20afterCreate\x20'+_0x2023e9[_0x58f2('0xc')]+_0x58f2('0x29')+_0xbbdd7['id']);}return _0xd9007[_0x58f2('0x23')][_0x58f2('0x18')]({'where':{'calleridnum':_0x2023e9['phone'],'CampaignId':_0xbbdd7['id']}});})[_0x58f2('0x19')](function(_0x4059b6){if(!_[_0x58f2('0x1a')](_0x4059b6)){throw new Error(_0x58f2('0x2a')+_0x2023e9[_0x58f2('0xc')]+_0x58f2('0x2b')+_0xbbdd7['id']);}return _0xd9007[_0x58f2('0x17')][_0x58f2('0x1b')]({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'priority':_0x2023e9['priority']?_0x2023e9['priority']:0x2,'scheduledat':_0x2023e9[_0x58f2('0x1c')]?_0x2023e9[_0x58f2('0x1c')]:moment()['format'](_0x58f2('0x1e')),'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9[_0x58f2('0x1f')]:undefined,'callbackat':_0x2023e9[_0x58f2('0x1f')]?moment()[_0x58f2('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'):undefined,'CampaignId':_0xbbdd7['id']});})[_0x58f2('0x20')](function(_0x2bc1f0){_0x189699(_0x2bc1f0);});});};if(_0x2023e9[_0x58f2('0x25')]){_0xd9007[_0x58f2('0x2c')][_0x58f2('0x2d')]({'where':{'type':_0x58f2('0x2e')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':_0xd9007[_0x58f2('0x2f')],'as':'Lists','where':{'id':_0x2023e9[_0x58f2('0x25')]}}]})['then'](function(_0x237b4e){if(_0x237b4e){var _0x16206b=[];for(var _0x105836=0x0,_0x35e711;_0x105836<_0x237b4e['length'];_0x105836+=0x1){_0x35e711=_0x237b4e[_0x105836]['get']({'plain':!![]});switch(_0x35e711[_0x58f2('0x30')]){case _0x58f2('0x31'):_0x495774(_0x35e711)[_0x58f2('0x20')](_0x485588());break;case _0x58f2('0x32'):_0x3fa792(_0x35e711)['catch'](_0x485588());break;default:_0xd9007['CmHopper'][_0x58f2('0x1b')]({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'scheduledat':_0x2023e9[_0x58f2('0x1c')]?_0x2023e9['scheduledat']:moment()[_0x58f2('0x1d')](_0x58f2('0x1e')),'priority':_0x2023e9[_0x58f2('0x26')]?_0x2023e9[_0x58f2('0x26')]:0x2,'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9[_0x58f2('0x1f')]:undefined,'callbackat':_0x2023e9[_0x58f2('0x1f')]?moment()['format'](_0x58f2('0x1e')):undefined,'VoiceQueueId':_0x35e711['id']})[_0x58f2('0x20')](_0x485588());}}}})[_0x58f2('0x19')](function(){return _0xd9007[_0x58f2('0x2c')][_0x58f2('0x2d')]({'where':{'type':_0x58f2('0x2e')},'attributes':['id'],'include':[{'model':_0xd9007[_0x58f2('0x2f')],'as':'BlackLists','where':{'id':_0x2023e9[_0x58f2('0x25')]}}]})[_0x58f2('0x19')](function(_0x1bd5a7){if(_0x1bd5a7){var _0x5b1ce1=[];for(var _0x1a07cc=0x0,_0x9a0ef9;_0x1a07cc<_0x1bd5a7[_0x58f2('0x33')];_0x1a07cc+=0x1){_0x9a0ef9=_0x1bd5a7[_0x1a07cc]['get']({'plain':!![]});_0xd9007[_0x58f2('0x34')][_0x58f2('0x1b')]({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'VoiceQueueId':_0x9a0ef9['id']})[_0x58f2('0x20')](function(_0x3c4151){logger['error'](_0x58f2('0x35'),_0x58f2('0x15'),_0x3c4151[_0x58f2('0x36')]);});}}});})[_0x58f2('0x19')](function(){return _0xd9007[_0x58f2('0x37')][_0x58f2('0x2d')]({'attributes':['id','dialCheckDuplicateType'],'include':[{'model':_0xd9007[_0x58f2('0x2f')],'as':_0x58f2('0x38'),'where':{'id':_0x2023e9[_0x58f2('0x25')]}}]})['then'](function(_0x316f19){if(_0x316f19){var _0x1663e4=[];for(var _0x4eb20f=0x0,_0x21f094;_0x4eb20f<_0x316f19[_0x58f2('0x33')];_0x4eb20f+=0x1){_0x21f094=_0x316f19[_0x4eb20f][_0x58f2('0x13')]({'plain':!![]});switch(_0x21f094[_0x58f2('0x30')]){case _0x58f2('0x31'):_0x542573(_0x21f094)[_0x58f2('0x20')](_0x8f339d());break;case _0x58f2('0x32'):_0xbbd6bd(_0x21f094)['catch'](_0x8f339d());break;default:_0xd9007['CmHopper'][_0x58f2('0x1b')]({'phone':_0x2023e9['phone'],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9[_0x58f2('0x25')],'scheduledat':_0x2023e9['scheduledat']?_0x2023e9[_0x58f2('0x1c')]:moment()[_0x58f2('0x1d')]('YYYY-MM-DD\x20HH:mm:ss'),'priority':_0x2023e9[_0x58f2('0x26')]?_0x2023e9['priority']:0x2,'callback':_0x2023e9[_0x58f2('0x1f')]?!![]:![],'callbackuniqueid':_0x2023e9[_0x58f2('0x1f')]?_0x2023e9[_0x58f2('0x1f')]:undefined,'callbackat':_0x2023e9[_0x58f2('0x1f')]?moment()[_0x58f2('0x1d')](_0x58f2('0x1e')):undefined,'CampaignId':_0x21f094['id']})[_0x58f2('0x20')](_0x8f339d());}}}});})[_0x58f2('0x19')](function(){return _0xd9007[_0x58f2('0x37')]['findAll']({'attributes':['id'],'include':[{'model':_0xd9007[_0x58f2('0x2f')],'as':_0x58f2('0x39'),'where':{'id':_0x2023e9['ListId']}}]})[_0x58f2('0x19')](function(_0x426890){if(_0x426890){var _0x371804=[];for(var _0x19366c=0x0,_0x500d39;_0x19366c<_0x426890[_0x58f2('0x33')];_0x19366c+=0x1){_0x500d39=_0x426890[_0x19366c][_0x58f2('0x13')]({'plain':!![]});_0xd9007['CmHopperBlack']['create']({'phone':_0x2023e9[_0x58f2('0xc')],'ContactId':_0x2023e9['id'],'ListId':_0x2023e9['ListId'],'CampaignId':_0x500d39['id']})[_0x58f2('0x20')](function(_0x2342d7){logger[_0x58f2('0x14')]('cmContact,\x20%s,\x20%s',_0x58f2('0x15'),_0x2342d7['message']);});}}});})['then'](function(){_0x17c411();})[_0x58f2('0x20')](function(_0x489872){logger[_0x58f2('0x14')](_0x58f2('0x35'),_0x58f2('0x15'),_0x489872['message']);_0x17c411(_0x489872);});}else{_0x17c411(new Error(_0x58f2('0x3a')));}},'afterDestroy':function(_0x129d47,_0x371ccb,_0x45f61d){var _0x560e62=_0x486395[_0x58f2('0x3b')];var _0x58d888=_0x129d47['get']({'plain':!![]});return _0x560e62[_0x58f2('0x17')]['findAll']({'raw':!![],'where':{'ListId':_0x58d888[_0x58f2('0x25')],'ContactId':_0x58d888['id']}})[_0x58f2('0x19')](function(_0x3a1418){if(!_['isEmpty'](_0x3a1418)){var _0x5f215a=[];for(var _0x4e6eee=0x0;_0x4e6eee<_0x3a1418[_0x58f2('0x33')];_0x4e6eee+=0x1){var _0x18d71d=_0x560e62[_0x58f2('0x17')]['destroy']({'where':{'ListId':_0x3a1418[_0x4e6eee][_0x58f2('0x25')],'ContactId':_0x3a1418[_0x4e6eee]['ContactId'],'VoiceQueueId':_0x3a1418[_0x4e6eee][_0x58f2('0x3c')],'CampaignId':_0x3a1418[_0x4e6eee]['CampaignId']}});_0x5f215a[_0x58f2('0x3d')](_0x18d71d);}return BPromise[_0x58f2('0x3e')](_0x5f215a);}})[_0x58f2('0x19')](function(_0x9b567f){logger[_0x58f2('0x3f')](_0x58f2('0x40'),util[_0x58f2('0x16')](_0x9b567f,{'showHidden':![],'depth':null}));_0x45f61d();})[_0x58f2('0x20')](function(_0x33f9bc){logger[_0x58f2('0x14')](_0x58f2('0x41'),util['inspect'](_0x33f9bc,{'showHidden':![],'depth':null}));_0x45f61d(_0x33f9bc);});}}});};