84ab087e791c6b40d7dd2849e69003b123f65c8e
[motion2.git] / server / api / whatsappTransferReport / whatsappTransferReport.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 _0xe082=['desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','then','error','stack','name','index','map','rawAttributes','fieldName','type','key','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','query','order','sort','where','filters','filter','merge','WhatsappTransferReport','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce'];(function(_0x4ab234,_0x367c9f){var _0x43cc70=function(_0xdcec44){while(--_0xdcec44){_0x4ab234['push'](_0x4ab234['shift']());}};_0x43cc70(++_0x367c9f);}(_0xe082,0x8f));var _0x2e08=function(_0x491082,_0x28f78b){_0x491082=_0x491082-0x0;var _0x5797d9=_0xe082[_0x491082];return _0x5797d9;};'use strict';var emlformat=require(_0x2e08('0x0'));var rimraf=require(_0x2e08('0x1'));var zipdir=require(_0x2e08('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2e08('0x3'));var moment=require(_0x2e08('0x4'));var BPromise=require(_0x2e08('0x5'));var Mustache=require(_0x2e08('0x6'));var util=require(_0x2e08('0x7'));var path=require(_0x2e08('0x8'));var sox=require(_0x2e08('0x9'));var csv=require(_0x2e08('0xa'));var ejs=require(_0x2e08('0xb'));var fs=require('fs');var fs_extra=require(_0x2e08('0xc'));var _=require(_0x2e08('0xd'));var squel=require(_0x2e08('0xe'));var crypto=require(_0x2e08('0xf'));var jsforce=require(_0x2e08('0x10'));var deskjs=require(_0x2e08('0x11'));var toCsv=require('to-csv');var querystring=require(_0x2e08('0x12'));var Papa=require(_0x2e08('0x13'));var Redis=require(_0x2e08('0x14'));var authService=require(_0x2e08('0x15'));var qs=require(_0x2e08('0x16'));var as=require(_0x2e08('0x17'));var hardwareService=require(_0x2e08('0x18'));var logger=require('../../config/logger')(_0x2e08('0x19'));var utils=require(_0x2e08('0x1a'));var config=require('../../config/environment');var licenseUtil=require(_0x2e08('0x1b'));var db=require(_0x2e08('0x1c'))['db'];function respondWithStatusCode(_0x44153d,_0x224309){_0x224309=_0x224309||0xcc;return function(_0x1e6f38){if(_0x1e6f38){return _0x44153d[_0x2e08('0x1d')](_0x224309);}return _0x44153d['status'](_0x224309)[_0x2e08('0x1e')]();};}function respondWithResult(_0x501ac2,_0x4e3cf2){_0x4e3cf2=_0x4e3cf2||0xc8;return function(_0x2bc917){if(_0x2bc917){return _0x501ac2[_0x2e08('0x1f')](_0x4e3cf2)[_0x2e08('0x20')](_0x2bc917);}};}function respondWithFilteredResult(_0x5447cf,_0x48edaf){return function(_0xa34711){if(_0xa34711){var _0xf92c76=typeof _0x48edaf[_0x2e08('0x21')]===_0x2e08('0x22')&&typeof _0x48edaf[_0x2e08('0x23')]===_0x2e08('0x22');var _0x47bfc3=_0xa34711[_0x2e08('0x24')];var _0x4c2242=_0xf92c76?0x0:_0x48edaf['offset'];var _0x79cfc4=_0xf92c76?_0xa34711[_0x2e08('0x24')]:_0x48edaf[_0x2e08('0x21')]+_0x48edaf[_0x2e08('0x23')];var _0xc1bb31;if(_0x79cfc4>=_0x47bfc3){_0x79cfc4=_0x47bfc3;_0xc1bb31=0xc8;}else{_0xc1bb31=0xce;}_0x5447cf[_0x2e08('0x1f')](_0xc1bb31);return _0x5447cf[_0x2e08('0x25')](_0x2e08('0x26'),_0x4c2242+'-'+_0x79cfc4+'/'+_0x47bfc3)[_0x2e08('0x20')](_0xa34711);}return null;};}function patchUpdates(_0xba478a){return function(_0x47bdce){try{jsonpatch['apply'](_0x47bdce,_0xba478a,!![]);}catch(_0x1a617){return BPromise[_0x2e08('0x27')](_0x1a617);}return _0x47bdce[_0x2e08('0x28')]();};}function saveUpdates(_0xa6acbf,_0x35bf01){return function(_0xc61ea9){if(_0xc61ea9){return _0xc61ea9[_0x2e08('0x29')](_0xa6acbf)['then'](function(_0x1bea39){return _0x1bea39;});}return null;};}function removeEntity(_0x562c83,_0x745455){return function(_0x3d2854){if(_0x3d2854){return _0x3d2854[_0x2e08('0x2a')]()[_0x2e08('0x2b')](function(){_0x562c83['status'](0xcc)[_0x2e08('0x1e')]();});}};}function handleEntityNotFound(_0x56c226,_0x5a8644){return function(_0x470222){if(!_0x470222){_0x56c226['sendStatus'](0x194);}return _0x470222;};}function handleError(_0x4b1550,_0x203056){_0x203056=_0x203056||0x1f4;return function(_0x3a670d){logger[_0x2e08('0x2c')](_0x3a670d[_0x2e08('0x2d')]);if(_0x3a670d[_0x2e08('0x2e')]){delete _0x3a670d['name'];}_0x4b1550['status'](_0x203056)['send'](_0x3a670d);};}exports[_0x2e08('0x2f')]=function(_0x17bffc,_0x378d5e){var _0x4194c0={},_0x4b00c7={},_0x1a56f0={'count':0x0,'rows':[]};var _0x1def0d=_[_0x2e08('0x30')](db['WhatsappTransferReport'][_0x2e08('0x31')],function(_0x4e6c80){return{'name':_0x4e6c80[_0x2e08('0x32')],'type':_0x4e6c80[_0x2e08('0x33')][_0x2e08('0x34')]};});_0x4b00c7['model']=_[_0x2e08('0x30')](_0x1def0d,_0x2e08('0x2e'));_0x4b00c7['query']=_['keys'](_0x17bffc['query']);_0x4b00c7['filters']=_[_0x2e08('0x35')](_0x4b00c7[_0x2e08('0x36')],_0x4b00c7['query']);_0x4194c0[_0x2e08('0x37')]=_['intersection'](_0x4b00c7['model'],qs[_0x2e08('0x38')](_0x17bffc['query'][_0x2e08('0x38')]));_0x4194c0[_0x2e08('0x37')]=_0x4194c0[_0x2e08('0x37')][_0x2e08('0x39')]?_0x4194c0[_0x2e08('0x37')]:_0x4b00c7[_0x2e08('0x36')];if(!_0x17bffc['query'][_0x2e08('0x3a')](_0x2e08('0x3b'))){_0x4194c0[_0x2e08('0x23')]=qs[_0x2e08('0x23')](_0x17bffc[_0x2e08('0x3c')][_0x2e08('0x23')]);_0x4194c0[_0x2e08('0x21')]=qs[_0x2e08('0x21')](_0x17bffc[_0x2e08('0x3c')][_0x2e08('0x21')]);}_0x4194c0[_0x2e08('0x3d')]=qs['sort'](_0x17bffc[_0x2e08('0x3c')][_0x2e08('0x3e')]);_0x4194c0[_0x2e08('0x3f')]=qs['filters'](_['pick'](_0x17bffc[_0x2e08('0x3c')],_0x4b00c7[_0x2e08('0x40')]),_0x1def0d);if(_0x17bffc[_0x2e08('0x3c')][_0x2e08('0x41')]){_0x4194c0[_0x2e08('0x3f')]=_['merge'](_0x4194c0[_0x2e08('0x3f')],{'$or':_[_0x2e08('0x30')](_0x1def0d,function(_0xf3d9){if(_0xf3d9[_0x2e08('0x33')]!=='VIRTUAL'){var _0x522277={};_0x522277[_0xf3d9[_0x2e08('0x2e')]]={'$like':'%'+_0x17bffc['query'][_0x2e08('0x41')]+'%'};return _0x522277;}})});}_0x4194c0=_[_0x2e08('0x42')]({},_0x4194c0,_0x17bffc['options']);var _0x3676d3={'where':_0x4194c0[_0x2e08('0x3f')]};return db[_0x2e08('0x43')][_0x2e08('0x24')](_0x3676d3)[_0x2e08('0x2b')](function(_0x297665){_0x1a56f0[_0x2e08('0x24')]=_0x297665;if(_0x17bffc[_0x2e08('0x3c')][_0x2e08('0x44')]){_0x4194c0[_0x2e08('0x45')]=[{'all':!![]}];}return db[_0x2e08('0x43')][_0x2e08('0x46')](_0x4194c0);})[_0x2e08('0x2b')](function(_0x165c95){_0x1a56f0[_0x2e08('0x47')]=_0x165c95;return _0x1a56f0;})['then'](respondWithFilteredResult(_0x378d5e,_0x4194c0))[_0x2e08('0x48')](handleError(_0x378d5e,null));};exports[_0x2e08('0x49')]=function(_0x599385,_0x53c56e){var _0x471bdb={'raw':!![],'where':{'id':_0x599385[_0x2e08('0x4a')]['id']}},_0x4bdddf={};_0x4bdddf[_0x2e08('0x36')]=_['keys'](db[_0x2e08('0x43')]['rawAttributes']);_0x4bdddf[_0x2e08('0x3c')]=_['keys'](_0x599385[_0x2e08('0x3c')]);_0x4bdddf['filters']=_[_0x2e08('0x35')](_0x4bdddf[_0x2e08('0x36')],_0x4bdddf[_0x2e08('0x3c')]);_0x471bdb['attributes']=_[_0x2e08('0x35')](_0x4bdddf[_0x2e08('0x36')],qs['fields'](_0x599385[_0x2e08('0x3c')][_0x2e08('0x38')]));_0x471bdb[_0x2e08('0x37')]=_0x471bdb['attributes'][_0x2e08('0x39')]?_0x471bdb[_0x2e08('0x37')]:_0x4bdddf[_0x2e08('0x36')];if(_0x599385['query']['includeAll']){_0x471bdb['include']=[{'all':!![]}];}_0x471bdb=_[_0x2e08('0x42')]({},_0x471bdb,_0x599385[_0x2e08('0x4b')]);return db['WhatsappTransferReport'][_0x2e08('0x4c')](_0x471bdb)['then'](handleEntityNotFound(_0x53c56e,null))[_0x2e08('0x2b')](respondWithResult(_0x53c56e,null))['catch'](handleError(_0x53c56e,null));};exports[_0x2e08('0x4d')]=function(_0x1cf7a7,_0x2a90e7){return db[_0x2e08('0x43')][_0x2e08('0x4d')](_0x1cf7a7['body'],{})['then'](respondWithResult(_0x2a90e7,0xc9))[_0x2e08('0x48')](handleError(_0x2a90e7,null));};exports[_0x2e08('0x29')]=function(_0x51b763,_0x5d9cdb){if(_0x51b763['body']['id']){delete _0x51b763[_0x2e08('0x4e')]['id'];}return db[_0x2e08('0x43')][_0x2e08('0x4c')]({'where':{'id':_0x51b763[_0x2e08('0x4a')]['id']}})[_0x2e08('0x2b')](handleEntityNotFound(_0x5d9cdb,null))[_0x2e08('0x2b')](saveUpdates(_0x51b763['body'],null))[_0x2e08('0x2b')](respondWithResult(_0x5d9cdb,null))[_0x2e08('0x48')](handleError(_0x5d9cdb,null));};exports[_0x2e08('0x2a')]=function(_0x4187fa,_0xc03f44){return db[_0x2e08('0x43')]['find']({'where':{'id':_0x4187fa['params']['id']}})[_0x2e08('0x2b')](handleEntityNotFound(_0xc03f44,null))['then'](removeEntity(_0xc03f44,null))[_0x2e08('0x48')](handleError(_0xc03f44,null));};exports[_0x2e08('0x4f')]=function(_0x7dc278,_0x2851c5){return db[_0x2e08('0x43')][_0x2e08('0x4f')]()[_0x2e08('0x2b')](respondWithResult(_0x2851c5,null))[_0x2e08('0x48')](handleError(_0x2851c5,null));};