f0eaf2aa893c6c37e071339b993506d07149fe4d
[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 _0x6245=['subject','fromString','body','get','toLowerCase','direction','out','secret','MailInteraction','findOne','MailInteractionId','then','update','createdAt','catch','error','utf8mb4','util','api','moment','bluebird','request-promise','html-to-text','path','rimraf','../../config/environment','./mailMessage.attributes','define','MailMessage','mail_messages','messageId','fti_mail_messages','plainBody'];(function(_0x49b48b,_0x313a85){var _0x398600=function(_0x15d493){while(--_0x15d493){_0x49b48b['push'](_0x49b48b['shift']());}};_0x398600(++_0x313a85);}(_0x6245,0x1be));var _0x5624=function(_0x49ca18,_0x5e6d05){_0x49ca18=_0x49ca18-0x0;var _0x145d54=_0x6245[_0x49ca18];return _0x145d54;};'use strict';var _=require('lodash');var util=require(_0x5624('0x0'));var logger=require('../../config/logger')(_0x5624('0x1'));var moment=require(_0x5624('0x2'));var BPromise=require(_0x5624('0x3'));var rp=require(_0x5624('0x4'));var htmlToText=require(_0x5624('0x5'));var fs=require('fs');var path=require(_0x5624('0x6'));var rimraf=require(_0x5624('0x7'));var config=require(_0x5624('0x8'));var attributes=require(_0x5624('0x9'));module['exports']=function(_0x836f68,_0x4e608b){return _0x836f68[_0x5624('0xa')](_0x5624('0xb'),attributes,{'tableName':_0x5624('0xc'),'paranoid':![],'indexes':[{'name':_0x5624('0xd'),'fields':[_0x5624('0xd')]},{'name':_0x5624('0xe'),'fields':[_0x5624('0xf'),_0x5624('0x10')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'beforeCreate':function(_0x2c2e99,_0x1057d7,_0x159208){if(_0x2c2e99['body']){_0x2c2e99[_0x5624('0xf')]=htmlToText[_0x5624('0x11')](_0x2c2e99[_0x5624('0x12')],{'preserveNewlines':!![],'singleNewLineParagraphs':!![],'uppercaseHeadings':![],'noLinkBrackets':!![],'ignoreImage':!![]});}_0x159208(null,_0x1057d7);},'afterCreate':function(_0x380c33,_0x257e87,_0x273a10){var _0x30a409=_0x836f68['models'];var _0x16f482=_0x380c33[_0x5624('0x13')]({'plain':!![]});if(_0x16f482['direction'][_0x5624('0x14')]()==='in'||_0x16f482[_0x5624('0x15')][_0x5624('0x14')]()===_0x5624('0x16')&&!_0x16f482[_0x5624('0x17')]&&!_['isNil'](_0x16f482['UserId'])){_0x30a409[_0x5624('0x18')][_0x5624('0x19')]({'where':{'id':_0x16f482[_0x5624('0x1a')]}})[_0x5624('0x1b')](function(_0x55efd0){if(_0x55efd0){_0x55efd0[_0x5624('0x1c')]({'lastMsgAt':_0x16f482[_0x5624('0x1d')],'lastMsgDirection':_0x16f482[_0x5624('0x15')][_0x5624('0x14')](),'lastMsgBody':_0x16f482['body']});}})[_0x5624('0x1e')](function(_0x16bce2){console[_0x5624('0x1f')](_0x16bce2);});}_0x273a10();}},'charset':_0x5624('0x20'),'collate':'utf8mb4_unicode_ci'});};