Built motion from commit (unavailable).|2.5.13
[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 _0xe9f9=['path','exports','OpenchannelMessage','body','models','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','findOne','OpenchannelInteractionId','then','update','createdAt','error','describe','OpenchannelAccount','find','OpenchannelAccountId','CmContact','keys','get','replyUri','info','OpenchannelMessage,\x20%s,\x20%s','format','Interactions','length','Interaction','omit','Contact','POST','threadId','afterCreate','inspect','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','bluebird'];(function(_0x1c470d,_0x81d66b){var _0x12141b=function(_0x45bfd3){while(--_0x45bfd3){_0x1c470d['push'](_0x1c470d['shift']());}};_0x12141b(++_0x81d66b);}(_0xe9f9,0x1d0));var _0x9e9f=function(_0x4636a3,_0xb39998){_0x4636a3=_0x4636a3-0x0;var _0x236179=_0xe9f9[_0x4636a3];return _0x236179;};'use strict';var _=require(_0x9e9f('0x0'));var util=require(_0x9e9f('0x1'));var logger=require(_0x9e9f('0x2'))(_0x9e9f('0x3'));var moment=require(_0x9e9f('0x4'));var BPromise=require(_0x9e9f('0x5'));var rp=require('request-promise');var fs=require('fs');var path=require(_0x9e9f('0x6'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require('./openchannelMessage.attributes');module[_0x9e9f('0x7')]=function(_0x4a8e68,_0x47fda6){return _0x4a8e68['define'](_0x9e9f('0x8'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':'fti_openchannel_messages','fields':[_0x9e9f('0x9')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x26aac2,_0x57b059,_0x82d053){var _0x5f288b=_0x4a8e68[_0x9e9f('0xa')];var _0x2ee269=_0x26aac2['get']({'plain':!![]});if(_0x2ee269['direction']['toLowerCase']()==='in'||_0x2ee269[_0x9e9f('0xb')][_0x9e9f('0xc')]()===_0x9e9f('0xd')&&!_0x2ee269[_0x9e9f('0xe')]&&!_[_0x9e9f('0xf')](_0x2ee269[_0x9e9f('0x10')])){_0x5f288b[_0x9e9f('0x11')][_0x9e9f('0x12')]({'where':{'id':_0x2ee269[_0x9e9f('0x13')]}})[_0x9e9f('0x14')](function(_0x5b5909){if(_0x5b5909){_0x5b5909[_0x9e9f('0x15')]({'lastMsgAt':_0x2ee269[_0x9e9f('0x16')],'lastMsgDirection':_0x2ee269[_0x9e9f('0xb')][_0x9e9f('0xc')]()});}})['catch'](function(_0x1ea9e9){console[_0x9e9f('0x17')](_0x1ea9e9);});}if(_0x2ee269['direction']===_0x9e9f('0xd')&&!_0x2ee269[_0x9e9f('0xe')]){var _0x14ddef;_0x5f288b['CmContact'][_0x9e9f('0x18')]()[_0x9e9f('0x14')](function(_0xe57a0a){return _0x5f288b[_0x9e9f('0x19')][_0x9e9f('0x1a')]({'where':{'id':_0x2ee269[_0x9e9f('0x1b')]},'include':[{'model':_0x5f288b[_0x9e9f('0x11')],'as':'Interactions','where':{'id':_0x2ee269[_0x9e9f('0x13')]},'limit':0x1,'include':[{'model':_0x5f288b[_0x9e9f('0x1c')],'as':'Contact','attributes':_[_0x9e9f('0x1d')](_0xe57a0a)}]}]});})[_0x9e9f('0x14')](function(_0x1c76be){_0x14ddef=_0x1c76be[_0x9e9f('0x1e')]({'plain':!![]});if(_0x14ddef&&_0x14ddef[_0x9e9f('0x1f')]){logger[_0x9e9f('0x20')](_0x9e9f('0x21'),'afterCreate',util[_0x9e9f('0x22')]('Forwarding\x20message\x20%d\x20to\x20%s',_0x2ee269['id'],_0x14ddef['replyUri']));if(_0x14ddef[_0x9e9f('0x23')]&&_0x14ddef[_0x9e9f('0x23')][_0x9e9f('0x24')]){_0x2ee269[_0x9e9f('0x25')]=_[_0x9e9f('0x26')](_0x14ddef['Interactions'][0x0],_0x9e9f('0x27'));_0x2ee269[_0x9e9f('0x27')]=_0x14ddef[_0x9e9f('0x23')][0x0][_0x9e9f('0x27')];}var _0x57b059={'method':'POST','uri':encodeURI(_0x14ddef[_0x9e9f('0x1f')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x57b059['method']){case'GET':_0x57b059['qs']=_0x2ee269;break;case _0x9e9f('0x28'):_0x57b059[_0x9e9f('0x9')]=_0x2ee269;break;}return rp(_0x57b059)[_0x9e9f('0x14')](function(_0x5dfddd){logger[_0x9e9f('0x20')](_0x9e9f('0x21'),'afterCreate',util[_0x9e9f('0x22')]('Message\x20%d\x20forwarded\x20to\x20%s',_0x2ee269['id'],_0x14ddef[_0x9e9f('0x1f')]));if(_0x5dfddd['body'][_0x9e9f('0x29')]&&_0x5dfddd['body'][_0x9e9f('0x29')]!=_0x2ee269[_0x9e9f('0x25')][_0x9e9f('0x29')]){return _0x5f288b['OpenchannelInteraction'][_0x9e9f('0x15')]({'threadId':_0x5dfddd[_0x9e9f('0x9')][_0x9e9f('0x29')]},{'logging':!![],'where':{'id':_0x2ee269['Interaction']['id']}});}else{return;}})['then'](function(){return _0x26aac2[_0x9e9f('0x15')]({'read':!![]});})['catch'](function(_0x66d8c4){logger['error'](_0x9e9f('0x21'),_0x9e9f('0x2a'),util[_0x9e9f('0x2b')](_0x66d8c4,{'showHidden':![],'depth':null}));_0x82d053();});}else{_0x82d053();}})[_0x9e9f('0x2c')](function(){_0x82d053();});}else{_0x82d053();}}},'charset':_0x9e9f('0x2d'),'collate':_0x9e9f('0x2e')});};