Built motion from commit 0900f080.|2.5.45
[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 _0x1a29=['pick','merge','type','filter','options','includeAll','findAll','rows','catch','show','params','include','create','body','find','describe','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','stack','name','send','index','map','MailSubstatus','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where'];(function(_0x42cae2,_0x284ef8){var _0x5f256f=function(_0x41abc8){while(--_0x41abc8){_0x42cae2['push'](_0x42cae2['shift']());}};_0x5f256f(++_0x284ef8);}(_0x1a29,0xa2));var _0x91a2=function(_0x5c3a3f,_0x3adaf8){_0x5c3a3f=_0x5c3a3f-0x0;var _0x1f6105=_0x1a29[_0x5c3a3f];return _0x1f6105;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x91a2('0x0'));var rp=require(_0x91a2('0x1'));var moment=require(_0x91a2('0x2'));var BPromise=require(_0x91a2('0x3'));var Mustache=require(_0x91a2('0x4'));var util=require(_0x91a2('0x5'));var path=require(_0x91a2('0x6'));var sox=require(_0x91a2('0x7'));var csv=require(_0x91a2('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x91a2('0x9'));var squel=require('squel');var crypto=require(_0x91a2('0xa'));var jsforce=require(_0x91a2('0xb'));var deskjs=require(_0x91a2('0xc'));var toCsv=require(_0x91a2('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x91a2('0xd'));var qs=require(_0x91a2('0xe'));var as=require(_0x91a2('0xf'));var hardwareService=require(_0x91a2('0x10'));var logger=require(_0x91a2('0x11'))(_0x91a2('0x12'));var utils=require(_0x91a2('0x13'));var config=require(_0x91a2('0x14'));var licenseUtil=require(_0x91a2('0x15'));var db=require(_0x91a2('0x16'))['db'];function respondWithStatusCode(_0x14d702,_0x417545){_0x417545=_0x417545||0xcc;return function(_0x3e59ca){if(_0x3e59ca){return _0x14d702[_0x91a2('0x17')](_0x417545);}return _0x14d702[_0x91a2('0x18')](_0x417545)[_0x91a2('0x19')]();};}function respondWithResult(_0x316061,_0x7d50dd){_0x7d50dd=_0x7d50dd||0xc8;return function(_0x4350d3){if(_0x4350d3){return _0x316061[_0x91a2('0x18')](_0x7d50dd)[_0x91a2('0x1a')](_0x4350d3);}};}function respondWithFilteredResult(_0x5b80cd,_0x1e3371){return function(_0x4036ae){if(_0x4036ae){var _0x10b6b3=typeof _0x1e3371[_0x91a2('0x1b')]===_0x91a2('0x1c')&&typeof _0x1e3371[_0x91a2('0x1d')]===_0x91a2('0x1c');var _0x363097=_0x4036ae[_0x91a2('0x1e')];var _0x1a29f5=_0x10b6b3?0x0:_0x1e3371[_0x91a2('0x1b')];var _0x3ae638=_0x10b6b3?_0x4036ae[_0x91a2('0x1e')]:_0x1e3371[_0x91a2('0x1b')]+_0x1e3371[_0x91a2('0x1d')];var _0x3c9bb0;if(_0x3ae638>=_0x363097){_0x3ae638=_0x363097;_0x3c9bb0=0xc8;}else{_0x3c9bb0=0xce;}_0x5b80cd[_0x91a2('0x18')](_0x3c9bb0);return _0x5b80cd[_0x91a2('0x1f')](_0x91a2('0x20'),_0x1a29f5+'-'+_0x3ae638+'/'+_0x363097)[_0x91a2('0x1a')](_0x4036ae);}return null;};}function patchUpdates(_0x4afe7a){return function(_0x2d2861){try{jsonpatch[_0x91a2('0x21')](_0x2d2861,_0x4afe7a,!![]);}catch(_0x509b52){return BPromise[_0x91a2('0x22')](_0x509b52);}return _0x2d2861['save']();};}function saveUpdates(_0x5d0eca,_0x2a25df){return function(_0x2001e6){if(_0x2001e6){return _0x2001e6[_0x91a2('0x23')](_0x5d0eca)[_0x91a2('0x24')](function(_0x211daa){return _0x211daa;});}return null;};}function removeEntity(_0x1f46cf,_0x43075f){return function(_0x281ae5){if(_0x281ae5){return _0x281ae5['destroy']()[_0x91a2('0x24')](function(){_0x1f46cf['status'](0xcc)[_0x91a2('0x19')]();});}};}function handleEntityNotFound(_0x8d3901,_0x1f522f){return function(_0x510601){if(!_0x510601){_0x8d3901['sendStatus'](0x194);}return _0x510601;};}function handleError(_0x5b68b1,_0x3165a5){_0x3165a5=_0x3165a5||0x1f4;return function(_0x4d4698){logger['error'](_0x4d4698[_0x91a2('0x25')]);if(_0x4d4698[_0x91a2('0x26')]){delete _0x4d4698[_0x91a2('0x26')];}_0x5b68b1[_0x91a2('0x18')](_0x3165a5)[_0x91a2('0x27')](_0x4d4698);};}exports[_0x91a2('0x28')]=function(_0x408bb0,_0x3cdbf7){var _0x44e79d={},_0x55bc02={},_0x2c0b5f={'count':0x0,'rows':[]};var _0x208010=_[_0x91a2('0x29')](db[_0x91a2('0x2a')]['rawAttributes'],function(_0x496000){return{'name':_0x496000[_0x91a2('0x2b')],'type':_0x496000['type'][_0x91a2('0x2c')]};});_0x55bc02[_0x91a2('0x2d')]=_[_0x91a2('0x29')](_0x208010,'name');_0x55bc02[_0x91a2('0x2e')]=_[_0x91a2('0x2f')](_0x408bb0['query']);_0x55bc02[_0x91a2('0x30')]=_[_0x91a2('0x31')](_0x55bc02[_0x91a2('0x2d')],_0x55bc02[_0x91a2('0x2e')]);_0x44e79d[_0x91a2('0x32')]=_[_0x91a2('0x31')](_0x55bc02[_0x91a2('0x2d')],qs[_0x91a2('0x33')](_0x408bb0[_0x91a2('0x2e')]['fields']));_0x44e79d['attributes']=_0x44e79d[_0x91a2('0x32')][_0x91a2('0x34')]?_0x44e79d['attributes']:_0x55bc02[_0x91a2('0x2d')];if(!_0x408bb0[_0x91a2('0x2e')][_0x91a2('0x35')]('nolimit')){_0x44e79d[_0x91a2('0x1d')]=qs[_0x91a2('0x1d')](_0x408bb0[_0x91a2('0x2e')][_0x91a2('0x1d')]);_0x44e79d['offset']=qs[_0x91a2('0x1b')](_0x408bb0[_0x91a2('0x2e')]['offset']);}_0x44e79d[_0x91a2('0x36')]=qs['sort'](_0x408bb0[_0x91a2('0x2e')][_0x91a2('0x37')]);_0x44e79d[_0x91a2('0x38')]=qs[_0x91a2('0x30')](_[_0x91a2('0x39')](_0x408bb0['query'],_0x55bc02[_0x91a2('0x30')]),_0x208010);if(_0x408bb0[_0x91a2('0x2e')]['filter']){_0x44e79d['where']=_[_0x91a2('0x3a')](_0x44e79d[_0x91a2('0x38')],{'$or':_['map'](_0x208010,function(_0x5d73fd){if(_0x5d73fd[_0x91a2('0x3b')]!=='VIRTUAL'){var _0x43fc68={};_0x43fc68[_0x5d73fd[_0x91a2('0x26')]]={'$like':'%'+_0x408bb0[_0x91a2('0x2e')][_0x91a2('0x3c')]+'%'};return _0x43fc68;}})});}_0x44e79d=_['merge']({},_0x44e79d,_0x408bb0[_0x91a2('0x3d')]);var _0x9efbf3={'where':_0x44e79d[_0x91a2('0x38')]};return db['MailSubstatus'][_0x91a2('0x1e')](_0x9efbf3)['then'](function(_0x584d3c){_0x2c0b5f[_0x91a2('0x1e')]=_0x584d3c;if(_0x408bb0[_0x91a2('0x2e')][_0x91a2('0x3e')]){_0x44e79d['include']=[{'all':!![]}];}return db[_0x91a2('0x2a')][_0x91a2('0x3f')](_0x44e79d);})[_0x91a2('0x24')](function(_0x43c56d){_0x2c0b5f[_0x91a2('0x40')]=_0x43c56d;return _0x2c0b5f;})[_0x91a2('0x24')](respondWithFilteredResult(_0x3cdbf7,_0x44e79d))[_0x91a2('0x41')](handleError(_0x3cdbf7,null));};exports[_0x91a2('0x42')]=function(_0x18f3e9,_0xc0aeb4){var _0xedfcd1={'raw':!![],'where':{'id':_0x18f3e9[_0x91a2('0x43')]['id']}},_0x5827ac={};_0x5827ac[_0x91a2('0x2d')]=_[_0x91a2('0x2f')](db['MailSubstatus']['rawAttributes']);_0x5827ac['query']=_[_0x91a2('0x2f')](_0x18f3e9[_0x91a2('0x2e')]);_0x5827ac[_0x91a2('0x30')]=_['intersection'](_0x5827ac[_0x91a2('0x2d')],_0x5827ac[_0x91a2('0x2e')]);_0xedfcd1[_0x91a2('0x32')]=_['intersection'](_0x5827ac[_0x91a2('0x2d')],qs[_0x91a2('0x33')](_0x18f3e9[_0x91a2('0x2e')]['fields']));_0xedfcd1[_0x91a2('0x32')]=_0xedfcd1[_0x91a2('0x32')]['length']?_0xedfcd1[_0x91a2('0x32')]:_0x5827ac['model'];if(_0x18f3e9[_0x91a2('0x2e')]['includeAll']){_0xedfcd1[_0x91a2('0x44')]=[{'all':!![]}];}_0xedfcd1=_['merge']({},_0xedfcd1,_0x18f3e9['options']);return db[_0x91a2('0x2a')]['find'](_0xedfcd1)['then'](handleEntityNotFound(_0xc0aeb4,null))[_0x91a2('0x24')](respondWithResult(_0xc0aeb4,null))['catch'](handleError(_0xc0aeb4,null));};exports[_0x91a2('0x45')]=function(_0x2a346e,_0x5cd8c2){return db['MailSubstatus'][_0x91a2('0x45')](_0x2a346e[_0x91a2('0x46')],{})[_0x91a2('0x24')](respondWithResult(_0x5cd8c2,0xc9))[_0x91a2('0x41')](handleError(_0x5cd8c2,null));};exports[_0x91a2('0x23')]=function(_0x1d7fa2,_0x203ed7){if(_0x1d7fa2[_0x91a2('0x46')]['id']){delete _0x1d7fa2[_0x91a2('0x46')]['id'];}return db['MailSubstatus']['find']({'where':{'id':_0x1d7fa2['params']['id']}})[_0x91a2('0x24')](handleEntityNotFound(_0x203ed7,null))[_0x91a2('0x24')](saveUpdates(_0x1d7fa2['body'],null))[_0x91a2('0x24')](respondWithResult(_0x203ed7,null))[_0x91a2('0x41')](handleError(_0x203ed7,null));};exports['destroy']=function(_0x450768,_0x1aefac){return db['MailSubstatus'][_0x91a2('0x47')]({'where':{'id':_0x450768[_0x91a2('0x43')]['id']}})[_0x91a2('0x24')](handleEntityNotFound(_0x1aefac,null))['then'](removeEntity(_0x1aefac,null))['catch'](handleError(_0x1aefac,null));};exports[_0x91a2('0x48')]=function(_0x4c8a21,_0x549332){return db['MailSubstatus'][_0x91a2('0x48')]()[_0x91a2('0x24')](respondWithResult(_0x549332,null))[_0x91a2('0x41')](handleError(_0x549332,null));};