455ea54ef625bf453dce3e4109edceb9f07556f7
[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 _0x6d1d=['error','CmContact','OpenchannelAccount','find','OpenchannelAccountId','Interactions','OpenchannelInteractionId','Contact','keys','replyUri','info','afterCreate','format','Forwarding\x20message\x20%d\x20to\x20%s','length','method','GET','POST','Message\x20%d\x20forwarded\x20to\x20%s','body','threadId','Interaction','OpenchannelMessage,\x20%s,\x20%s','inspect','finally','utf8mb4','util','../../config/logger','bluebird','request-promise','path','rimraf','../../config/environment','./openchannelMessage.attributes','exports','define','OpenchannelMessage','fti_openchannel_messages','models','get','direction','toLowerCase','out','secret','isNil','UserId','OpenchannelInteraction','then','update','createdAt','catch'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x6d1d,0xe6));var _0xd6d1=function(_0x2c3f37,_0x5a46b6){_0x2c3f37=_0x2c3f37-0x0;var _0x12a453=_0x6d1d[_0x2c3f37];return _0x12a453;};'use strict';var _=require('lodash');var util=require(_0xd6d1('0x0'));var logger=require(_0xd6d1('0x1'))('api');var moment=require('moment');var BPromise=require(_0xd6d1('0x2'));var rp=require(_0xd6d1('0x3'));var fs=require('fs');var path=require(_0xd6d1('0x4'));var rimraf=require(_0xd6d1('0x5'));var config=require(_0xd6d1('0x6'));var attributes=require(_0xd6d1('0x7'));module[_0xd6d1('0x8')]=function(_0x402087,_0x4606eb){return _0x402087[_0xd6d1('0x9')](_0xd6d1('0xa'),attributes,{'tableName':'openchannel_messages','paranoid':![],'indexes':[{'name':_0xd6d1('0xb'),'fields':['body'],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1c7d0e,_0x5deba3,_0x593ab6){var _0x3ec319=_0x402087[_0xd6d1('0xc')];var _0x4ce14f=_0x1c7d0e[_0xd6d1('0xd')]({'plain':!![]});if(_0x4ce14f[_0xd6d1('0xe')][_0xd6d1('0xf')]()==='in'||_0x4ce14f[_0xd6d1('0xe')][_0xd6d1('0xf')]()===_0xd6d1('0x10')&&!_0x4ce14f[_0xd6d1('0x11')]&&!_[_0xd6d1('0x12')](_0x4ce14f[_0xd6d1('0x13')])){_0x3ec319[_0xd6d1('0x14')]['findOne']({'where':{'id':_0x4ce14f['OpenchannelInteractionId']}})[_0xd6d1('0x15')](function(_0x8e8f8e){if(_0x8e8f8e){_0x8e8f8e[_0xd6d1('0x16')]({'lastMsgAt':_0x4ce14f[_0xd6d1('0x17')],'lastMsgDirection':_0x4ce14f['direction'][_0xd6d1('0xf')]()});}})[_0xd6d1('0x18')](function(_0x27b99b){console[_0xd6d1('0x19')](_0x27b99b);});}if(_0x4ce14f['direction']===_0xd6d1('0x10')&&!_0x4ce14f[_0xd6d1('0x11')]){var _0x279bd8;_0x3ec319[_0xd6d1('0x1a')]['describe']()[_0xd6d1('0x15')](function(_0x470bfa){return _0x3ec319[_0xd6d1('0x1b')][_0xd6d1('0x1c')]({'where':{'id':_0x4ce14f[_0xd6d1('0x1d')]},'include':[{'model':_0x3ec319[_0xd6d1('0x14')],'as':_0xd6d1('0x1e'),'where':{'id':_0x4ce14f[_0xd6d1('0x1f')]},'limit':0x1,'include':[{'model':_0x3ec319[_0xd6d1('0x1a')],'as':_0xd6d1('0x20'),'attributes':_[_0xd6d1('0x21')](_0x470bfa)}]}]});})[_0xd6d1('0x15')](function(_0x2f1db2){_0x279bd8=_0x2f1db2[_0xd6d1('0xd')]({'plain':!![]});if(_0x279bd8&&_0x279bd8[_0xd6d1('0x22')]){logger[_0xd6d1('0x23')]('OpenchannelMessage,\x20%s,\x20%s',_0xd6d1('0x24'),util[_0xd6d1('0x25')](_0xd6d1('0x26'),_0x4ce14f['id'],_0x279bd8[_0xd6d1('0x22')]));if(_0x279bd8['Interactions']&&_0x279bd8[_0xd6d1('0x1e')][_0xd6d1('0x27')]){_0x4ce14f['Interaction']=_['omit'](_0x279bd8[_0xd6d1('0x1e')][0x0],_0xd6d1('0x20'));_0x4ce14f['Contact']=_0x279bd8[_0xd6d1('0x1e')][0x0][_0xd6d1('0x20')];}var _0x5deba3={'method':'POST','uri':encodeURI(_0x279bd8[_0xd6d1('0x22')]),'json':!![],'resolveWithFullResponse':!![]};switch(_0x5deba3[_0xd6d1('0x28')]){case _0xd6d1('0x29'):_0x5deba3['qs']=_0x4ce14f;break;case _0xd6d1('0x2a'):_0x5deba3['body']=_0x4ce14f;break;}return rp(_0x5deba3)[_0xd6d1('0x15')](function(_0x1119a4){logger['info']('OpenchannelMessage,\x20%s,\x20%s',_0xd6d1('0x24'),util['format'](_0xd6d1('0x2b'),_0x4ce14f['id'],_0x279bd8[_0xd6d1('0x22')]));if(_0x1119a4[_0xd6d1('0x2c')][_0xd6d1('0x2d')]&&_0x1119a4[_0xd6d1('0x2c')][_0xd6d1('0x2d')]!=_0x4ce14f[_0xd6d1('0x2e')]['threadId']){return _0x3ec319[_0xd6d1('0x14')][_0xd6d1('0x16')]({'threadId':_0x1119a4[_0xd6d1('0x2c')][_0xd6d1('0x2d')]},{'where':{'id':_0x4ce14f[_0xd6d1('0x2e')]['id']}});}else{return;}})[_0xd6d1('0x15')](function(){return _0x1c7d0e[_0xd6d1('0x16')]({'read':!![]});})[_0xd6d1('0x18')](function(_0x468947){logger[_0xd6d1('0x19')](_0xd6d1('0x2f'),_0xd6d1('0x24'),util[_0xd6d1('0x30')](_0x468947,{'showHidden':![],'depth':null}));_0x593ab6();});}else{_0x593ab6();}})[_0xd6d1('0x31')](function(){_0x593ab6();});}else{_0x593ab6();}}},'charset':_0xd6d1('0x32'),'collate':'utf8mb4_unicode_ci'});};