e89d42f572f45fa5c37cd3d9667321e13d6acdde
[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 _0x4383=['fs-extra','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','update','then','destroy','error','stack','name','render','merge','body','contact','message','agent','interaction','account','index','rawAttributes','fieldName','type','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','options','MailSubstatus','includeAll','include','findAll','rows','catch','params','find','create','describe','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x1156f3,_0x5ae279){var _0x4acf07=function(_0x4bf3ef){while(--_0x4bf3ef){_0x1156f3['push'](_0x1156f3['shift']());}};_0x4acf07(++_0x5ae279);}(_0x4383,0x94));var _0x3438=function(_0x404395,_0x3b63b9){_0x404395=_0x404395-0x0;var _0x43cda9=_0x4383[_0x404395];return _0x43cda9;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3438('0x0'));var jsonpatch=require(_0x3438('0x1'));var rp=require(_0x3438('0x2'));var moment=require(_0x3438('0x3'));var BPromise=require(_0x3438('0x4'));var Mustache=require(_0x3438('0x5'));var util=require(_0x3438('0x6'));var path=require(_0x3438('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3438('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x3438('0x9'));var toCsv=require(_0x3438('0xa'));var querystring=require(_0x3438('0xb'));var Papa=require(_0x3438('0xc'));var Redis=require(_0x3438('0xd'));var authService=require('../../components/auth/service');var qs=require(_0x3438('0xe'));var as=require(_0x3438('0xf'));var hardwareService=require(_0x3438('0x10'));var logger=require(_0x3438('0x11'))(_0x3438('0x12'));var utils=require('../../config/utils');var config=require(_0x3438('0x13'));var licenseUtil=require(_0x3438('0x14'));var db=require(_0x3438('0x15'))['db'];function respondWithStatusCode(_0x1a3f53,_0x2e92f7){_0x2e92f7=_0x2e92f7||0xcc;return function(_0x2688b0){if(_0x2688b0){return _0x1a3f53[_0x3438('0x16')](_0x2e92f7);}return _0x1a3f53[_0x3438('0x17')](_0x2e92f7)[_0x3438('0x18')]();};}function respondWithResult(_0x1934c0,_0x344b2b){_0x344b2b=_0x344b2b||0xc8;return function(_0x6c4b9a){if(_0x6c4b9a){return _0x1934c0[_0x3438('0x17')](_0x344b2b)['json'](_0x6c4b9a);}};}function respondWithFilteredResult(_0x564038,_0x496556){return function(_0x1379b9){if(_0x1379b9){var _0x11a349=typeof _0x496556[_0x3438('0x19')]===_0x3438('0x1a')&&typeof _0x496556[_0x3438('0x1b')]===_0x3438('0x1a');var _0x496b6c=_0x1379b9[_0x3438('0x1c')];var _0xa7b64e=_0x11a349?0x0:_0x496556[_0x3438('0x19')];var _0x77465d=_0x11a349?_0x1379b9['count']:_0x496556[_0x3438('0x19')]+_0x496556['limit'];var _0x5dafd1;if(_0x77465d>=_0x496b6c){_0x77465d=_0x496b6c;_0x5dafd1=0xc8;}else{_0x5dafd1=0xce;}_0x564038[_0x3438('0x17')](_0x5dafd1);return _0x564038[_0x3438('0x1d')](_0x3438('0x1e'),_0xa7b64e+'-'+_0x77465d+'/'+_0x496b6c)[_0x3438('0x1f')](_0x1379b9);}return null;};}function patchUpdates(_0x41697e){return function(_0x57d4d3){try{jsonpatch[_0x3438('0x20')](_0x57d4d3,_0x41697e,!![]);}catch(_0xe1f11c){return BPromise['reject'](_0xe1f11c);}return _0x57d4d3['save']();};}function saveUpdates(_0x4a2a73,_0x3682e0){return function(_0x160a2e){if(_0x160a2e){return _0x160a2e[_0x3438('0x21')](_0x4a2a73)[_0x3438('0x22')](function(_0x433d6e){return _0x433d6e;});}return null;};}function removeEntity(_0x41700b,_0x73b2bf){return function(_0x1cf046){if(_0x1cf046){return _0x1cf046[_0x3438('0x23')]()[_0x3438('0x22')](function(){_0x41700b[_0x3438('0x17')](0xcc)[_0x3438('0x18')]();});}};}function handleEntityNotFound(_0x2b5d0,_0x35a3b9){return function(_0x17414d){if(!_0x17414d){_0x2b5d0[_0x3438('0x16')](0x194);}return _0x17414d;};}function handleError(_0x496d04,_0x5a8e05){_0x5a8e05=_0x5a8e05||0x1f4;return function(_0x396128){logger[_0x3438('0x24')](_0x396128[_0x3438('0x25')]);if(_0x396128['name']){delete _0x396128[_0x3438('0x26')];}_0x496d04[_0x3438('0x17')](_0x5a8e05)['send'](_0x396128);};}function getMustacheRender(_0x226fe5,_0x1b9b7f){return Mustache[_0x3438('0x27')](_0x226fe5,_[_0x3438('0x28')](_0x1b9b7f[_0x3438('0x29')],{'contact':_0x1b9b7f[_0x3438('0x2a')],'message':_0x1b9b7f[_0x3438('0x2b')],'agent':_0x1b9b7f[_0x3438('0x2c')],'interaction':_0x1b9b7f[_0x3438('0x2d')],'account':_0x1b9b7f[_0x3438('0x2e')]}))||'';}exports[_0x3438('0x2f')]=function(_0x1ad110,_0x5b6895){var _0x3c7ece={},_0x1e935c={},_0x48b06d={'count':0x0,'rows':[]};var _0x5e58ef=_['map'](db['MailSubstatus'][_0x3438('0x30')],function(_0x296375){return{'name':_0x296375[_0x3438('0x31')],'type':_0x296375[_0x3438('0x32')]['key']};});_0x1e935c[_0x3438('0x33')]=_[_0x3438('0x34')](_0x5e58ef,'name');_0x1e935c[_0x3438('0x35')]=_[_0x3438('0x36')](_0x1ad110[_0x3438('0x35')]);_0x1e935c['filters']=_[_0x3438('0x37')](_0x1e935c['model'],_0x1e935c['query']);_0x3c7ece['attributes']=_[_0x3438('0x37')](_0x1e935c[_0x3438('0x33')],qs[_0x3438('0x38')](_0x1ad110[_0x3438('0x35')]['fields']));_0x3c7ece[_0x3438('0x39')]=_0x3c7ece[_0x3438('0x39')][_0x3438('0x3a')]?_0x3c7ece['attributes']:_0x1e935c[_0x3438('0x33')];if(!_0x1ad110[_0x3438('0x35')][_0x3438('0x3b')]('nolimit')){_0x3c7ece[_0x3438('0x1b')]=qs[_0x3438('0x1b')](_0x1ad110[_0x3438('0x35')][_0x3438('0x1b')]);_0x3c7ece[_0x3438('0x19')]=qs[_0x3438('0x19')](_0x1ad110['query'][_0x3438('0x19')]);}_0x3c7ece[_0x3438('0x3c')]=qs[_0x3438('0x3d')](_0x1ad110['query'][_0x3438('0x3d')]);_0x3c7ece[_0x3438('0x3e')]=qs[_0x3438('0x3f')](_[_0x3438('0x40')](_0x1ad110[_0x3438('0x35')],_0x1e935c['filters']),_0x5e58ef);if(_0x1ad110[_0x3438('0x35')][_0x3438('0x41')]){_0x3c7ece[_0x3438('0x3e')]=_['merge'](_0x3c7ece[_0x3438('0x3e')],{'$or':_[_0x3438('0x34')](_0x5e58ef,function(_0x3accd8){if(_0x3accd8['type']!==_0x3438('0x42')){var _0x33ca44={};_0x33ca44[_0x3accd8[_0x3438('0x26')]]={'$like':'%'+_0x1ad110[_0x3438('0x35')][_0x3438('0x41')]+'%'};return _0x33ca44;}})});}_0x3c7ece=_[_0x3438('0x28')]({},_0x3c7ece,_0x1ad110[_0x3438('0x43')]);var _0x597915={'where':_0x3c7ece[_0x3438('0x3e')]};return db[_0x3438('0x44')][_0x3438('0x1c')](_0x597915)['then'](function(_0x5cd972){_0x48b06d[_0x3438('0x1c')]=_0x5cd972;if(_0x1ad110[_0x3438('0x35')][_0x3438('0x45')]){_0x3c7ece[_0x3438('0x46')]=[{'all':!![]}];}return db[_0x3438('0x44')][_0x3438('0x47')](_0x3c7ece);})[_0x3438('0x22')](function(_0x5c83c2){_0x48b06d[_0x3438('0x48')]=_0x5c83c2;return _0x48b06d;})[_0x3438('0x22')](respondWithFilteredResult(_0x5b6895,_0x3c7ece))[_0x3438('0x49')](handleError(_0x5b6895,null));};exports['show']=function(_0x39dd28,_0x96e8e3){var _0xfeed09={'raw':!![],'where':{'id':_0x39dd28[_0x3438('0x4a')]['id']}},_0x588fd4={};_0x588fd4['model']=_['keys'](db[_0x3438('0x44')][_0x3438('0x30')]);_0x588fd4[_0x3438('0x35')]=_[_0x3438('0x36')](_0x39dd28[_0x3438('0x35')]);_0x588fd4['filters']=_['intersection'](_0x588fd4['model'],_0x588fd4['query']);_0xfeed09[_0x3438('0x39')]=_[_0x3438('0x37')](_0x588fd4[_0x3438('0x33')],qs['fields'](_0x39dd28['query']['fields']));_0xfeed09[_0x3438('0x39')]=_0xfeed09[_0x3438('0x39')][_0x3438('0x3a')]?_0xfeed09[_0x3438('0x39')]:_0x588fd4['model'];if(_0x39dd28[_0x3438('0x35')]['includeAll']){_0xfeed09[_0x3438('0x46')]=[{'all':!![]}];}_0xfeed09=_[_0x3438('0x28')]({},_0xfeed09,_0x39dd28[_0x3438('0x43')]);return db[_0x3438('0x44')][_0x3438('0x4b')](_0xfeed09)[_0x3438('0x22')](handleEntityNotFound(_0x96e8e3,null))[_0x3438('0x22')](respondWithResult(_0x96e8e3,null))[_0x3438('0x49')](handleError(_0x96e8e3,null));};exports[_0x3438('0x4c')]=function(_0x44aaf4,_0x18327b){return db[_0x3438('0x44')]['create'](_0x44aaf4[_0x3438('0x29')],{})['then'](respondWithResult(_0x18327b,0xc9))[_0x3438('0x49')](handleError(_0x18327b,null));};exports[_0x3438('0x21')]=function(_0x13081e,_0x236992){if(_0x13081e[_0x3438('0x29')]['id']){delete _0x13081e[_0x3438('0x29')]['id'];}return db[_0x3438('0x44')][_0x3438('0x4b')]({'where':{'id':_0x13081e[_0x3438('0x4a')]['id']}})['then'](handleEntityNotFound(_0x236992,null))['then'](saveUpdates(_0x13081e[_0x3438('0x29')],null))['then'](respondWithResult(_0x236992,null))['catch'](handleError(_0x236992,null));};exports[_0x3438('0x23')]=function(_0x1da155,_0x3924fd){return db[_0x3438('0x44')][_0x3438('0x4b')]({'where':{'id':_0x1da155['params']['id']}})['then'](handleEntityNotFound(_0x3924fd,null))[_0x3438('0x22')](removeEntity(_0x3924fd,null))['catch'](handleError(_0x3924fd,null));};exports['describe']=function(_0x490e21,_0x1f11df){return db['MailSubstatus'][_0x3438('0x4d')]()[_0x3438('0x22')](respondWithResult(_0x1f11df,null))[_0x3438('0x49')](handleError(_0x1f11df,null));};