2f252c67ca084018f1f5838b48aa34b32bfeb84c
[motion2.git] / server / api / openchannelMessage / openchannelMessage.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 _0x47b5=['path','../../config/environment','OpenchannelMessage','openchannel_messages','fti_openchannel_messages','body','FULLTEXT','get','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','CmContact','describe','find','keys','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','afterCreate','Forwarding\x20message\x20%d\x20to\x20%s','Interactions','length','omit','Contact','method','GET','POST','format','Message\x20%d\x20forwarded\x20to\x20%s','threadId','Interaction','update','catch','error','inspect','finally','utf8mb4_unicode_ci','lodash','../../config/logger','api','moment','bluebird','request-promise'];(function(_0x58bec1,_0x42c53f){var _0x16439f=function(_0x19b7ec){while(--_0x19b7ec){_0x58bec1['push'](_0x58bec1['shift']());}};_0x16439f(++_0x42c53f);}(_0x47b5,0x18a));var _0x547b=function(_0x2b9c8f,_0x4eef12){_0x2b9c8f=_0x2b9c8f-0x0;var _0x1026f2=_0x47b5[_0x2b9c8f];return _0x1026f2;};'use strict';var _=require(_0x547b('0x0'));var util=require('util');var logger=require(_0x547b('0x1'))(_0x547b('0x2'));var moment=require(_0x547b('0x3'));var BPromise=require(_0x547b('0x4'));var rp=require(_0x547b('0x5'));var fs=require('fs');var path=require(_0x547b('0x6'));var rimraf=require('rimraf');var config=require(_0x547b('0x7'));var attributes=require('./openchannelMessage.attributes');module['exports']=function(_0x34dc87,_0x4bd462){return _0x34dc87['define'](_0x547b('0x8'),attributes,{'tableName':_0x547b('0x9'),'paranoid':![],'indexes':[{'name':_0x547b('0xa'),'fields':[_0x547b('0xb')],'type':_0x547b('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x239c2f,_0x4ae99c,_0x4207d2){var _0xafd965=_0x34dc87['models'];var _0x1d8777=_0x239c2f[_0x547b('0xd')]({'plain':!![]});if(_0x1d8777[_0x547b('0xe')]['toLowerCase']()==='in'||_0x1d8777['direction'][_0x547b('0xf')]()===_0x547b('0x10')&&!_0x1d8777[_0x547b('0x11')]&&!_[_0x547b('0x12')](_0x1d8777[_0x547b('0x13')])){_0xafd965[_0x547b('0x14')][_0x547b('0x15')]({'where':{'id':_0x1d8777[_0x547b('0x16')]}})[_0x547b('0x17')](function(_0x22a68){if(_0x22a68){_0x22a68['update']({'lastMsgAt':_0x1d8777['createdAt'],'lastMsgDirection':_0x1d8777[_0x547b('0xe')]['toLowerCase']()});}})['catch'](function(_0x2470d2){console['error'](_0x2470d2);});}if(_0x1d8777[_0x547b('0xe')]==='out'&&!_0x1d8777[_0x547b('0x11')]){var _0x5a0b0b;_0xafd965[_0x547b('0x18')][_0x547b('0x19')]()[_0x547b('0x17')](function(_0x16b442){return _0xafd965['OpenchannelAccount'][_0x547b('0x1a')]({'where':{'id':_0x1d8777['OpenchannelAccountId']},'include':[{'model':_0xafd965['OpenchannelInteraction'],'as':'Interactions','where':{'id':_0x1d8777[_0x547b('0x16')]},'limit':0x1,'include':[{'model':_0xafd965[_0x547b('0x18')],'as':'Contact','attributes':_[_0x547b('0x1b')](_0x16b442)}]}]});})[_0x547b('0x17')](function(_0x4beab5){_0x5a0b0b=_0x4beab5[_0x547b('0xd')]({'plain':!![]});if(_0x5a0b0b&&_0x5a0b0b[_0x547b('0x1c')]){logger[_0x547b('0x1d')](_0x547b('0x1e'),_0x547b('0x1f'),util['format'](_0x547b('0x20'),_0x1d8777['id'],_0x5a0b0b[_0x547b('0x1c')]));if(_0x5a0b0b[_0x547b('0x21')]&&_0x5a0b0b['Interactions'][_0x547b('0x22')]){_0x1d8777['Interaction']=_[_0x547b('0x23')](_0x5a0b0b[_0x547b('0x21')][0x0],_0x547b('0x24'));_0x1d8777[_0x547b('0x24')]=_0x5a0b0b[_0x547b('0x21')][0x0][_0x547b('0x24')];}var _0x4ae99c={'method':'POST','uri':encodeURI(_0x5a0b0b[_0x547b('0x1c')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x4ae99c[_0x547b('0x25')]){case _0x547b('0x26'):_0x4ae99c['qs']=_0x1d8777;break;case _0x547b('0x27'):_0x4ae99c[_0x547b('0xb')]=_0x1d8777;break;}return rp(_0x4ae99c)[_0x547b('0x17')](function(_0x10524a){logger[_0x547b('0x1d')]('OpenchannelMessage,\x20%s,\x20%s',_0x547b('0x1f'),util[_0x547b('0x28')](_0x547b('0x29'),_0x1d8777['id'],_0x5a0b0b[_0x547b('0x1c')]));if(_0x10524a[_0x547b('0xb')][_0x547b('0x2a')]&&_0x10524a[_0x547b('0xb')][_0x547b('0x2a')]!=_0x1d8777[_0x547b('0x2b')][_0x547b('0x2a')]){return _0xafd965['OpenchannelInteraction']['update']({'threadId':_0x10524a[_0x547b('0xb')]['threadId']},{'where':{'id':_0x1d8777[_0x547b('0x2b')]['id']}});}else{return;}})[_0x547b('0x17')](function(){return _0x239c2f[_0x547b('0x2c')]({'read':!![]});})[_0x547b('0x2d')](function(_0x38db69){logger[_0x547b('0x2e')](_0x547b('0x1e'),_0x547b('0x1f'),util[_0x547b('0x2f')](_0x38db69,{'showHidden':![],'depth':null}));_0x4207d2();});}else{_0x4207d2();}})[_0x547b('0x30')](function(){_0x4207d2();});}else{_0x4207d2();}}},'charset':'utf8mb4','collate':_0x547b('0x31')});};