Built motion from commit (unavailable).|2.6.0
[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 _0xa6ce=['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','cmContact,\x20afterCreate,\x20','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20VoiceQueue\x20','cmContact','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20Campaign\x20','CmHopperFinal','\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopperFinal\x20Campaign\x20','findAll','outbound','dialCheckDuplicateType','CmList','Lists','length','always','onlyIfOpen','BlackLists','cmContact,\x20%s,\x20%s','message','Campaign','CmHopperBlack','List\x20not\x20found','ContactId','CampaignId','all','info','[CmContact][afterDestroy][Succesfull]','[CmContact][afterDestroy][Error]','lodash','../../config/logger','api','bluebird','request-promise','../../config/environment','./cmContact.attributes','exports','define','cm_contacts','phone','fti_cm_contacts','firstName','lastName','mobile','fax','email','FULLTEXT','models','get','error','afterCreate','inspect','findOne','then','isNil','cmContact,\x20afterCreate\x20','CmHopper'];(function(_0xca92b0,_0x3b5fb7){var _0x483a4e=function(_0x8fdc96){while(--_0x8fdc96){_0xca92b0['push'](_0xca92b0['shift']());}};_0x483a4e(++_0x3b5fb7);}(_0xa6ce,0x15e));var _0xea6c=function(_0x2085f3,_0x50105b){_0x2085f3=_0x2085f3-0x0;var _0x384e3c=_0xa6ce[_0x2085f3];return _0x384e3c;};'use strict';var _=require(_0xea6c('0x0'));var util=require('util');var logger=require(_0xea6c('0x1'))(_0xea6c('0x2'));var moment=require('moment');var BPromise=require(_0xea6c('0x3'));var rp=require(_0xea6c('0x4'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0xea6c('0x5'));var attributes=require(_0xea6c('0x6'));module[_0xea6c('0x7')]=function(_0x236ed9,_0x267f26){return _0x236ed9[_0xea6c('0x8')]('CmContact',attributes,{'tableName':_0xea6c('0x9'),'paranoid':!![],'indexes':[{'name':_0xea6c('0xa'),'fields':[_0xea6c('0xa')]},{'name':_0xea6c('0xb'),'fields':[_0xea6c('0xc'),_0xea6c('0xd'),_0xea6c('0xa'),_0xea6c('0xe'),_0xea6c('0xf'),_0xea6c('0x10')],'type':_0xea6c('0x11')}],'timestamps':!![],'hooks':{'afterCreate':function(_0xb1e8b5,_0xfc7a5e,_0x3c0992){var _0x55be99=_0x236ed9[_0xea6c('0x12')];var _0x1b28ac=_0xb1e8b5[_0xea6c('0x13')]({'plain':!![]});function _0x5a7dcd(){return function(_0x723b5b){logger[_0xea6c('0x14')]('cmContact',_0xea6c('0x15'),util[_0xea6c('0x16')](_0x723b5b,{'showHidden':![],'depth':null}));};}var _0x13fd94=function(_0xc5c82e){return new BPromise(function(_0xb6ecb1,_0x748e7){_0x55be99['CmHopper'][_0xea6c('0x17')]({'where':{'phone':_0x1b28ac['phone'],'VoiceQueueId':_0xc5c82e['id']}})[_0xea6c('0x18')](function(_0x6499ed){if(!_[_0xea6c('0x19')](_0x6499ed)){throw new Error(_0xea6c('0x1a')+_0x1b28ac[_0xea6c('0xa')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20onlyIfOpen,\x20exist\x20in\x20hopper\x20VoiceQueue\x20'+_0xc5c82e['id']);}return _0x55be99[_0xea6c('0x1b')][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac[_0xea6c('0x1d')],'priority':_0x1b28ac[_0xea6c('0x1e')]?_0x1b28ac[_0xea6c('0x1e')]:0x2,'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()[_0xea6c('0x20')](_0xea6c('0x21')),'callback':_0x1b28ac['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac['callbackUniqueid']:undefined,'callbackat':_0x1b28ac[_0xea6c('0x22')]?moment()['format'](_0xea6c('0x21')):undefined,'VoiceQueueId':_0xc5c82e['id']});})[_0xea6c('0x23')](function(_0x1d3eca){_0x748e7(_0x1d3eca);});});};var _0x539b63=function(_0x417cfa){return new BPromise(function(_0x371327,_0x499ea6){_0x55be99['CmHopper'][_0xea6c('0x17')]({'where':{'phone':_0x1b28ac['phone'],'VoiceQueueId':_0x417cfa['id']}})['then'](function(_0x270ce7){if(!_[_0xea6c('0x19')](_0x270ce7)){throw new Error(_0xea6c('0x1a')+_0x1b28ac[_0xea6c('0xa')]+_0xea6c('0x24')+_0x417cfa['id']);}return _0x55be99['CmHopperFinal'][_0xea6c('0x17')]({'where':{'calleridnum':_0x1b28ac['phone'],'VoiceQueueId':_0x417cfa['id']}});})['then'](function(_0x16e88d){if(!_['isNil'](_0x16e88d)){throw new Error(_0xea6c('0x25')+_0x1b28ac[_0xea6c('0xa')]+_0xea6c('0x26')+_0x417cfa['id']);}return _0x55be99[_0xea6c('0x1b')][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac[_0xea6c('0x1d')],'priority':_0x1b28ac[_0xea6c('0x1e')]?_0x1b28ac[_0xea6c('0x1e')]:0x2,'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()[_0xea6c('0x20')]('YYYY-MM-DD\x20HH:mm:ss'),'callback':_0x1b28ac[_0xea6c('0x22')]?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac['callbackUniqueid']:undefined,'callbackat':_0x1b28ac['callbackUniqueid']?moment()['format'](_0xea6c('0x21')):undefined,'VoiceQueueId':_0x417cfa['id']});})[_0xea6c('0x23')](function(_0xc6836){_0x499ea6(_0xc6836);});});};function _0xba97af(){return function(_0xedbff6){logger[_0xea6c('0x14')](_0xea6c('0x27'),_0xea6c('0x15'),util[_0xea6c('0x16')](_0xedbff6,{'showHidden':![],'depth':null}));};}var _0x484d5a=function(_0x458187){return new BPromise(function(_0xf7b677,_0x439013){_0x55be99[_0xea6c('0x1b')][_0xea6c('0x17')]({'where':{'phone':_0x1b28ac[_0xea6c('0xa')],'CampaignId':_0x458187['id']}})['then'](function(_0xc0c5b9){if(!_[_0xea6c('0x19')](_0xc0c5b9)){throw new Error('cmContact,\x20afterCreate\x20'+_0x1b28ac[_0xea6c('0xa')]+_0xea6c('0x28')+_0x458187['id']);}return _0x55be99[_0xea6c('0x1b')]['create']({'phone':_0x1b28ac['phone'],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac['ListId'],'priority':_0x1b28ac['priority']?_0x1b28ac['priority']:0x2,'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()[_0xea6c('0x20')](_0xea6c('0x21')),'callback':_0x1b28ac['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac[_0xea6c('0x22')]:undefined,'callbackat':_0x1b28ac[_0xea6c('0x22')]?moment()['format'](_0xea6c('0x21')):undefined,'CampaignId':_0x458187['id']});})[_0xea6c('0x23')](function(_0x4dcbc1){_0x439013(_0x4dcbc1);});});};var _0xb52f55=function(_0x23dd91){return new BPromise(function(_0x3033da,_0x261082){_0x55be99[_0xea6c('0x1b')][_0xea6c('0x17')]({'where':{'phone':_0x1b28ac[_0xea6c('0xa')],'CampaignId':_0x23dd91['id']}})[_0xea6c('0x18')](function(_0x404a74){if(!_[_0xea6c('0x19')](_0x404a74)){throw new Error(_0xea6c('0x1a')+_0x1b28ac[_0xea6c('0xa')]+'\x20contact\x20not\x20insert\x20in\x20hopper,\x20check\x20duplicate\x20always,\x20exist\x20in\x20hopper\x20Campaign\x20'+_0x23dd91['id']);}return _0x55be99[_0xea6c('0x29')]['findOne']({'where':{'calleridnum':_0x1b28ac[_0xea6c('0xa')],'CampaignId':_0x23dd91['id']}});})[_0xea6c('0x18')](function(_0x328934){if(!_[_0xea6c('0x19')](_0x328934)){throw new Error(_0xea6c('0x25')+_0x1b28ac['phone']+_0xea6c('0x2a')+_0x23dd91['id']);}return _0x55be99[_0xea6c('0x1b')][_0xea6c('0x1c')]({'phone':_0x1b28ac['phone'],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac['ListId'],'priority':_0x1b28ac[_0xea6c('0x1e')]?_0x1b28ac['priority']:0x2,'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()[_0xea6c('0x20')](_0xea6c('0x21')),'callback':_0x1b28ac['callbackUniqueid']?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac[_0xea6c('0x22')]:undefined,'callbackat':_0x1b28ac[_0xea6c('0x22')]?moment()['format'](_0xea6c('0x21')):undefined,'CampaignId':_0x23dd91['id']});})['catch'](function(_0x43c41a){_0x261082(_0x43c41a);});});};if(_0x1b28ac[_0xea6c('0x1d')]){_0x55be99['VoiceQueue'][_0xea6c('0x2b')]({'where':{'type':_0xea6c('0x2c')},'attributes':['id',_0xea6c('0x2d')],'include':[{'model':_0x55be99[_0xea6c('0x2e')],'as':_0xea6c('0x2f'),'where':{'id':_0x1b28ac[_0xea6c('0x1d')]}}]})['then'](function(_0x1e4f3b){if(_0x1e4f3b){var _0x33c878=[];for(var _0x3156a9=0x0,_0xd019b1;_0x3156a9<_0x1e4f3b[_0xea6c('0x30')];_0x3156a9+=0x1){_0xd019b1=_0x1e4f3b[_0x3156a9][_0xea6c('0x13')]({'plain':!![]});switch(_0xd019b1[_0xea6c('0x2d')]){case _0xea6c('0x31'):_0x539b63(_0xd019b1)[_0xea6c('0x23')](_0x5a7dcd());break;case _0xea6c('0x32'):_0x13fd94(_0xd019b1)[_0xea6c('0x23')](_0x5a7dcd());break;default:_0x55be99[_0xea6c('0x1b')][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac['ListId'],'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'priority':_0x1b28ac[_0xea6c('0x1e')]?_0x1b28ac[_0xea6c('0x1e')]:0x2,'callback':_0x1b28ac[_0xea6c('0x22')]?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac[_0xea6c('0x22')]:undefined,'callbackat':_0x1b28ac[_0xea6c('0x22')]?moment()[_0xea6c('0x20')](_0xea6c('0x21')):undefined,'VoiceQueueId':_0xd019b1['id']})[_0xea6c('0x23')](_0x5a7dcd());}}}})[_0xea6c('0x18')](function(){return _0x55be99['VoiceQueue']['findAll']({'where':{'type':_0xea6c('0x2c')},'attributes':['id'],'include':[{'model':_0x55be99[_0xea6c('0x2e')],'as':_0xea6c('0x33'),'where':{'id':_0x1b28ac['ListId']}}]})[_0xea6c('0x18')](function(_0x509def){if(_0x509def){var _0x31aaae=[];for(var _0x3cd47c=0x0,_0x42323e;_0x3cd47c<_0x509def['length'];_0x3cd47c+=0x1){_0x42323e=_0x509def[_0x3cd47c][_0xea6c('0x13')]({'plain':!![]});_0x55be99['CmHopperBlack'][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac[_0xea6c('0x1d')],'VoiceQueueId':_0x42323e['id']})[_0xea6c('0x23')](function(_0x3fa695){logger[_0xea6c('0x14')](_0xea6c('0x34'),_0xea6c('0x15'),_0x3fa695[_0xea6c('0x35')]);});}}});})[_0xea6c('0x18')](function(){return _0x55be99[_0xea6c('0x36')][_0xea6c('0x2b')]({'attributes':['id',_0xea6c('0x2d')],'include':[{'model':_0x55be99[_0xea6c('0x2e')],'as':_0xea6c('0x2f'),'where':{'id':_0x1b28ac[_0xea6c('0x1d')]}}]})[_0xea6c('0x18')](function(_0x1e37aa){if(_0x1e37aa){var _0x330e24=[];for(var _0x1a5260=0x0,_0x294424;_0x1a5260<_0x1e37aa['length'];_0x1a5260+=0x1){_0x294424=_0x1e37aa[_0x1a5260][_0xea6c('0x13')]({'plain':!![]});switch(_0x294424[_0xea6c('0x2d')]){case _0xea6c('0x31'):_0xb52f55(_0x294424)[_0xea6c('0x23')](_0xba97af());break;case _0xea6c('0x32'):_0x484d5a(_0x294424)[_0xea6c('0x23')](_0xba97af());break;default:_0x55be99['CmHopper'][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac[_0xea6c('0x1d')],'scheduledat':_0x1b28ac[_0xea6c('0x1f')]?_0x1b28ac[_0xea6c('0x1f')]:moment()[_0xea6c('0x20')]('YYYY-MM-DD\x20HH:mm:ss'),'priority':_0x1b28ac[_0xea6c('0x1e')]?_0x1b28ac['priority']:0x2,'callback':_0x1b28ac[_0xea6c('0x22')]?!![]:![],'callbackuniqueid':_0x1b28ac[_0xea6c('0x22')]?_0x1b28ac['callbackUniqueid']:undefined,'callbackat':_0x1b28ac[_0xea6c('0x22')]?moment()['format']('YYYY-MM-DD\x20HH:mm:ss'):undefined,'CampaignId':_0x294424['id']})[_0xea6c('0x23')](_0xba97af());}}}});})[_0xea6c('0x18')](function(){return _0x55be99[_0xea6c('0x36')][_0xea6c('0x2b')]({'attributes':['id'],'include':[{'model':_0x55be99[_0xea6c('0x2e')],'as':_0xea6c('0x33'),'where':{'id':_0x1b28ac[_0xea6c('0x1d')]}}]})[_0xea6c('0x18')](function(_0x535400){if(_0x535400){var _0x49835d=[];for(var _0x4bbda5=0x0,_0x18cd0d;_0x4bbda5<_0x535400[_0xea6c('0x30')];_0x4bbda5+=0x1){_0x18cd0d=_0x535400[_0x4bbda5][_0xea6c('0x13')]({'plain':!![]});_0x55be99[_0xea6c('0x37')][_0xea6c('0x1c')]({'phone':_0x1b28ac[_0xea6c('0xa')],'ContactId':_0x1b28ac['id'],'ListId':_0x1b28ac['ListId'],'CampaignId':_0x18cd0d['id']})[_0xea6c('0x23')](function(_0x13f150){logger[_0xea6c('0x14')](_0xea6c('0x34'),'afterCreate',_0x13f150[_0xea6c('0x35')]);});}}});})[_0xea6c('0x18')](function(){_0x3c0992();})['catch'](function(_0x5271c9){logger[_0xea6c('0x14')](_0xea6c('0x34'),_0xea6c('0x15'),_0x5271c9[_0xea6c('0x35')]);_0x3c0992(_0x5271c9);});}else{_0x3c0992(new Error(_0xea6c('0x38')));}},'afterDestroy':function(_0x46079e,_0x27b7d5,_0xb93247){var _0x1a5fa9=_0x236ed9[_0xea6c('0x12')];var _0x14e9c9=_0x46079e[_0xea6c('0x13')]({'plain':!![]});return _0x1a5fa9[_0xea6c('0x1b')][_0xea6c('0x2b')]({'raw':!![],'where':{'ListId':_0x14e9c9['ListId'],'ContactId':_0x14e9c9['id']}})[_0xea6c('0x18')](function(_0x2dab44){if(!_['isEmpty'](_0x2dab44)){var _0x1a050f=[];for(var _0x47c1c1=0x0;_0x47c1c1<_0x2dab44[_0xea6c('0x30')];_0x47c1c1+=0x1){var _0x5667d6=_0x1a5fa9[_0xea6c('0x1b')]['destroy']({'where':{'ListId':_0x2dab44[_0x47c1c1][_0xea6c('0x1d')],'ContactId':_0x2dab44[_0x47c1c1][_0xea6c('0x39')],'VoiceQueueId':_0x2dab44[_0x47c1c1]['VoiceQueueId'],'CampaignId':_0x2dab44[_0x47c1c1][_0xea6c('0x3a')]}});_0x1a050f['push'](_0x5667d6);}return BPromise[_0xea6c('0x3b')](_0x1a050f);}})[_0xea6c('0x18')](function(_0x4d2673){logger[_0xea6c('0x3c')](_0xea6c('0x3d'),util[_0xea6c('0x16')](_0x4d2673,{'showHidden':![],'depth':null}));_0xb93247();})[_0xea6c('0x23')](function(_0x5b7df5){logger[_0xea6c('0x14')](_0xea6c('0x3e'),util[_0xea6c('0x16')](_0x5b7df5,{'showHidden':![],'depth':null}));_0xb93247(_0x5b7df5);});}}});};