05a45fb8c3a18a2f7ffae78af734eb597d631647
[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 _0x96d4=['plainBody','subject','FULLTEXT','body','fromString','models','direction','toLowerCase','secret','MailInteraction','findOne','MailInteractionId','then','update','createdAt','error','utf8mb4','lodash','util','../../config/logger','api','moment','bluebird','path','rimraf','exports','MailMessage','mail_messages','messageId'];(function(_0x124298,_0x542004){var _0x35ac24=function(_0x49afe8){while(--_0x49afe8){_0x124298['push'](_0x124298['shift']());}};_0x35ac24(++_0x542004);}(_0x96d4,0xdc));var _0x496d=function(_0x4c2426,_0x30e4b9){_0x4c2426=_0x4c2426-0x0;var _0x17431c=_0x96d4[_0x4c2426];return _0x17431c;};'use strict';var _=require(_0x496d('0x0'));var util=require(_0x496d('0x1'));var logger=require(_0x496d('0x2'))(_0x496d('0x3'));var moment=require(_0x496d('0x4'));var BPromise=require(_0x496d('0x5'));var rp=require('request-promise');var htmlToText=require('html-to-text');var fs=require('fs');var path=require(_0x496d('0x6'));var rimraf=require(_0x496d('0x7'));var config=require('../../config/environment');var attributes=require('./mailMessage.attributes');module[_0x496d('0x8')]=function(_0xd5b104,_0x3cac34){return _0xd5b104['define'](_0x496d('0x9'),attributes,{'tableName':_0x496d('0xa'),'paranoid':![],'indexes':[{'name':'messageId','fields':[_0x496d('0xb')]},{'name':'fti_mail_messages','fields':[_0x496d('0xc'),_0x496d('0xd')],'type':_0x496d('0xe')}],'timestamps':!![],'hooks':{'beforeCreate':function(_0x3e0926,_0x44c461,_0x1a725e){if(_0x3e0926[_0x496d('0xf')]){_0x3e0926[_0x496d('0xc')]=htmlToText[_0x496d('0x10')](_0x3e0926['body'],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]});}_0x1a725e(null,_0x44c461);},'afterCreate':function(_0x5b44ad,_0x12b196,_0x2a0938){var _0x179338=_0xd5b104[_0x496d('0x11')];var _0x445ce8=_0x5b44ad['get']({'plain':!![]});if(_0x445ce8[_0x496d('0x12')][_0x496d('0x13')]()==='in'||_0x445ce8['direction'][_0x496d('0x13')]()==='out'&&!_0x445ce8[_0x496d('0x14')]&&!_['isNil'](_0x445ce8['UserId'])){_0x179338[_0x496d('0x15')][_0x496d('0x16')]({'where':{'id':_0x445ce8[_0x496d('0x17')]}})[_0x496d('0x18')](function(_0x563d79){if(_0x563d79){_0x563d79[_0x496d('0x19')]({'lastMsgAt':_0x445ce8[_0x496d('0x1a')],'lastMsgDirection':_0x445ce8[_0x496d('0x12')][_0x496d('0x13')](),'lastMsgBody':_0x445ce8[_0x496d('0xf')]});}})['catch'](function(_0x5f4428){console[_0x496d('0x1b')](_0x5f4428);});}_0x2a0938();}},'charset':_0x496d('0x1c'),'collate':'utf8mb4_unicode_ci'});};