26f20a0adc52bd0ad99152764bf96561293026f7
[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 _0x215d=['util','path','ejs','lodash','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','then','destroy','error','stack','name','send','params','model','keys','MailApplication','rawAttributes','query','filters','intersection','fields','length','include','merge','find','update','body','catch','rimraf','zip-dir','fast-json-patch','moment','mustache'];(function(_0x4009b5,_0x4ba0f7){var _0x2d06c2=function(_0x56edb4){while(--_0x56edb4){_0x4009b5['push'](_0x4009b5['shift']());}};_0x2d06c2(++_0x4ba0f7);}(_0x215d,0xdb));var _0xd215=function(_0x38a0b6,_0x1aa9e6){_0x38a0b6=_0x38a0b6-0x0;var _0x4fb245=_0x215d[_0x38a0b6];return _0x4fb245;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0xd215('0x0'));var zipdir=require(_0xd215('0x1'));var jsonpatch=require(_0xd215('0x2'));var rp=require('request-promise');var moment=require(_0xd215('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xd215('0x4'));var util=require(_0xd215('0x5'));var path=require(_0xd215('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xd215('0x7'));var fs=require('fs');var _=require(_0xd215('0x8'));var squel=require('squel');var crypto=require(_0xd215('0x9'));var jsforce=require(_0xd215('0xa'));var deskjs=require(_0xd215('0xb'));var toCsv=require(_0xd215('0xc'));var querystring=require('querystring');var Papa=require(_0xd215('0xd'));var Redis=require(_0xd215('0xe'));var authService=require(_0xd215('0xf'));var qs=require(_0xd215('0x10'));var as=require(_0xd215('0x11'));var hardwareService=require(_0xd215('0x12'));var logger=require(_0xd215('0x13'))(_0xd215('0x14'));var utils=require(_0xd215('0x15'));var config=require(_0xd215('0x16'));var db=require(_0xd215('0x17'))['db'];function respondWithStatusCode(_0x3187b3,_0x4507e4){_0x4507e4=_0x4507e4||0xcc;return function(_0x468ee3){if(_0x468ee3){return _0x3187b3[_0xd215('0x18')](_0x4507e4);}return _0x3187b3[_0xd215('0x19')](_0x4507e4)[_0xd215('0x1a')]();};}function respondWithResult(_0x21d80e,_0x2355ea){_0x2355ea=_0x2355ea||0xc8;return function(_0xe71d7a){if(_0xe71d7a){return _0x21d80e['status'](_0x2355ea)[_0xd215('0x1b')](_0xe71d7a);}};}function respondWithFilteredResult(_0x559176,_0x264092){return function(_0x4e2776){if(_0x4e2776){var _0x1d65b9=_0x4e2776['count'],_0x3d3f8c=_0x264092[_0xd215('0x1c')],_0xf21611=_0x264092[_0xd215('0x1c')]+_0x264092[_0xd215('0x1d')],_0x49afbb;if(_0xf21611>=_0x1d65b9){_0xf21611=_0x1d65b9;_0x49afbb=0xc8;}else{_0x49afbb=0xce;}_0x559176[_0xd215('0x19')](_0x49afbb);return _0x559176[_0xd215('0x1e')](_0xd215('0x1f'),_0x3d3f8c+'-'+_0xf21611+'/'+_0x1d65b9)[_0xd215('0x1b')](_0x4e2776);}return null;};}function patchUpdates(_0x3aa640){return function(_0x2d7b46){try{jsonpatch[_0xd215('0x20')](_0x2d7b46,_0x3aa640,!![]);}catch(_0x51d159){return BPromise[_0xd215('0x21')](_0x51d159);}return _0x2d7b46['save']();};}function saveUpdates(_0x32449c,_0x5385ec){return function(_0x15b352){if(_0x15b352){return _0x15b352['update'](_0x32449c)[_0xd215('0x22')](function(_0x2ece5){return _0x2ece5;});}return null;};}function removeEntity(_0x281ea7,_0x1ff9a9){return function(_0x44b9ad){if(_0x44b9ad){return _0x44b9ad[_0xd215('0x23')]()[_0xd215('0x22')](function(){_0x281ea7[_0xd215('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x350dea,_0x47dfa5){return function(_0x121bef){if(!_0x121bef){_0x350dea[_0xd215('0x18')](0x194);}return _0x121bef;};}function handleError(_0x3f2f31,_0xbeb34){_0xbeb34=_0xbeb34||0x1f4;return function(_0x5b8ad4){logger[_0xd215('0x24')](_0x5b8ad4[_0xd215('0x25')]);if(_0x5b8ad4[_0xd215('0x26')]){delete _0x5b8ad4['name'];}_0x3f2f31[_0xd215('0x19')](_0xbeb34)[_0xd215('0x27')](_0x5b8ad4);};}exports['show']=function(_0x160eac,_0x2b6824){var _0x49a04e={'raw':!![],'where':{'id':_0x160eac[_0xd215('0x28')]['id']}},_0xd6fef9={};_0xd6fef9[_0xd215('0x29')]=_[_0xd215('0x2a')](db[_0xd215('0x2b')][_0xd215('0x2c')]);_0xd6fef9[_0xd215('0x2d')]=_[_0xd215('0x2a')](_0x160eac['query']);_0xd6fef9[_0xd215('0x2e')]=_[_0xd215('0x2f')](_0xd6fef9[_0xd215('0x29')],_0xd6fef9[_0xd215('0x2d')]);_0x49a04e['attributes']=_[_0xd215('0x2f')](_0xd6fef9[_0xd215('0x29')],qs[_0xd215('0x30')](_0x160eac[_0xd215('0x2d')]['fields']));_0x49a04e['attributes']=_0x49a04e['attributes'][_0xd215('0x31')]?_0x49a04e['attributes']:_0xd6fef9['model'];if(_0x160eac[_0xd215('0x2d')]['includeAll']){_0x49a04e[_0xd215('0x32')]=[{'all':!![]}];}_0x49a04e=_[_0xd215('0x33')]({},_0x49a04e,_0x160eac['options']);return db[_0xd215('0x2b')][_0xd215('0x34')](_0x49a04e)['then'](handleEntityNotFound(_0x2b6824,null))[_0xd215('0x22')](respondWithResult(_0x2b6824,null))['catch'](handleError(_0x2b6824,null));};exports[_0xd215('0x35')]=function(_0x19f987,_0x2548a6){if(_0x19f987[_0xd215('0x36')]['id']){delete _0x19f987[_0xd215('0x36')]['id'];}return db[_0xd215('0x2b')][_0xd215('0x34')]({'where':{'id':_0x19f987['params']['id']}})['then'](handleEntityNotFound(_0x2548a6,null))[_0xd215('0x22')](saveUpdates(_0x19f987[_0xd215('0x36')],null))['then'](respondWithResult(_0x2548a6,null))[_0xd215('0x37')](handleError(_0x2548a6,null));};exports[_0xd215('0x23')]=function(_0x3c3ceb,_0x58559c){return db[_0xd215('0x2b')][_0xd215('0x34')]({'where':{'id':_0x3c3ceb[_0xd215('0x28')]['id']}})['then'](handleEntityNotFound(_0x58559c,null))[_0xd215('0x22')](removeEntity(_0x58559c,null))['catch'](handleError(_0x58559c,null));};