97512803344ca185bdb3ca444a90eb367481e4dd
[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 _0xae5b=['querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','map','MailSubstatus','rawAttributes','type','key','query','keys','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','length','includeAll','find','create','body','update','describe','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xae5b,0x12c));var _0xbae5=function(_0x4f24d1,_0x51df35){_0x4f24d1=_0x4f24d1-0x0;var _0x48dadd=_0xae5b[_0x4f24d1];return _0x48dadd;};'use strict';var pdf=require(_0xbae5('0x0'));var emlformat=require(_0xbae5('0x1'));var rimraf=require(_0xbae5('0x2'));var zipdir=require(_0xbae5('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbae5('0x4'));var moment=require(_0xbae5('0x5'));var BPromise=require(_0xbae5('0x6'));var Mustache=require(_0xbae5('0x7'));var util=require('util');var path=require(_0xbae5('0x8'));var sox=require(_0xbae5('0x9'));var csv=require('to-csv');var ejs=require(_0xbae5('0xa'));var fs=require('fs');var _=require(_0xbae5('0xb'));var squel=require(_0xbae5('0xc'));var crypto=require(_0xbae5('0xd'));var jsforce=require(_0xbae5('0xe'));var deskjs=require(_0xbae5('0xf'));var toCsv=require('to-csv');var querystring=require(_0xbae5('0x10'));var Papa=require(_0xbae5('0x11'));var Redis=require('ioredis');var authService=require(_0xbae5('0x12'));var qs=require(_0xbae5('0x13'));var as=require(_0xbae5('0x14'));var hardwareService=require(_0xbae5('0x15'));var logger=require(_0xbae5('0x16'))(_0xbae5('0x17'));var utils=require('../../config/utils');var config=require(_0xbae5('0x18'));var db=require(_0xbae5('0x19'))['db'];function respondWithStatusCode(_0x52ffc8,_0x5794ee){_0x5794ee=_0x5794ee||0xcc;return function(_0x54f27c){if(_0x54f27c){return _0x52ffc8[_0xbae5('0x1a')](_0x5794ee);}return _0x52ffc8[_0xbae5('0x1b')](_0x5794ee)[_0xbae5('0x1c')]();};}function respondWithResult(_0x9147df,_0x3f07b5){_0x3f07b5=_0x3f07b5||0xc8;return function(_0x4f43ad){if(_0x4f43ad){return _0x9147df[_0xbae5('0x1b')](_0x3f07b5)[_0xbae5('0x1d')](_0x4f43ad);}};}function respondWithFilteredResult(_0x237610,_0x4e5fec){return function(_0x2711f5){if(_0x2711f5){var _0x562679=_0x2711f5[_0xbae5('0x1e')],_0x287f80=_0x4e5fec[_0xbae5('0x1f')],_0xffd7ca=_0x4e5fec['offset']+_0x4e5fec[_0xbae5('0x20')],_0x41577e;if(_0xffd7ca>=_0x562679){_0xffd7ca=_0x562679;_0x41577e=0xc8;}else{_0x41577e=0xce;}_0x237610[_0xbae5('0x1b')](_0x41577e);return _0x237610[_0xbae5('0x21')](_0xbae5('0x22'),_0x287f80+'-'+_0xffd7ca+'/'+_0x562679)['json'](_0x2711f5);}return null;};}function patchUpdates(_0x489b85){return function(_0x3359fd){try{jsonpatch[_0xbae5('0x23')](_0x3359fd,_0x489b85,!![]);}catch(_0x1b0f73){return BPromise[_0xbae5('0x24')](_0x1b0f73);}return _0x3359fd[_0xbae5('0x25')]();};}function saveUpdates(_0x47f6f1,_0x4021ad){return function(_0x1f05f2){if(_0x1f05f2){return _0x1f05f2['update'](_0x47f6f1)[_0xbae5('0x26')](function(_0x5f463e){return _0x5f463e;});}return null;};}function removeEntity(_0x1c3eab,_0x5762be){return function(_0x49a2f1){if(_0x49a2f1){return _0x49a2f1[_0xbae5('0x27')]()['then'](function(){_0x1c3eab[_0xbae5('0x1b')](0xcc)[_0xbae5('0x1c')]();});}};}function handleEntityNotFound(_0x43e47f,_0x564a03){return function(_0x27b30e){if(!_0x27b30e){_0x43e47f['sendStatus'](0x194);}return _0x27b30e;};}function handleError(_0x539874,_0x35a49){_0x35a49=_0x35a49||0x1f4;return function(_0x408e82){logger[_0xbae5('0x28')](_0x408e82[_0xbae5('0x29')]);if(_0x408e82['name']){delete _0x408e82[_0xbae5('0x2a')];}_0x539874[_0xbae5('0x1b')](_0x35a49)[_0xbae5('0x2b')](_0x408e82);};}exports[_0xbae5('0x2c')]=function(_0x12dcee,_0x1ca45d){var _0x3c0621={},_0x2ed2b3={},_0x5082ba={'count':0x0,'rows':[]};var _0x428d48=_[_0xbae5('0x2d')](db[_0xbae5('0x2e')][_0xbae5('0x2f')],function(_0x1e94d8){return{'name':_0x1e94d8['fieldName'],'type':_0x1e94d8[_0xbae5('0x30')][_0xbae5('0x31')]};});_0x2ed2b3['model']=_[_0xbae5('0x2d')](_0x428d48,_0xbae5('0x2a'));_0x2ed2b3[_0xbae5('0x32')]=_[_0xbae5('0x33')](_0x12dcee[_0xbae5('0x32')]);_0x2ed2b3['filters']=_['intersection'](_0x2ed2b3[_0xbae5('0x34')],_0x2ed2b3[_0xbae5('0x32')]);_0x3c0621[_0xbae5('0x35')]=_[_0xbae5('0x36')](_0x2ed2b3['model'],qs[_0xbae5('0x37')](_0x12dcee[_0xbae5('0x32')]['fields']));_0x3c0621[_0xbae5('0x35')]=_0x3c0621['attributes']['length']?_0x3c0621['attributes']:_0x2ed2b3['model'];if(!_0x12dcee[_0xbae5('0x32')][_0xbae5('0x38')](_0xbae5('0x39'))){_0x3c0621[_0xbae5('0x20')]=qs[_0xbae5('0x20')](_0x12dcee[_0xbae5('0x32')][_0xbae5('0x20')]);_0x3c0621[_0xbae5('0x1f')]=qs[_0xbae5('0x1f')](_0x12dcee[_0xbae5('0x32')][_0xbae5('0x1f')]);}_0x3c0621[_0xbae5('0x3a')]=qs['sort'](_0x12dcee[_0xbae5('0x32')][_0xbae5('0x3b')]);_0x3c0621[_0xbae5('0x3c')]=qs[_0xbae5('0x3d')](_['pick'](_0x12dcee[_0xbae5('0x32')],_0x2ed2b3['filters']),_0x428d48);if(_0x12dcee[_0xbae5('0x32')][_0xbae5('0x3e')]){_0x3c0621[_0xbae5('0x3c')]=_[_0xbae5('0x3f')](_0x3c0621[_0xbae5('0x3c')],{'$or':_['map'](_0x428d48,function(_0xa5799d){if(_0xa5799d[_0xbae5('0x30')]!==_0xbae5('0x40')){var _0x35416b={};_0x35416b[_0xa5799d['name']]={'$like':'%'+_0x12dcee[_0xbae5('0x32')][_0xbae5('0x3e')]+'%'};return _0x35416b;}})});}_0x3c0621=_[_0xbae5('0x3f')]({},_0x3c0621,_0x12dcee[_0xbae5('0x41')]);var _0x522edb={'where':_0x3c0621[_0xbae5('0x3c')]};return db[_0xbae5('0x2e')][_0xbae5('0x1e')](_0x522edb)['then'](function(_0xb8b0ca){_0x5082ba[_0xbae5('0x1e')]=_0xb8b0ca;if(_0x12dcee[_0xbae5('0x32')]['includeAll']){_0x3c0621[_0xbae5('0x42')]=[{'all':!![]}];}return db[_0xbae5('0x2e')][_0xbae5('0x43')](_0x3c0621);})['then'](function(_0x4e38f8){_0x5082ba[_0xbae5('0x44')]=_0x4e38f8;return _0x5082ba;})[_0xbae5('0x26')](respondWithFilteredResult(_0x1ca45d,_0x3c0621))[_0xbae5('0x45')](handleError(_0x1ca45d,null));};exports[_0xbae5('0x46')]=function(_0xbe3b29,_0x1ad89b){var _0x61f25d={'raw':!![],'where':{'id':_0xbe3b29[_0xbae5('0x47')]['id']}},_0x4900bd={};_0x4900bd[_0xbae5('0x34')]=_[_0xbae5('0x33')](db[_0xbae5('0x2e')][_0xbae5('0x2f')]);_0x4900bd[_0xbae5('0x32')]=_['keys'](_0xbe3b29[_0xbae5('0x32')]);_0x4900bd['filters']=_[_0xbae5('0x36')](_0x4900bd['model'],_0x4900bd[_0xbae5('0x32')]);_0x61f25d[_0xbae5('0x35')]=_[_0xbae5('0x36')](_0x4900bd['model'],qs[_0xbae5('0x37')](_0xbe3b29['query'][_0xbae5('0x37')]));_0x61f25d['attributes']=_0x61f25d[_0xbae5('0x35')][_0xbae5('0x48')]?_0x61f25d['attributes']:_0x4900bd['model'];if(_0xbe3b29[_0xbae5('0x32')][_0xbae5('0x49')]){_0x61f25d[_0xbae5('0x42')]=[{'all':!![]}];}_0x61f25d=_[_0xbae5('0x3f')]({},_0x61f25d,_0xbe3b29[_0xbae5('0x41')]);return db[_0xbae5('0x2e')][_0xbae5('0x4a')](_0x61f25d)['then'](handleEntityNotFound(_0x1ad89b,null))[_0xbae5('0x26')](respondWithResult(_0x1ad89b,null))['catch'](handleError(_0x1ad89b,null));};exports[_0xbae5('0x4b')]=function(_0x2d63d6,_0x4f2e33){return db[_0xbae5('0x2e')]['create'](_0x2d63d6[_0xbae5('0x4c')],{})[_0xbae5('0x26')](respondWithResult(_0x4f2e33,0xc9))[_0xbae5('0x45')](handleError(_0x4f2e33,null));};exports[_0xbae5('0x4d')]=function(_0x37ddeb,_0x508e4a){if(_0x37ddeb[_0xbae5('0x4c')]['id']){delete _0x37ddeb[_0xbae5('0x4c')]['id'];}return db[_0xbae5('0x2e')]['find']({'where':{'id':_0x37ddeb[_0xbae5('0x47')]['id']}})[_0xbae5('0x26')](handleEntityNotFound(_0x508e4a,null))[_0xbae5('0x26')](saveUpdates(_0x37ddeb['body'],null))['then'](respondWithResult(_0x508e4a,null))[_0xbae5('0x45')](handleError(_0x508e4a,null));};exports['destroy']=function(_0x25fb41,_0x5ce26e){return db['MailSubstatus']['find']({'where':{'id':_0x25fb41[_0xbae5('0x47')]['id']}})[_0xbae5('0x26')](handleEntityNotFound(_0x5ce26e,null))[_0xbae5('0x26')](removeEntity(_0x5ce26e,null))['catch'](handleError(_0x5ce26e,null));};exports[_0xbae5('0x4e')]=function(_0x2751e9,_0x3f4204){return db[_0xbae5('0x2e')][_0xbae5('0x4e')]()[_0xbae5('0x26')](respondWithResult(_0x3f4204,null))[_0xbae5('0x45')](handleError(_0x3f4204,null));};