Built motion from commit (unavailable).|2.5.31
[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 _0xcf71=['FULLTEXT','models','get','cmContact','afterCreate','CmHopper','findOne','phone','then','isNil','cmContact,\x20afterCreate\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20VoiceQueue\x20','create','ListId','priority','scheduledat','YYYY-MM-DD\x20HH:mm:ss','callbackUniqueid','format','catch','CmHopperFinal','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20VoiceQueue\x20','error','inspect','\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','findAll','outbound','dialCheckDuplicateType','CmList','Lists','length','always','onlyIfOpen','VoiceQueue','BlackLists','CmHopperBlack','cmContact,\x20%s,\x20%s','message','Campaign','List\x20not\x20found','isEmpty','destroy','ContactId','CampaignId','all','info','[CmContact][afterDestroy][Succesfull]','[CmContact][afterDestroy][Error]','lodash','util','../../config/logger','api','bluebird','request-promise','path','rimraf','../../config/environment','./cmContact.attributes','exports','define','CmContact','cm_contacts','fti_cm_contacts','firstName','lastName','mobile'];(function(_0x3ad34c,_0x263aa0){var _0x36d957=function(_0x38609d){while(--_0x38609d){_0x3ad34c['push'](_0x3ad34c['shift']());}};_0x36d957(++_0x263aa0);}(_0xcf71,0xba));var _0x1cf7=function(_0x1da72c,_0x15d2e9){_0x1da72c=_0x1da72c-0x0;var _0x58d9e7=_0xcf71[_0x1da72c];return _0x58d9e7;};'use strict';var _=require(_0x1cf7('0x0'));var util=require(_0x1cf7('0x1'));var logger=require(_0x1cf7('0x2'))(_0x1cf7('0x3'));var moment=require('moment');var BPromise=require(_0x1cf7('0x4'));var rp=require(_0x1cf7('0x5'));var fs=require('fs');var path=require(_0x1cf7('0x6'));var rimraf=require(_0x1cf7('0x7'));var config=require(_0x1cf7('0x8'));var attributes=require(_0x1cf7('0x9'));module[_0x1cf7('0xa')]=function(_0x20e097,_0x314796){return _0x20e097[_0x1cf7('0xb')](_0x1cf7('0xc'),attributes,{'tableName':_0x1cf7('0xd'),'paranoid':!![],'indexes':[{'name':'phone','fields':['phone']},{'name':_0x1cf7('0xe'),'fields':[_0x1cf7('0xf'),_0x1cf7('0x10'),'phone',_0x1cf7('0x11'),'fax','email'],'type':_0x1cf7('0x12')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x7f60f,_0x41ddc8,_0x1ca840){var _0x119906=_0x20e097[_0x1cf7('0x13')];var _0x5d0d31=_0x7f60f[_0x1cf7('0x14')]({'plain':!![]});function _0x58c99f(){return function(_0x1ad008){logger['error'](_0x1cf7('0x15'),_0x1cf7('0x16'),util['inspect'](_0x1ad008,{'showHidden':![],'depth':null}));};}var _0x33d5b2=function(_0x328d2c){return new BPromise(function(_0x317d9e,_0x23c951){_0x119906[_0x1cf7('0x17')][_0x1cf7('0x18')]({'where':{'phone':_0x5d0d31[_0x1cf7('0x19')],'VoiceQueueId':_0x328d2c['id']}})[_0x1cf7('0x1a')](function(_0x17cec6){if(!_[_0x1cf7('0x1b')](_0x17cec6)){throw new Error(_0x1cf7('0x1c')+_0x5d0d31[_0x1cf7('0x19')]+_0x1cf7('0x1d')+_0x328d2c['id']);}return _0x119906['CmHopper'][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'priority':_0x5d0d31['priority']?_0x5d0d31[_0x1cf7('0x20')]:0x2,'scheduledat':_0x5d0d31[_0x1cf7('0x21')]?_0x5d0d31[_0x1cf7('0x21')]:moment()['format'](_0x1cf7('0x22')),'callback':_0x5d0d31[_0x1cf7('0x23')]?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31[_0x1cf7('0x23')]:undefined,'callbackat':_0x5d0d31[_0x1cf7('0x23')]?moment()[_0x1cf7('0x24')](_0x1cf7('0x22')):undefined,'VoiceQueueId':_0x328d2c['id']});})[_0x1cf7('0x25')](function(_0xa12f8a){_0x23c951(_0xa12f8a);});});};var _0x256151=function(_0x4ec792){return new BPromise(function(_0x345997,_0x19e022){_0x119906[_0x1cf7('0x17')][_0x1cf7('0x18')]({'where':{'phone':_0x5d0d31[_0x1cf7('0x19')],'VoiceQueueId':_0x4ec792['id']}})[_0x1cf7('0x1a')](function(_0x31b4e9){if(!_[_0x1cf7('0x1b')](_0x31b4e9)){throw new Error('cmContact,\x20afterCreate\x20'+_0x5d0d31['phone']+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20VoiceQueue\x20'+_0x4ec792['id']);}return _0x119906[_0x1cf7('0x26')]['findOne']({'where':{'calleridnum':_0x5d0d31[_0x1cf7('0x19')],'VoiceQueueId':_0x4ec792['id']}});})[_0x1cf7('0x1a')](function(_0x3db370){if(!_[_0x1cf7('0x1b')](_0x3db370)){throw new Error('cmContact,\x20afterCreate,\x20'+_0x5d0d31['phone']+_0x1cf7('0x27')+_0x4ec792['id']);}return _0x119906[_0x1cf7('0x17')][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'priority':_0x5d0d31[_0x1cf7('0x20')]?_0x5d0d31[_0x1cf7('0x20')]:0x2,'scheduledat':_0x5d0d31[_0x1cf7('0x21')]?_0x5d0d31[_0x1cf7('0x21')]:moment()['format'](_0x1cf7('0x22')),'callback':_0x5d0d31[_0x1cf7('0x23')]?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31[_0x1cf7('0x23')]:undefined,'callbackat':_0x5d0d31[_0x1cf7('0x23')]?moment()[_0x1cf7('0x24')](_0x1cf7('0x22')):undefined,'VoiceQueueId':_0x4ec792['id']});})[_0x1cf7('0x25')](function(_0x5754e8){_0x19e022(_0x5754e8);});});};function _0x47f088(){return function(_0x17608f){logger[_0x1cf7('0x28')](_0x1cf7('0x15'),_0x1cf7('0x16'),util[_0x1cf7('0x29')](_0x17608f,{'showHidden':![],'depth':null}));};}var _0x5605f2=function(_0x3519e0){return new BPromise(function(_0x5d33b1,_0x38add7){_0x119906[_0x1cf7('0x17')]['findOne']({'where':{'phone':_0x5d0d31[_0x1cf7('0x19')],'CampaignId':_0x3519e0['id']}})[_0x1cf7('0x1a')](function(_0x29a731){if(!_[_0x1cf7('0x1b')](_0x29a731)){throw new Error(_0x1cf7('0x1c')+_0x5d0d31[_0x1cf7('0x19')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20Campaign\x20'+_0x3519e0['id']);}return _0x119906[_0x1cf7('0x17')]['create']({'phone':_0x5d0d31['phone'],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'priority':_0x5d0d31[_0x1cf7('0x20')]?_0x5d0d31[_0x1cf7('0x20')]:0x2,'scheduledat':_0x5d0d31[_0x1cf7('0x21')]?_0x5d0d31[_0x1cf7('0x21')]:moment()[_0x1cf7('0x24')]('YYYY-MM-DD\x20HH:mm:ss'),'callback':_0x5d0d31['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31[_0x1cf7('0x23')]:undefined,'callbackat':_0x5d0d31[_0x1cf7('0x23')]?moment()[_0x1cf7('0x24')](_0x1cf7('0x22')):undefined,'CampaignId':_0x3519e0['id']});})[_0x1cf7('0x25')](function(_0x4536d8){_0x38add7(_0x4536d8);});});};var _0xb39bbf=function(_0x2dbbaf){return new BPromise(function(_0x4212c1,_0x5afa86){_0x119906[_0x1cf7('0x17')]['findOne']({'where':{'phone':_0x5d0d31[_0x1cf7('0x19')],'CampaignId':_0x2dbbaf['id']}})[_0x1cf7('0x1a')](function(_0x56947d){if(!_['isNil'](_0x56947d)){throw new Error('cmContact,\x20afterCreate\x20'+_0x5d0d31['phone']+_0x1cf7('0x2a')+_0x2dbbaf['id']);}return _0x119906[_0x1cf7('0x26')][_0x1cf7('0x18')]({'where':{'calleridnum':_0x5d0d31[_0x1cf7('0x19')],'CampaignId':_0x2dbbaf['id']}});})[_0x1cf7('0x1a')](function(_0x7e723e){if(!_[_0x1cf7('0x1b')](_0x7e723e)){throw new Error(_0x1cf7('0x2b')+_0x5d0d31['phone']+_0x1cf7('0x2c')+_0x2dbbaf['id']);}return _0x119906[_0x1cf7('0x17')][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'priority':_0x5d0d31[_0x1cf7('0x20')]?_0x5d0d31[_0x1cf7('0x20')]:0x2,'scheduledat':_0x5d0d31[_0x1cf7('0x21')]?_0x5d0d31[_0x1cf7('0x21')]:moment()[_0x1cf7('0x24')](_0x1cf7('0x22')),'callback':_0x5d0d31[_0x1cf7('0x23')]?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31['callbackUniqueid']:undefined,'callbackat':_0x5d0d31[_0x1cf7('0x23')]?moment()[_0x1cf7('0x24')](_0x1cf7('0x22')):undefined,'CampaignId':_0x2dbbaf['id']});})[_0x1cf7('0x25')](function(_0x5aa0a3){_0x5afa86(_0x5aa0a3);});});};if(_0x5d0d31[_0x1cf7('0x1f')]){_0x119906['VoiceQueue'][_0x1cf7('0x2d')]({'where':{'type':_0x1cf7('0x2e')},'attributes':['id',_0x1cf7('0x2f')],'include':[{'model':_0x119906[_0x1cf7('0x30')],'as':_0x1cf7('0x31'),'where':{'id':_0x5d0d31[_0x1cf7('0x1f')]}}]})[_0x1cf7('0x1a')](function(_0x3a6560){if(_0x3a6560){var _0x4e701f=[];for(var _0x1fd046=0x0,_0x260f21;_0x1fd046<_0x3a6560[_0x1cf7('0x32')];_0x1fd046+=0x1){_0x260f21=_0x3a6560[_0x1fd046][_0x1cf7('0x14')]({'plain':!![]});switch(_0x260f21[_0x1cf7('0x2f')]){case _0x1cf7('0x33'):_0x256151(_0x260f21)[_0x1cf7('0x25')](_0x58c99f());break;case _0x1cf7('0x34'):_0x33d5b2(_0x260f21)[_0x1cf7('0x25')](_0x58c99f());break;default:_0x119906['CmHopper'][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'scheduledat':_0x5d0d31['scheduledat']?_0x5d0d31[_0x1cf7('0x21')]:moment()[_0x1cf7('0x24')](_0x1cf7('0x22')),'priority':_0x5d0d31[_0x1cf7('0x20')]?_0x5d0d31[_0x1cf7('0x20')]:0x2,'callback':_0x5d0d31[_0x1cf7('0x23')]?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31[_0x1cf7('0x23')]:undefined,'callbackat':_0x5d0d31['callbackUniqueid']?moment()[_0x1cf7('0x24')](_0x1cf7('0x22')):undefined,'VoiceQueueId':_0x260f21['id']})[_0x1cf7('0x25')](_0x58c99f());}}}})[_0x1cf7('0x1a')](function(){return _0x119906[_0x1cf7('0x35')][_0x1cf7('0x2d')]({'where':{'type':_0x1cf7('0x2e')},'attributes':['id'],'include':[{'model':_0x119906[_0x1cf7('0x30')],'as':_0x1cf7('0x36'),'where':{'id':_0x5d0d31['ListId']}}]})[_0x1cf7('0x1a')](function(_0x229c9f){if(_0x229c9f){var _0x500ab6=[];for(var _0x4315a4=0x0,_0x2087fe;_0x4315a4<_0x229c9f[_0x1cf7('0x32')];_0x4315a4+=0x1){_0x2087fe=_0x229c9f[_0x4315a4][_0x1cf7('0x14')]({'plain':!![]});_0x119906[_0x1cf7('0x37')][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31[_0x1cf7('0x1f')],'VoiceQueueId':_0x2087fe['id']})['catch'](function(_0x4c291c){logger[_0x1cf7('0x28')](_0x1cf7('0x38'),_0x1cf7('0x16'),_0x4c291c[_0x1cf7('0x39')]);});}}});})[_0x1cf7('0x1a')](function(){return _0x119906[_0x1cf7('0x3a')][_0x1cf7('0x2d')]({'attributes':['id',_0x1cf7('0x2f')],'include':[{'model':_0x119906[_0x1cf7('0x30')],'as':_0x1cf7('0x31'),'where':{'id':_0x5d0d31[_0x1cf7('0x1f')]}}]})[_0x1cf7('0x1a')](function(_0x143ade){if(_0x143ade){var _0x216604=[];for(var _0x5de525=0x0,_0x4593f7;_0x5de525<_0x143ade[_0x1cf7('0x32')];_0x5de525+=0x1){_0x4593f7=_0x143ade[_0x5de525]['get']({'plain':!![]});switch(_0x4593f7[_0x1cf7('0x2f')]){case _0x1cf7('0x33'):_0xb39bbf(_0x4593f7)[_0x1cf7('0x25')](_0x47f088());break;case _0x1cf7('0x34'):_0x5605f2(_0x4593f7)['catch'](_0x47f088());break;default:_0x119906[_0x1cf7('0x17')][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31['ListId'],'scheduledat':_0x5d0d31['scheduledat']?_0x5d0d31[_0x1cf7('0x21')]:moment()[_0x1cf7('0x24')](_0x1cf7('0x22')),'priority':_0x5d0d31[_0x1cf7('0x20')]?_0x5d0d31[_0x1cf7('0x20')]:0x2,'callback':_0x5d0d31[_0x1cf7('0x23')]?!![]:![],'callbackuniqueid':_0x5d0d31[_0x1cf7('0x23')]?_0x5d0d31['callbackUniqueid']:undefined,'callbackat':_0x5d0d31[_0x1cf7('0x23')]?moment()['format'](_0x1cf7('0x22')):undefined,'CampaignId':_0x4593f7['id']})[_0x1cf7('0x25')](_0x47f088());}}}});})['then'](function(){return _0x119906[_0x1cf7('0x3a')][_0x1cf7('0x2d')]({'attributes':['id'],'include':[{'model':_0x119906[_0x1cf7('0x30')],'as':_0x1cf7('0x36'),'where':{'id':_0x5d0d31['ListId']}}]})[_0x1cf7('0x1a')](function(_0x1d4ae1){if(_0x1d4ae1){var _0x440ca1=[];for(var _0x404061=0x0,_0x4c515e;_0x404061<_0x1d4ae1[_0x1cf7('0x32')];_0x404061+=0x1){_0x4c515e=_0x1d4ae1[_0x404061][_0x1cf7('0x14')]({'plain':!![]});_0x119906[_0x1cf7('0x37')][_0x1cf7('0x1e')]({'phone':_0x5d0d31[_0x1cf7('0x19')],'ContactId':_0x5d0d31['id'],'ListId':_0x5d0d31['ListId'],'CampaignId':_0x4c515e['id']})[_0x1cf7('0x25')](function(_0x43f84c){logger['error']('cmContact,\x20%s,\x20%s',_0x1cf7('0x16'),_0x43f84c['message']);});}}});})[_0x1cf7('0x1a')](function(){_0x1ca840();})[_0x1cf7('0x25')](function(_0x11a844){logger[_0x1cf7('0x28')]('cmContact,\x20%s,\x20%s',_0x1cf7('0x16'),_0x11a844[_0x1cf7('0x39')]);_0x1ca840(_0x11a844);});}else{_0x1ca840(new Error(_0x1cf7('0x3b')));}},'afterDestroy':function(_0x28d7b9,_0x2aae07,_0x2b76f5){var _0x210abb=_0x20e097[_0x1cf7('0x13')];var _0x3312f7=_0x28d7b9[_0x1cf7('0x14')]({'plain':!![]});return _0x210abb['CmHopper']['findAll']({'raw':!![],'where':{'ListId':_0x3312f7['ListId'],'ContactId':_0x3312f7['id']}})[_0x1cf7('0x1a')](function(_0x35b041){if(!_[_0x1cf7('0x3c')](_0x35b041)){var _0x2fbeff=[];for(var _0x21d157=0x0;_0x21d157<_0x35b041[_0x1cf7('0x32')];_0x21d157+=0x1){var _0x336321=_0x210abb[_0x1cf7('0x17')][_0x1cf7('0x3d')]({'where':{'ListId':_0x35b041[_0x21d157]['ListId'],'ContactId':_0x35b041[_0x21d157][_0x1cf7('0x3e')],'VoiceQueueId':_0x35b041[_0x21d157]['VoiceQueueId'],'CampaignId':_0x35b041[_0x21d157][_0x1cf7('0x3f')]}});_0x2fbeff['push'](_0x336321);}return BPromise[_0x1cf7('0x40')](_0x2fbeff);}})[_0x1cf7('0x1a')](function(_0x593563){logger[_0x1cf7('0x41')](_0x1cf7('0x42'),util['inspect'](_0x593563,{'showHidden':![],'depth':null}));_0x2b76f5();})[_0x1cf7('0x25')](function(_0x4f169f){logger[_0x1cf7('0x28')](_0x1cf7('0x43'),util[_0x1cf7('0x29')](_0x4f169f,{'showHidden':![],'depth':null}));_0x2b76f5(_0x4f169f);});}}});};