3ef08887b654df791796075c82a0fff7a73e1338
[motion2.git] / server / api / mailApplication / mailApplication.controller.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 _0xb75d=['fs-extra','lodash','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','undefined','limit','offset','set','Content-Range','json','apply','save','update','destroy','end','error','stack','name','send','render','merge','body','contact','message','agent','account','show','model','keys','MailApplication','query','filters','intersection','attributes','fields','includeAll','options','then','find','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','ejs'];(function(_0x574a32,_0x4b9abf){var _0x3c1730=function(_0x112aa4){while(--_0x112aa4){_0x574a32['push'](_0x574a32['shift']());}};_0x3c1730(++_0x4b9abf);}(_0xb75d,0x129));var _0xdb75=function(_0x22b68a,_0x2bffc3){_0x22b68a=_0x22b68a-0x0;var _0x1ac67a=_0xb75d[_0x22b68a];return _0x1ac67a;};'use strict';var emlformat=require(_0xdb75('0x0'));var rimraf=require(_0xdb75('0x1'));var zipdir=require(_0xdb75('0x2'));var jsonpatch=require(_0xdb75('0x3'));var rp=require(_0xdb75('0x4'));var moment=require(_0xdb75('0x5'));var BPromise=require(_0xdb75('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xdb75('0x7'));var fs=require('fs');var fs_extra=require(_0xdb75('0x8'));var _=require(_0xdb75('0x9'));var squel=require('squel');var crypto=require(_0xdb75('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xdb75('0xb'));var querystring=require(_0xdb75('0xc'));var Papa=require(_0xdb75('0xd'));var Redis=require(_0xdb75('0xe'));var authService=require(_0xdb75('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdb75('0x10'));var logger=require(_0xdb75('0x11'))(_0xdb75('0x12'));var utils=require(_0xdb75('0x13'));var config=require(_0xdb75('0x14'));var licenseUtil=require(_0xdb75('0x15'));var db=require(_0xdb75('0x16'))['db'];function respondWithStatusCode(_0x2356e2,_0x9d3b4d){_0x9d3b4d=_0x9d3b4d||0xcc;return function(_0x409c30){if(_0x409c30){return _0x2356e2[_0xdb75('0x17')](_0x9d3b4d);}return _0x2356e2[_0xdb75('0x18')](_0x9d3b4d)['end']();};}function respondWithResult(_0x179cd2,_0x1df6c8){_0x1df6c8=_0x1df6c8||0xc8;return function(_0x5a9c32){if(_0x5a9c32){return _0x179cd2['status'](_0x1df6c8)['json'](_0x5a9c32);}};}function respondWithFilteredResult(_0xa1be38,_0x2d7616){return function(_0x93ec8){if(_0x93ec8){var _0x41e6ee=typeof _0x2d7616['offset']===_0xdb75('0x19')&&typeof _0x2d7616[_0xdb75('0x1a')]===_0xdb75('0x19');var _0x583117=_0x93ec8['count'];var _0x317385=_0x41e6ee?0x0:_0x2d7616['offset'];var _0x6e3421=_0x41e6ee?_0x93ec8['count']:_0x2d7616[_0xdb75('0x1b')]+_0x2d7616['limit'];var _0x11657e;if(_0x6e3421>=_0x583117){_0x6e3421=_0x583117;_0x11657e=0xc8;}else{_0x11657e=0xce;}_0xa1be38['status'](_0x11657e);return _0xa1be38[_0xdb75('0x1c')](_0xdb75('0x1d'),_0x317385+'-'+_0x6e3421+'/'+_0x583117)[_0xdb75('0x1e')](_0x93ec8);}return null;};}function patchUpdates(_0x5a77c0){return function(_0x124bb5){try{jsonpatch[_0xdb75('0x1f')](_0x124bb5,_0x5a77c0,!![]);}catch(_0x57a23d){return BPromise['reject'](_0x57a23d);}return _0x124bb5[_0xdb75('0x20')]();};}function saveUpdates(_0x2e3f1e,_0x3c9d77){return function(_0x1b48f3){if(_0x1b48f3){return _0x1b48f3[_0xdb75('0x21')](_0x2e3f1e)['then'](function(_0x117635){return _0x117635;});}return null;};}function removeEntity(_0x1ef537,_0x123bbf){return function(_0x3bbe2b){if(_0x3bbe2b){return _0x3bbe2b[_0xdb75('0x22')]()['then'](function(){_0x1ef537[_0xdb75('0x18')](0xcc)[_0xdb75('0x23')]();});}};}function handleEntityNotFound(_0x10b50e,_0x32f9e6){return function(_0x3f9a92){if(!_0x3f9a92){_0x10b50e[_0xdb75('0x17')](0x194);}return _0x3f9a92;};}function handleError(_0x2a0ca3,_0x19f69d){_0x19f69d=_0x19f69d||0x1f4;return function(_0x331a00){logger[_0xdb75('0x24')](_0x331a00[_0xdb75('0x25')]);if(_0x331a00['name']){delete _0x331a00[_0xdb75('0x26')];}_0x2a0ca3['status'](_0x19f69d)[_0xdb75('0x27')](_0x331a00);};}function getMustacheRender(_0x325415,_0x26d14c){return Mustache[_0xdb75('0x28')](_0x325415,_[_0xdb75('0x29')](_0x26d14c[_0xdb75('0x2a')],{'contact':_0x26d14c[_0xdb75('0x2b')],'message':_0x26d14c[_0xdb75('0x2c')],'agent':_0x26d14c[_0xdb75('0x2d')],'interaction':_0x26d14c['interaction'],'account':_0x26d14c[_0xdb75('0x2e')]}))||'';}exports[_0xdb75('0x2f')]=function(_0x4b549b,_0x5a263e){var _0x437ab3={'raw':!![],'where':{'id':_0x4b549b['params']['id']}},_0x234322={};_0x234322[_0xdb75('0x30')]=_[_0xdb75('0x31')](db[_0xdb75('0x32')]['rawAttributes']);_0x234322[_0xdb75('0x33')]=_[_0xdb75('0x31')](_0x4b549b[_0xdb75('0x33')]);_0x234322[_0xdb75('0x34')]=_[_0xdb75('0x35')](_0x234322[_0xdb75('0x30')],_0x234322[_0xdb75('0x33')]);_0x437ab3[_0xdb75('0x36')]=_[_0xdb75('0x35')](_0x234322[_0xdb75('0x30')],qs[_0xdb75('0x37')](_0x4b549b[_0xdb75('0x33')][_0xdb75('0x37')]));_0x437ab3[_0xdb75('0x36')]=_0x437ab3[_0xdb75('0x36')]['length']?_0x437ab3['attributes']:_0x234322[_0xdb75('0x30')];if(_0x4b549b['query'][_0xdb75('0x38')]){_0x437ab3['include']=[{'all':!![]}];}_0x437ab3=_[_0xdb75('0x29')]({},_0x437ab3,_0x4b549b[_0xdb75('0x39')]);return db['MailApplication']['find'](_0x437ab3)['then'](handleEntityNotFound(_0x5a263e,null))[_0xdb75('0x3a')](respondWithResult(_0x5a263e,null))['catch'](handleError(_0x5a263e,null));};exports[_0xdb75('0x21')]=function(_0x57fa93,_0x4343f8){if(_0x57fa93[_0xdb75('0x2a')]['id']){delete _0x57fa93[_0xdb75('0x2a')]['id'];}return db['MailApplication'][_0xdb75('0x3b')]({'where':{'id':_0x57fa93['params']['id']}})[_0xdb75('0x3a')](handleEntityNotFound(_0x4343f8,null))['then'](saveUpdates(_0x57fa93[_0xdb75('0x2a')],null))['then'](respondWithResult(_0x4343f8,null))[_0xdb75('0x3c')](handleError(_0x4343f8,null));};exports[_0xdb75('0x22')]=function(_0x1ee194,_0x5758d1){return db['MailApplication'][_0xdb75('0x3b')]({'where':{'id':_0x1ee194['params']['id']}})[_0xdb75('0x3a')](handleEntityNotFound(_0x5758d1,null))['then'](removeEntity(_0x5758d1,null))[_0xdb75('0x3c')](handleError(_0x5758d1,null));};