53a630efcf3fa455a4b7cfb6f7d638bfc3bc6665
[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 _0xb401=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','status','end','json','count','offset','limit','set','apply','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','MailSubstatus','includeAll','include','rows','show','find','catch','create','body','params','describe','html-pdf','request-promise','moment','bluebird','mustache','util','path','sox','lodash','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x52b48a,_0x4be672){var _0x234d06=function(_0x4c9e33){while(--_0x4c9e33){_0x52b48a['push'](_0x52b48a['shift']());}};_0x234d06(++_0x4be672);}(_0xb401,0x108));var _0x1b40=function(_0x481299,_0x43b7a1){_0x481299=_0x481299-0x0;var _0x380b8a=_0xb401[_0x481299];return _0x380b8a;};'use strict';var pdf=require(_0x1b40('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x1b40('0x1'));var moment=require(_0x1b40('0x2'));var BPromise=require(_0x1b40('0x3'));var Mustache=require(_0x1b40('0x4'));var util=require(_0x1b40('0x5'));var path=require(_0x1b40('0x6'));var sox=require(_0x1b40('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x1b40('0x8'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x1b40('0x9'));var toCsv=require(_0x1b40('0xa'));var querystring=require(_0x1b40('0xb'));var Papa=require(_0x1b40('0xc'));var Redis=require(_0x1b40('0xd'));var authService=require(_0x1b40('0xe'));var qs=require(_0x1b40('0xf'));var as=require(_0x1b40('0x10'));var hardwareService=require(_0x1b40('0x11'));var logger=require(_0x1b40('0x12'))(_0x1b40('0x13'));var utils=require('../../config/utils');var config=require(_0x1b40('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x1b40('0x15'))['db'];function respondWithStatusCode(_0x443875,_0x2fb716){_0x2fb716=_0x2fb716||0xcc;return function(_0x380915){if(_0x380915){return _0x443875['sendStatus'](_0x2fb716);}return _0x443875[_0x1b40('0x16')](_0x2fb716)[_0x1b40('0x17')]();};}function respondWithResult(_0x2a32f6,_0x1733ed){_0x1733ed=_0x1733ed||0xc8;return function(_0x4acb54){if(_0x4acb54){return _0x2a32f6[_0x1b40('0x16')](_0x1733ed)[_0x1b40('0x18')](_0x4acb54);}};}function respondWithFilteredResult(_0x321568,_0xcf121c){return function(_0x377761){if(_0x377761){var _0x41d15f=_0x377761[_0x1b40('0x19')],_0x21cced=_0xcf121c['offset'],_0x30d28e=_0xcf121c[_0x1b40('0x1a')]+_0xcf121c[_0x1b40('0x1b')],_0x322a05;if(_0x30d28e>=_0x41d15f){_0x30d28e=_0x41d15f;_0x322a05=0xc8;}else{_0x322a05=0xce;}_0x321568[_0x1b40('0x16')](_0x322a05);return _0x321568[_0x1b40('0x1c')]('Content-Range',_0x21cced+'-'+_0x30d28e+'/'+_0x41d15f)[_0x1b40('0x18')](_0x377761);}return null;};}function patchUpdates(_0x5a9e44){return function(_0x5281df){try{jsonpatch[_0x1b40('0x1d')](_0x5281df,_0x5a9e44,!![]);}catch(_0xe55a45){return BPromise['reject'](_0xe55a45);}return _0x5281df['save']();};}function saveUpdates(_0x5ad99c,_0x376bdd){return function(_0x1e0600){if(_0x1e0600){return _0x1e0600['update'](_0x5ad99c)[_0x1b40('0x1e')](function(_0x13867){return _0x13867;});}return null;};}function removeEntity(_0x55f045,_0x21a6d4){return function(_0x22c9ec){if(_0x22c9ec){return _0x22c9ec[_0x1b40('0x1f')]()[_0x1b40('0x1e')](function(){_0x55f045['status'](0xcc)[_0x1b40('0x17')]();});}};}function handleEntityNotFound(_0x27f3f9,_0x55db95){return function(_0x262cc5){if(!_0x262cc5){_0x27f3f9[_0x1b40('0x20')](0x194);}return _0x262cc5;};}function handleError(_0x1b7bd4,_0x294da8){_0x294da8=_0x294da8||0x1f4;return function(_0x120a3f){logger[_0x1b40('0x21')](_0x120a3f['stack']);if(_0x120a3f[_0x1b40('0x22')]){delete _0x120a3f[_0x1b40('0x22')];}_0x1b7bd4[_0x1b40('0x16')](_0x294da8)[_0x1b40('0x23')](_0x120a3f);};}exports[_0x1b40('0x24')]=function(_0x18f8a2,_0x745cf6){var _0x217e2d={},_0x2786a5={},_0xa21c8c={'count':0x0,'rows':[]};var _0x2ae008=_[_0x1b40('0x25')](db['MailSubstatus'][_0x1b40('0x26')],function(_0x21cbc7){return{'name':_0x21cbc7[_0x1b40('0x27')],'type':_0x21cbc7[_0x1b40('0x28')][_0x1b40('0x29')]};});_0x2786a5['model']=_[_0x1b40('0x25')](_0x2ae008,_0x1b40('0x22'));_0x2786a5[_0x1b40('0x2a')]=_[_0x1b40('0x2b')](_0x18f8a2[_0x1b40('0x2a')]);_0x2786a5[_0x1b40('0x2c')]=_['intersection'](_0x2786a5[_0x1b40('0x2d')],_0x2786a5[_0x1b40('0x2a')]);_0x217e2d[_0x1b40('0x2e')]=_[_0x1b40('0x2f')](_0x2786a5[_0x1b40('0x2d')],qs[_0x1b40('0x30')](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x30')]));_0x217e2d['attributes']=_0x217e2d[_0x1b40('0x2e')][_0x1b40('0x31')]?_0x217e2d['attributes']:_0x2786a5[_0x1b40('0x2d')];if(!_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x32')](_0x1b40('0x33'))){_0x217e2d[_0x1b40('0x1b')]=qs[_0x1b40('0x1b')](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x1b')]);_0x217e2d[_0x1b40('0x1a')]=qs[_0x1b40('0x1a')](_0x18f8a2['query'][_0x1b40('0x1a')]);}_0x217e2d[_0x1b40('0x34')]=qs['sort'](_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x35')]);_0x217e2d[_0x1b40('0x36')]=qs[_0x1b40('0x2c')](_[_0x1b40('0x37')](_0x18f8a2['query'],_0x2786a5[_0x1b40('0x2c')]),_0x2ae008);if(_0x18f8a2['query'][_0x1b40('0x38')]){_0x217e2d[_0x1b40('0x36')]=_[_0x1b40('0x39')](_0x217e2d[_0x1b40('0x36')],{'$or':_[_0x1b40('0x25')](_0x2ae008,function(_0x4de175){if(_0x4de175[_0x1b40('0x28')]!==_0x1b40('0x3a')){var _0x4b2e99={};_0x4b2e99[_0x4de175[_0x1b40('0x22')]]={'$like':'%'+_0x18f8a2['query'][_0x1b40('0x38')]+'%'};return _0x4b2e99;}})});}_0x217e2d=_[_0x1b40('0x39')]({},_0x217e2d,_0x18f8a2['options']);var _0x1f0e74={'where':_0x217e2d[_0x1b40('0x36')]};return db[_0x1b40('0x3b')][_0x1b40('0x19')](_0x1f0e74)[_0x1b40('0x1e')](function(_0x10aa8f){_0xa21c8c[_0x1b40('0x19')]=_0x10aa8f;if(_0x18f8a2[_0x1b40('0x2a')][_0x1b40('0x3c')]){_0x217e2d[_0x1b40('0x3d')]=[{'all':!![]}];}return db[_0x1b40('0x3b')]['findAll'](_0x217e2d);})[_0x1b40('0x1e')](function(_0x2ffb1e){_0xa21c8c[_0x1b40('0x3e')]=_0x2ffb1e;return _0xa21c8c;})['then'](respondWithFilteredResult(_0x745cf6,_0x217e2d))['catch'](handleError(_0x745cf6,null));};exports[_0x1b40('0x3f')]=function(_0x4edbaf,_0x1f6dc7){var _0xe3fddd={'raw':!![],'where':{'id':_0x4edbaf['params']['id']}},_0x4a01c4={};_0x4a01c4['model']=_['keys'](db[_0x1b40('0x3b')][_0x1b40('0x26')]);_0x4a01c4[_0x1b40('0x2a')]=_[_0x1b40('0x2b')](_0x4edbaf['query']);_0x4a01c4[_0x1b40('0x2c')]=_['intersection'](_0x4a01c4[_0x1b40('0x2d')],_0x4a01c4[_0x1b40('0x2a')]);_0xe3fddd[_0x1b40('0x2e')]=_[_0x1b40('0x2f')](_0x4a01c4['model'],qs[_0x1b40('0x30')](_0x4edbaf['query'][_0x1b40('0x30')]));_0xe3fddd[_0x1b40('0x2e')]=_0xe3fddd['attributes']['length']?_0xe3fddd['attributes']:_0x4a01c4[_0x1b40('0x2d')];if(_0x4edbaf['query']['includeAll']){_0xe3fddd[_0x1b40('0x3d')]=[{'all':!![]}];}_0xe3fddd=_[_0x1b40('0x39')]({},_0xe3fddd,_0x4edbaf['options']);return db['MailSubstatus'][_0x1b40('0x40')](_0xe3fddd)[_0x1b40('0x1e')](handleEntityNotFound(_0x1f6dc7,null))['then'](respondWithResult(_0x1f6dc7,null))[_0x1b40('0x41')](handleError(_0x1f6dc7,null));};exports[_0x1b40('0x42')]=function(_0x282a50,_0x458ee4){return db['MailSubstatus'][_0x1b40('0x42')](_0x282a50[_0x1b40('0x43')],{})['then'](respondWithResult(_0x458ee4,0xc9))['catch'](handleError(_0x458ee4,null));};exports['update']=function(_0x4d9593,_0xb83e57){if(_0x4d9593['body']['id']){delete _0x4d9593[_0x1b40('0x43')]['id'];}return db[_0x1b40('0x3b')][_0x1b40('0x40')]({'where':{'id':_0x4d9593[_0x1b40('0x44')]['id']}})[_0x1b40('0x1e')](handleEntityNotFound(_0xb83e57,null))[_0x1b40('0x1e')](saveUpdates(_0x4d9593['body'],null))[_0x1b40('0x1e')](respondWithResult(_0xb83e57,null))['catch'](handleError(_0xb83e57,null));};exports[_0x1b40('0x1f')]=function(_0x4cf808,_0x21b4f0){return db[_0x1b40('0x3b')]['find']({'where':{'id':_0x4cf808[_0x1b40('0x44')]['id']}})[_0x1b40('0x1e')](handleEntityNotFound(_0x21b4f0,null))[_0x1b40('0x1e')](removeEntity(_0x21b4f0,null))[_0x1b40('0x41')](handleError(_0x21b4f0,null));};exports['describe']=function(_0x329ed2,_0x349943){return db['MailSubstatus'][_0x1b40('0x45')]()[_0x1b40('0x1e')](respondWithResult(_0x349943,null))[_0x1b40('0x41')](handleError(_0x349943,null));};