b8e793c358d42b1f895b5af040ddfb468b747c6f
[motion2.git] / server / api / mailSubstatus / mailSubstatus.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 _0x6fda=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','apply','then','error','stack','name','send','index','map','MailSubstatus','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','show','params','includeAll','catch','create','body','update','find','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra'];(function(_0x224b52,_0xdf83ca){var _0x8df419=function(_0x240d69){while(--_0x240d69){_0x224b52['push'](_0x224b52['shift']());}};_0x8df419(++_0xdf83ca);}(_0x6fda,0x125));var _0xa6fd=function(_0x11c112,_0x365f34){_0x11c112=_0x11c112-0x0;var _0x3e7432=_0x6fda[_0x11c112];return _0x3e7432;};'use strict';var emlformat=require(_0xa6fd('0x0'));var rimraf=require(_0xa6fd('0x1'));var zipdir=require(_0xa6fd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa6fd('0x3'));var moment=require(_0xa6fd('0x4'));var BPromise=require(_0xa6fd('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xa6fd('0x6'));var sox=require(_0xa6fd('0x7'));var csv=require(_0xa6fd('0x8'));var ejs=require(_0xa6fd('0x9'));var fs=require('fs');var fs_extra=require(_0xa6fd('0xa'));var _=require(_0xa6fd('0xb'));var squel=require(_0xa6fd('0xc'));var crypto=require(_0xa6fd('0xd'));var jsforce=require(_0xa6fd('0xe'));var deskjs=require(_0xa6fd('0xf'));var toCsv=require(_0xa6fd('0x8'));var querystring=require(_0xa6fd('0x10'));var Papa=require(_0xa6fd('0x11'));var Redis=require(_0xa6fd('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xa6fd('0x13'));var hardwareService=require(_0xa6fd('0x14'));var logger=require('../../config/logger')(_0xa6fd('0x15'));var utils=require(_0xa6fd('0x16'));var config=require(_0xa6fd('0x17'));var licenseUtil=require(_0xa6fd('0x18'));var db=require(_0xa6fd('0x19'))['db'];function respondWithStatusCode(_0x45fee5,_0x43ea35){_0x43ea35=_0x43ea35||0xcc;return function(_0x5c14ac){if(_0x5c14ac){return _0x45fee5[_0xa6fd('0x1a')](_0x43ea35);}return _0x45fee5[_0xa6fd('0x1b')](_0x43ea35)[_0xa6fd('0x1c')]();};}function respondWithResult(_0x3e0706,_0x5482f3){_0x5482f3=_0x5482f3||0xc8;return function(_0x146b63){if(_0x146b63){return _0x3e0706[_0xa6fd('0x1b')](_0x5482f3)['json'](_0x146b63);}};}function respondWithFilteredResult(_0x360dac,_0xc307b8){return function(_0x5f3dd9){if(_0x5f3dd9){var _0xb60088=typeof _0xc307b8[_0xa6fd('0x1d')]===_0xa6fd('0x1e')&&typeof _0xc307b8['limit']===_0xa6fd('0x1e');var _0x1a154d=_0x5f3dd9[_0xa6fd('0x1f')];var _0x4a625c=_0xb60088?0x0:_0xc307b8['offset'];var _0x177687=_0xb60088?_0x5f3dd9['count']:_0xc307b8['offset']+_0xc307b8[_0xa6fd('0x20')];var _0x46edb9;if(_0x177687>=_0x1a154d){_0x177687=_0x1a154d;_0x46edb9=0xc8;}else{_0x46edb9=0xce;}_0x360dac[_0xa6fd('0x1b')](_0x46edb9);return _0x360dac[_0xa6fd('0x21')](_0xa6fd('0x22'),_0x4a625c+'-'+_0x177687+'/'+_0x1a154d)[_0xa6fd('0x23')](_0x5f3dd9);}return null;};}function patchUpdates(_0x385654){return function(_0x675b23){try{jsonpatch[_0xa6fd('0x24')](_0x675b23,_0x385654,!![]);}catch(_0x5c3e33){return BPromise['reject'](_0x5c3e33);}return _0x675b23['save']();};}function saveUpdates(_0x6fd7ce,_0x21a71d){return function(_0x4f4fe0){if(_0x4f4fe0){return _0x4f4fe0['update'](_0x6fd7ce)[_0xa6fd('0x25')](function(_0xbd212d){return _0xbd212d;});}return null;};}function removeEntity(_0x1e7faa,_0x39ff4c){return function(_0x5393d1){if(_0x5393d1){return _0x5393d1['destroy']()[_0xa6fd('0x25')](function(){_0x1e7faa[_0xa6fd('0x1b')](0xcc)[_0xa6fd('0x1c')]();});}};}function handleEntityNotFound(_0x33ce5f,_0x290255){return function(_0x4897e7){if(!_0x4897e7){_0x33ce5f[_0xa6fd('0x1a')](0x194);}return _0x4897e7;};}function handleError(_0x41f7b3,_0x4a58ea){_0x4a58ea=_0x4a58ea||0x1f4;return function(_0x32b7de){logger[_0xa6fd('0x26')](_0x32b7de[_0xa6fd('0x27')]);if(_0x32b7de['name']){delete _0x32b7de[_0xa6fd('0x28')];}_0x41f7b3[_0xa6fd('0x1b')](_0x4a58ea)[_0xa6fd('0x29')](_0x32b7de);};}exports[_0xa6fd('0x2a')]=function(_0x1f1c79,_0x4c600f){var _0x2e6df4={},_0x3f1338={},_0x59a1dc={'count':0x0,'rows':[]};var _0x1a4323=_[_0xa6fd('0x2b')](db[_0xa6fd('0x2c')]['rawAttributes'],function(_0xa01a66){return{'name':_0xa01a66[_0xa6fd('0x2d')],'type':_0xa01a66[_0xa6fd('0x2e')][_0xa6fd('0x2f')]};});_0x3f1338[_0xa6fd('0x30')]=_[_0xa6fd('0x2b')](_0x1a4323,'name');_0x3f1338[_0xa6fd('0x31')]=_[_0xa6fd('0x32')](_0x1f1c79[_0xa6fd('0x31')]);_0x3f1338[_0xa6fd('0x33')]=_[_0xa6fd('0x34')](_0x3f1338[_0xa6fd('0x30')],_0x3f1338[_0xa6fd('0x31')]);_0x2e6df4['attributes']=_['intersection'](_0x3f1338[_0xa6fd('0x30')],qs[_0xa6fd('0x35')](_0x1f1c79['query'][_0xa6fd('0x35')]));_0x2e6df4['attributes']=_0x2e6df4[_0xa6fd('0x36')][_0xa6fd('0x37')]?_0x2e6df4[_0xa6fd('0x36')]:_0x3f1338[_0xa6fd('0x30')];if(!_0x1f1c79[_0xa6fd('0x31')][_0xa6fd('0x38')](_0xa6fd('0x39'))){_0x2e6df4[_0xa6fd('0x20')]=qs[_0xa6fd('0x20')](_0x1f1c79[_0xa6fd('0x31')][_0xa6fd('0x20')]);_0x2e6df4[_0xa6fd('0x1d')]=qs['offset'](_0x1f1c79['query']['offset']);}_0x2e6df4[_0xa6fd('0x3a')]=qs[_0xa6fd('0x3b')](_0x1f1c79['query']['sort']);_0x2e6df4[_0xa6fd('0x3c')]=qs[_0xa6fd('0x33')](_[_0xa6fd('0x3d')](_0x1f1c79[_0xa6fd('0x31')],_0x3f1338['filters']),_0x1a4323);if(_0x1f1c79[_0xa6fd('0x31')]['filter']){_0x2e6df4[_0xa6fd('0x3c')]=_[_0xa6fd('0x3e')](_0x2e6df4[_0xa6fd('0x3c')],{'$or':_[_0xa6fd('0x2b')](_0x1a4323,function(_0xad9ccd){if(_0xad9ccd['type']!==_0xa6fd('0x3f')){var _0x5b4500={};_0x5b4500[_0xad9ccd[_0xa6fd('0x28')]]={'$like':'%'+_0x1f1c79['query'][_0xa6fd('0x40')]+'%'};return _0x5b4500;}})});}_0x2e6df4=_[_0xa6fd('0x3e')]({},_0x2e6df4,_0x1f1c79[_0xa6fd('0x41')]);var _0x11d38d={'where':_0x2e6df4['where']};return db[_0xa6fd('0x2c')]['count'](_0x11d38d)['then'](function(_0x336cf4){_0x59a1dc[_0xa6fd('0x1f')]=_0x336cf4;if(_0x1f1c79[_0xa6fd('0x31')]['includeAll']){_0x2e6df4[_0xa6fd('0x42')]=[{'all':!![]}];}return db[_0xa6fd('0x2c')]['findAll'](_0x2e6df4);})[_0xa6fd('0x25')](function(_0x367818){_0x59a1dc['rows']=_0x367818;return _0x59a1dc;})['then'](respondWithFilteredResult(_0x4c600f,_0x2e6df4))['catch'](handleError(_0x4c600f,null));};exports[_0xa6fd('0x43')]=function(_0x39c941,_0x40837c){var _0x36fa3c={'raw':!![],'where':{'id':_0x39c941[_0xa6fd('0x44')]['id']}},_0xdd7d9a={};_0xdd7d9a[_0xa6fd('0x30')]=_['keys'](db[_0xa6fd('0x2c')]['rawAttributes']);_0xdd7d9a[_0xa6fd('0x31')]=_['keys'](_0x39c941['query']);_0xdd7d9a[_0xa6fd('0x33')]=_[_0xa6fd('0x34')](_0xdd7d9a[_0xa6fd('0x30')],_0xdd7d9a['query']);_0x36fa3c[_0xa6fd('0x36')]=_[_0xa6fd('0x34')](_0xdd7d9a[_0xa6fd('0x30')],qs[_0xa6fd('0x35')](_0x39c941[_0xa6fd('0x31')][_0xa6fd('0x35')]));_0x36fa3c[_0xa6fd('0x36')]=_0x36fa3c[_0xa6fd('0x36')][_0xa6fd('0x37')]?_0x36fa3c[_0xa6fd('0x36')]:_0xdd7d9a[_0xa6fd('0x30')];if(_0x39c941[_0xa6fd('0x31')][_0xa6fd('0x45')]){_0x36fa3c[_0xa6fd('0x42')]=[{'all':!![]}];}_0x36fa3c=_[_0xa6fd('0x3e')]({},_0x36fa3c,_0x39c941[_0xa6fd('0x41')]);return db[_0xa6fd('0x2c')]['find'](_0x36fa3c)[_0xa6fd('0x25')](handleEntityNotFound(_0x40837c,null))[_0xa6fd('0x25')](respondWithResult(_0x40837c,null))[_0xa6fd('0x46')](handleError(_0x40837c,null));};exports['create']=function(_0x1909ad,_0x5ee67d){return db[_0xa6fd('0x2c')][_0xa6fd('0x47')](_0x1909ad[_0xa6fd('0x48')],{})[_0xa6fd('0x25')](respondWithResult(_0x5ee67d,0xc9))[_0xa6fd('0x46')](handleError(_0x5ee67d,null));};exports[_0xa6fd('0x49')]=function(_0x1fae4b,_0x521169){if(_0x1fae4b[_0xa6fd('0x48')]['id']){delete _0x1fae4b['body']['id'];}return db[_0xa6fd('0x2c')][_0xa6fd('0x4a')]({'where':{'id':_0x1fae4b[_0xa6fd('0x44')]['id']}})[_0xa6fd('0x25')](handleEntityNotFound(_0x521169,null))[_0xa6fd('0x25')](saveUpdates(_0x1fae4b[_0xa6fd('0x48')],null))[_0xa6fd('0x25')](respondWithResult(_0x521169,null))[_0xa6fd('0x46')](handleError(_0x521169,null));};exports['destroy']=function(_0x6eacb6,_0x22363f){return db[_0xa6fd('0x2c')][_0xa6fd('0x4a')]({'where':{'id':_0x6eacb6[_0xa6fd('0x44')]['id']}})[_0xa6fd('0x25')](handleEntityNotFound(_0x22363f,null))['then'](removeEntity(_0x22363f,null))[_0xa6fd('0x46')](handleError(_0x22363f,null));};exports[_0xa6fd('0x4b')]=function(_0x5e37b7,_0x257221){return db['MailSubstatus'][_0xa6fd('0x4b')]()[_0xa6fd('0x25')](respondWithResult(_0x257221,null))[_0xa6fd('0x46')](handleError(_0x257221,null));};