9d87d61b3320e63885e1cbfd841b9f4561a2e16a
[motion2.git] / server / api / mailInteraction / mailInteraction.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 _0xbedd=['substatus','substatusAt','format','closed','YYYY-MM-DD\x20HH:mm:ss','changed','closedAt','get','MailMessage','then','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','bluebird','request-promise','path','rimraf','../../config/environment','./mailInteraction.attributes','exports','define','mail_interactions','fti_mail_interactions','FULLTEXT'];(function(_0x1ff120,_0x45f657){var _0x1eec64=function(_0x15f366){while(--_0x15f366){_0x1ff120['push'](_0x1ff120['shift']());}};_0x1eec64(++_0x45f657);}(_0xbedd,0x124));var _0xdbed=function(_0x3fe042,_0x1106f7){_0x3fe042=_0x3fe042-0x0;var _0x7d4a1f=_0xbedd[_0x3fe042];return _0x7d4a1f;};'use strict';var _=require(_0xdbed('0x0'));var util=require(_0xdbed('0x1'));var logger=require(_0xdbed('0x2'))(_0xdbed('0x3'));var moment=require(_0xdbed('0x4'));var BPromise=require(_0xdbed('0x5'));var rp=require(_0xdbed('0x6'));var fs=require('fs');var path=require(_0xdbed('0x7'));var rimraf=require(_0xdbed('0x8'));var config=require(_0xdbed('0x9'));var attributes=require(_0xdbed('0xa'));module[_0xdbed('0xb')]=function(_0x4582d8,_0x440c06){return _0x4582d8[_0xdbed('0xc')]('MailInteraction',attributes,{'tableName':_0xdbed('0xd'),'paranoid':![],'indexes':[{'name':_0xdbed('0xe'),'fields':['subject','to'],'type':_0xdbed('0xf')}],'timestamps':!![],'hooks':{'beforeCreate':function(_0x5b796a,_0x10b556,_0x5e0ecf){if(_0x5b796a[_0xdbed('0x10')]){_0x5b796a[_0xdbed('0x11')]=moment()[_0xdbed('0x12')]('YYYY-MM-DD\x20HH:mm:ss');}if(_0x5b796a[_0xdbed('0x13')]){_0x5b796a['closedAt']=moment()['format'](_0xdbed('0x14'));}_0x5e0ecf(null,_0x10b556);},'beforeUpdate':function(_0x435fe3,_0x44dce5,_0x778b83){if(_0x435fe3[_0xdbed('0x15')](_0xdbed('0x10'))){_0x435fe3['substatusAt']=_0x435fe3[_0xdbed('0x10')]?moment()[_0xdbed('0x12')](_0xdbed('0x14')):null;}if(_0x435fe3['changed']('closed')){_0x435fe3[_0xdbed('0x16')]=moment()[_0xdbed('0x12')](_0xdbed('0x14'));_0x435fe3[_0xdbed('0x10')]=null;_0x435fe3[_0xdbed('0x11')]=null;}_0x778b83(null,_0x435fe3);},'afterUpdate':function(_0x46be65,_0x33dd46,_0x3ae226){var _0x3e3e9d=_0x4582d8['models'];var _0x175947=_0x46be65[_0xdbed('0x17')]({'plain':!![]});if(_0x175947['closed']){return _0x3e3e9d[_0xdbed('0x18')]['update']({'read':!![]},{'where':{'MailInteractionId':_0x175947['id']}})[_0xdbed('0x19')](function(){_0x3ae226();})['catch'](function(_0x4ee2ef){_0x3ae226(_0x4ee2ef);});}else{_0x3ae226();}}},'charset':_0xdbed('0x1a'),'collate':_0xdbed('0x1b')});};