00d074f7ba764cd991ceb658c74c4afbdbb0b775
[motion2.git] / server / api / mailMessage / mailMessage.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 _0x6972=['error','utf8mb4_unicode_ci','lodash','../../config/logger','moment','bluebird','html-to-text','path','rimraf','./mailMessage.attributes','exports','define','MailMessage','messageId','fti_mail_messages','plainBody','subject','FULLTEXT','fromString','body','models','get','direction','toLowerCase','out','secret','MailInteraction','findOne','then','createdAt','catch'];(function(_0x245c4f,_0x34b70f){var _0x3157a1=function(_0x18bfc7){while(--_0x18bfc7){_0x245c4f['push'](_0x245c4f['shift']());}};_0x3157a1(++_0x34b70f);}(_0x6972,0xbc));var _0x2697=function(_0x3ebee6,_0xd74793){_0x3ebee6=_0x3ebee6-0x0;var _0x32fc02=_0x6972[_0x3ebee6];return _0x32fc02;};'use strict';var _=require(_0x2697('0x0'));var util=require('util');var logger=require(_0x2697('0x1'))('api');var moment=require(_0x2697('0x2'));var BPromise=require(_0x2697('0x3'));var rp=require('request-promise');var htmlToText=require(_0x2697('0x4'));var fs=require('fs');var path=require(_0x2697('0x5'));var rimraf=require(_0x2697('0x6'));var config=require('../../config/environment');var attributes=require(_0x2697('0x7'));module[_0x2697('0x8')]=function(_0x569188,_0x35bd1b){return _0x569188[_0x2697('0x9')](_0x2697('0xa'),attributes,{'tableName':'mail_messages','paranoid':![],'indexes':[{'name':_0x2697('0xb'),'fields':['messageId']},{'name':_0x2697('0xc'),'fields':[_0x2697('0xd'),_0x2697('0xe')],'type':_0x2697('0xf')}],'timestamps':!![],'hooks':{'beforeCreate':function(_0x2e96ba,_0x2cd945,_0x25dec3){if(_0x2e96ba['body']){_0x2e96ba[_0x2697('0xd')]=htmlToText[_0x2697('0x10')](_0x2e96ba[_0x2697('0x11')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]});}_0x25dec3(null,_0x2cd945);},'afterCreate':function(_0x90e601,_0x1531b5,_0x1ad6b5){var _0x5e8e25=_0x569188[_0x2697('0x12')];var _0x43eaee=_0x90e601[_0x2697('0x13')]({'plain':!![]});if(_0x43eaee[_0x2697('0x14')][_0x2697('0x15')]()==='in'||_0x43eaee[_0x2697('0x14')][_0x2697('0x15')]()===_0x2697('0x16')&&!_0x43eaee[_0x2697('0x17')]&&!_['isNil'](_0x43eaee['UserId'])){_0x5e8e25[_0x2697('0x18')][_0x2697('0x19')]({'where':{'id':_0x43eaee['MailInteractionId']}})[_0x2697('0x1a')](function(_0x2beca4){if(_0x2beca4){_0x2beca4['update']({'lastMsgAt':_0x43eaee[_0x2697('0x1b')],'lastMsgDirection':_0x43eaee[_0x2697('0x14')][_0x2697('0x15')](),'lastMsgBody':_0x43eaee['body']});}})[_0x2697('0x1c')](function(_0x46fc4a){console[_0x2697('0x1d')](_0x46fc4a);});}_0x1ad6b5();}},'charset':'utf8mb4','collate':_0x2697('0x1e')});};