7ea3215d20a5f4639f9ed6c795da84741a528c04
[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 _0x8bab=['createdAt','catch','error','lodash','util','../../config/logger','moment','bluebird','request-promise','html-to-text','path','rimraf','../../config/environment','exports','mail_messages','messageId','fti_mail_messages','FULLTEXT','body','plainBody','fromString','models','direction','toLowerCase','out','secret','isNil','MailInteraction','findOne','MailInteractionId','then'];(function(_0xdb2727,_0xce46aa){var _0x36d766=function(_0x62a5a7){while(--_0x62a5a7){_0xdb2727['push'](_0xdb2727['shift']());}};_0x36d766(++_0xce46aa);}(_0x8bab,0x139));var _0xb8ba=function(_0x1ee3ca,_0x942763){_0x1ee3ca=_0x1ee3ca-0x0;var _0x51d2ec=_0x8bab[_0x1ee3ca];return _0x51d2ec;};'use strict';var _=require(_0xb8ba('0x0'));var util=require(_0xb8ba('0x1'));var logger=require(_0xb8ba('0x2'))('api');var moment=require(_0xb8ba('0x3'));var BPromise=require(_0xb8ba('0x4'));var rp=require(_0xb8ba('0x5'));var htmlToText=require(_0xb8ba('0x6'));var fs=require('fs');var path=require(_0xb8ba('0x7'));var rimraf=require(_0xb8ba('0x8'));var config=require(_0xb8ba('0x9'));var attributes=require('./mailMessage.attributes');module[_0xb8ba('0xa')]=function(_0x28ae90,_0x544abf){return _0x28ae90['define']('MailMessage',attributes,{'tableName':_0xb8ba('0xb'),'paranoid':![],'indexes':[{'name':_0xb8ba('0xc'),'fields':[_0xb8ba('0xc')]},{'name':_0xb8ba('0xd'),'fields':['plainBody','subject'],'type':_0xb8ba('0xe')}],'timestamps':!![],'hooks':{'beforeCreate':function(_0x3f1f03,_0x223be2,_0x26652f){if(_0x3f1f03[_0xb8ba('0xf')]){_0x3f1f03[_0xb8ba('0x10')]=htmlToText[_0xb8ba('0x11')](_0x3f1f03[_0xb8ba('0xf')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]});}_0x26652f(null,_0x223be2);},'afterCreate':function(_0x4c4923,_0x131d1f,_0x1e89c1){var _0x45874f=_0x28ae90[_0xb8ba('0x12')];var _0x20cac5=_0x4c4923['get']({'plain':!![]});if(_0x20cac5[_0xb8ba('0x13')][_0xb8ba('0x14')]()==='in'||_0x20cac5['direction'][_0xb8ba('0x14')]()===_0xb8ba('0x15')&&!_0x20cac5[_0xb8ba('0x16')]&&!_[_0xb8ba('0x17')](_0x20cac5['UserId'])){_0x45874f[_0xb8ba('0x18')][_0xb8ba('0x19')]({'where':{'id':_0x20cac5[_0xb8ba('0x1a')]}})[_0xb8ba('0x1b')](function(_0x219a63){if(_0x219a63){_0x219a63['update']({'lastMsgAt':_0x20cac5[_0xb8ba('0x1c')],'lastMsgDirection':_0x20cac5[_0xb8ba('0x13')][_0xb8ba('0x14')]()});}})[_0xb8ba('0x1d')](function(_0x236c51){console[_0xb8ba('0x1e')](_0x236c51);});}_0x1e89c1();}},'charset':'utf8mb4','collate':'utf8mb4_unicode_ci'});};