6eddc1df3a29590e77705b55bf0fd20aa204991f
[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 _0xf4ab=['status','end','json','offset','undefined','limit','count','set','reject','save','update','then','destroy','sendStatus','stack','name','send','merge','body','contact','agent','account','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','VIRTUAL','includeAll','include','MailSubstatus','findAll','rows','catch','show','params','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x34f741,_0x19221f){var _0x48bc42=function(_0x294d07){while(--_0x294d07){_0x34f741['push'](_0x34f741['shift']());}};_0x48bc42(++_0x19221f);}(_0xf4ab,0xd2));var _0xbf4a=function(_0x406696,_0x39f9b1){_0x406696=_0x406696-0x0;var _0x10e35c=_0xf4ab[_0x406696];return _0x10e35c;};'use strict';var emlformat=require(_0xbf4a('0x0'));var rimraf=require(_0xbf4a('0x1'));var zipdir=require(_0xbf4a('0x2'));var jsonpatch=require(_0xbf4a('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbf4a('0x4'));var util=require(_0xbf4a('0x5'));var path=require(_0xbf4a('0x6'));var sox=require(_0xbf4a('0x7'));var csv=require(_0xbf4a('0x8'));var ejs=require(_0xbf4a('0x9'));var fs=require('fs');var fs_extra=require(_0xbf4a('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xbf4a('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xbf4a('0xc'));var toCsv=require(_0xbf4a('0x8'));var querystring=require(_0xbf4a('0xd'));var Papa=require(_0xbf4a('0xe'));var Redis=require(_0xbf4a('0xf'));var authService=require(_0xbf4a('0x10'));var qs=require(_0xbf4a('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbf4a('0x12'));var logger=require(_0xbf4a('0x13'))(_0xbf4a('0x14'));var utils=require(_0xbf4a('0x15'));var config=require(_0xbf4a('0x16'));var licenseUtil=require(_0xbf4a('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x29cd4f,_0x15afa1){_0x15afa1=_0x15afa1||0xcc;return function(_0x84fa7b){if(_0x84fa7b){return _0x29cd4f['sendStatus'](_0x15afa1);}return _0x29cd4f[_0xbf4a('0x18')](_0x15afa1)[_0xbf4a('0x19')]();};}function respondWithResult(_0x2a92aa,_0x3d8687){_0x3d8687=_0x3d8687||0xc8;return function(_0xeb75e1){if(_0xeb75e1){return _0x2a92aa['status'](_0x3d8687)[_0xbf4a('0x1a')](_0xeb75e1);}};}function respondWithFilteredResult(_0xe9c0b1,_0x17c21f){return function(_0x1add2d){if(_0x1add2d){var _0x1ad19b=typeof _0x17c21f[_0xbf4a('0x1b')]===_0xbf4a('0x1c')&&typeof _0x17c21f[_0xbf4a('0x1d')]===_0xbf4a('0x1c');var _0x4c0c0d=_0x1add2d[_0xbf4a('0x1e')];var _0x14b75a=_0x1ad19b?0x0:_0x17c21f['offset'];var _0x2f072a=_0x1ad19b?_0x1add2d['count']:_0x17c21f[_0xbf4a('0x1b')]+_0x17c21f[_0xbf4a('0x1d')];var _0x3aa327;if(_0x2f072a>=_0x4c0c0d){_0x2f072a=_0x4c0c0d;_0x3aa327=0xc8;}else{_0x3aa327=0xce;}_0xe9c0b1[_0xbf4a('0x18')](_0x3aa327);return _0xe9c0b1[_0xbf4a('0x1f')]('Content-Range',_0x14b75a+'-'+_0x2f072a+'/'+_0x4c0c0d)['json'](_0x1add2d);}return null;};}function patchUpdates(_0x2205b4){return function(_0x3a6bb8){try{jsonpatch['apply'](_0x3a6bb8,_0x2205b4,!![]);}catch(_0x469205){return BPromise[_0xbf4a('0x20')](_0x469205);}return _0x3a6bb8[_0xbf4a('0x21')]();};}function saveUpdates(_0x300532,_0x528112){return function(_0x24dac1){if(_0x24dac1){return _0x24dac1[_0xbf4a('0x22')](_0x300532)[_0xbf4a('0x23')](function(_0x47ee12){return _0x47ee12;});}return null;};}function removeEntity(_0x250351,_0x2d6331){return function(_0x4cf010){if(_0x4cf010){return _0x4cf010[_0xbf4a('0x24')]()[_0xbf4a('0x23')](function(){_0x250351['status'](0xcc)[_0xbf4a('0x19')]();});}};}function handleEntityNotFound(_0x474e3a,_0x54f11d){return function(_0x84a5fb){if(!_0x84a5fb){_0x474e3a[_0xbf4a('0x25')](0x194);}return _0x84a5fb;};}function handleError(_0xcd0a12,_0x212ad5){_0x212ad5=_0x212ad5||0x1f4;return function(_0x283af6){logger['error'](_0x283af6[_0xbf4a('0x26')]);if(_0x283af6[_0xbf4a('0x27')]){delete _0x283af6[_0xbf4a('0x27')];}_0xcd0a12[_0xbf4a('0x18')](_0x212ad5)[_0xbf4a('0x28')](_0x283af6);};}function getMustacheRender(_0x293f9b,_0x494edc){return Mustache['render'](_0x293f9b,_[_0xbf4a('0x29')](_0x494edc[_0xbf4a('0x2a')],{'contact':_0x494edc[_0xbf4a('0x2b')],'message':_0x494edc['message'],'agent':_0x494edc[_0xbf4a('0x2c')],'interaction':_0x494edc['interaction'],'account':_0x494edc[_0xbf4a('0x2d')]}))||'';}exports[_0xbf4a('0x2e')]=function(_0x56f9ba,_0x274abe){var _0x514f54={},_0x1b0c6a={},_0x5bddc1={'count':0x0,'rows':[]};var _0x2d75c1=_[_0xbf4a('0x2f')](db['MailSubstatus'][_0xbf4a('0x30')],function(_0x31619b){return{'name':_0x31619b[_0xbf4a('0x31')],'type':_0x31619b[_0xbf4a('0x32')][_0xbf4a('0x33')]};});_0x1b0c6a[_0xbf4a('0x34')]=_[_0xbf4a('0x2f')](_0x2d75c1,'name');_0x1b0c6a[_0xbf4a('0x35')]=_[_0xbf4a('0x36')](_0x56f9ba[_0xbf4a('0x35')]);_0x1b0c6a[_0xbf4a('0x37')]=_[_0xbf4a('0x38')](_0x1b0c6a[_0xbf4a('0x34')],_0x1b0c6a[_0xbf4a('0x35')]);_0x514f54[_0xbf4a('0x39')]=_[_0xbf4a('0x38')](_0x1b0c6a[_0xbf4a('0x34')],qs[_0xbf4a('0x3a')](_0x56f9ba[_0xbf4a('0x35')]['fields']));_0x514f54[_0xbf4a('0x39')]=_0x514f54[_0xbf4a('0x39')][_0xbf4a('0x3b')]?_0x514f54[_0xbf4a('0x39')]:_0x1b0c6a['model'];if(!_0x56f9ba['query'][_0xbf4a('0x3c')](_0xbf4a('0x3d'))){_0x514f54['limit']=qs[_0xbf4a('0x1d')](_0x56f9ba['query'][_0xbf4a('0x1d')]);_0x514f54['offset']=qs[_0xbf4a('0x1b')](_0x56f9ba[_0xbf4a('0x35')][_0xbf4a('0x1b')]);}_0x514f54[_0xbf4a('0x3e')]=qs['sort'](_0x56f9ba[_0xbf4a('0x35')][_0xbf4a('0x3f')]);_0x514f54['where']=qs[_0xbf4a('0x37')](_[_0xbf4a('0x40')](_0x56f9ba[_0xbf4a('0x35')],_0x1b0c6a['filters']),_0x2d75c1);if(_0x56f9ba[_0xbf4a('0x35')][_0xbf4a('0x41')]){_0x514f54[_0xbf4a('0x42')]=_['merge'](_0x514f54[_0xbf4a('0x42')],{'$or':_[_0xbf4a('0x2f')](_0x2d75c1,function(_0x14b134){if(_0x14b134[_0xbf4a('0x32')]!==_0xbf4a('0x43')){var _0x905a89={};_0x905a89[_0x14b134['name']]={'$like':'%'+_0x56f9ba['query'][_0xbf4a('0x41')]+'%'};return _0x905a89;}})});}_0x514f54=_[_0xbf4a('0x29')]({},_0x514f54,_0x56f9ba['options']);var _0x2ffe39={'where':_0x514f54[_0xbf4a('0x42')]};return db['MailSubstatus'][_0xbf4a('0x1e')](_0x2ffe39)[_0xbf4a('0x23')](function(_0x5b42c5){_0x5bddc1['count']=_0x5b42c5;if(_0x56f9ba[_0xbf4a('0x35')][_0xbf4a('0x44')]){_0x514f54[_0xbf4a('0x45')]=[{'all':!![]}];}return db[_0xbf4a('0x46')][_0xbf4a('0x47')](_0x514f54);})[_0xbf4a('0x23')](function(_0x3a5fe0){_0x5bddc1[_0xbf4a('0x48')]=_0x3a5fe0;return _0x5bddc1;})[_0xbf4a('0x23')](respondWithFilteredResult(_0x274abe,_0x514f54))[_0xbf4a('0x49')](handleError(_0x274abe,null));};exports[_0xbf4a('0x4a')]=function(_0x3fec45,_0x4fb3d1){var _0x1e35a6={'raw':!![],'where':{'id':_0x3fec45[_0xbf4a('0x4b')]['id']}},_0x366592={};_0x366592[_0xbf4a('0x34')]=_[_0xbf4a('0x36')](db[_0xbf4a('0x46')][_0xbf4a('0x30')]);_0x366592[_0xbf4a('0x35')]=_[_0xbf4a('0x36')](_0x3fec45[_0xbf4a('0x35')]);_0x366592[_0xbf4a('0x37')]=_[_0xbf4a('0x38')](_0x366592['model'],_0x366592['query']);_0x1e35a6[_0xbf4a('0x39')]=_[_0xbf4a('0x38')](_0x366592[_0xbf4a('0x34')],qs[_0xbf4a('0x3a')](_0x3fec45[_0xbf4a('0x35')][_0xbf4a('0x3a')]));_0x1e35a6[_0xbf4a('0x39')]=_0x1e35a6['attributes']['length']?_0x1e35a6[_0xbf4a('0x39')]:_0x366592['model'];if(_0x3fec45[_0xbf4a('0x35')][_0xbf4a('0x44')]){_0x1e35a6[_0xbf4a('0x45')]=[{'all':!![]}];}_0x1e35a6=_['merge']({},_0x1e35a6,_0x3fec45['options']);return db[_0xbf4a('0x46')][_0xbf4a('0x4c')](_0x1e35a6)[_0xbf4a('0x23')](handleEntityNotFound(_0x4fb3d1,null))[_0xbf4a('0x23')](respondWithResult(_0x4fb3d1,null))[_0xbf4a('0x49')](handleError(_0x4fb3d1,null));};exports['create']=function(_0x31d186,_0x178470){return db[_0xbf4a('0x46')]['create'](_0x31d186[_0xbf4a('0x2a')],{})[_0xbf4a('0x23')](respondWithResult(_0x178470,0xc9))[_0xbf4a('0x49')](handleError(_0x178470,null));};exports['update']=function(_0x5a38f8,_0x2868a2){if(_0x5a38f8[_0xbf4a('0x2a')]['id']){delete _0x5a38f8[_0xbf4a('0x2a')]['id'];}return db[_0xbf4a('0x46')][_0xbf4a('0x4c')]({'where':{'id':_0x5a38f8[_0xbf4a('0x4b')]['id']}})[_0xbf4a('0x23')](handleEntityNotFound(_0x2868a2,null))['then'](saveUpdates(_0x5a38f8[_0xbf4a('0x2a')],null))['then'](respondWithResult(_0x2868a2,null))[_0xbf4a('0x49')](handleError(_0x2868a2,null));};exports['destroy']=function(_0x4df70a,_0x259553){return db[_0xbf4a('0x46')][_0xbf4a('0x4c')]({'where':{'id':_0x4df70a[_0xbf4a('0x4b')]['id']}})[_0xbf4a('0x23')](handleEntityNotFound(_0x259553,null))[_0xbf4a('0x23')](removeEntity(_0x259553,null))['catch'](handleError(_0x259553,null));};exports[_0xbf4a('0x4d')]=function(_0x466aa6,_0x539529){return db['MailSubstatus'][_0xbf4a('0x4d')]()[_0xbf4a('0x23')](respondWithResult(_0x539529,null))[_0xbf4a('0x49')](handleError(_0x539529,null));};