653083d1e41e6e95cffd693fbaaff08b41099ccd
[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 _0xd72d=['Content-Range','reject','save','update','then','destroy','end','error','stack','name','send','index','WhatsappTransferReport','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','includeAll','include','findAll','show','params','rawAttributes','find','catch','create','body','describe','html-pdf','rimraf','zip-dir','mustache','util','path','sox','to-csv','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set'];(function(_0x3ca57b,_0x306b49){var _0x50ead0=function(_0x193f5e){while(--_0x193f5e){_0x3ca57b['push'](_0x3ca57b['shift']());}};_0x50ead0(++_0x306b49);}(_0xd72d,0xbe));var _0xdd72=function(_0x528d11,_0x1e4841){_0x528d11=_0x528d11-0x0;var _0x4c2f38=_0xd72d[_0x528d11];return _0x4c2f38;};'use strict';var pdf=require(_0xdd72('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xdd72('0x1'));var zipdir=require(_0xdd72('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xdd72('0x3'));var util=require(_0xdd72('0x4'));var path=require(_0xdd72('0x5'));var sox=require(_0xdd72('0x6'));var csv=require(_0xdd72('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xdd72('0x8'));var crypto=require(_0xdd72('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xdd72('0xa'));var toCsv=require(_0xdd72('0x7'));var querystring=require(_0xdd72('0xb'));var Papa=require(_0xdd72('0xc'));var Redis=require('ioredis');var authService=require(_0xdd72('0xd'));var qs=require(_0xdd72('0xe'));var as=require(_0xdd72('0xf'));var hardwareService=require(_0xdd72('0x10'));var logger=require(_0xdd72('0x11'))(_0xdd72('0x12'));var utils=require(_0xdd72('0x13'));var config=require(_0xdd72('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xdd72('0x15'))['db'];function respondWithStatusCode(_0x457640,_0x451595){_0x451595=_0x451595||0xcc;return function(_0x12d273){if(_0x12d273){return _0x457640[_0xdd72('0x16')](_0x451595);}return _0x457640[_0xdd72('0x17')](_0x451595)['end']();};}function respondWithResult(_0x37476f,_0x18e6af){_0x18e6af=_0x18e6af||0xc8;return function(_0x16e49d){if(_0x16e49d){return _0x37476f[_0xdd72('0x17')](_0x18e6af)[_0xdd72('0x18')](_0x16e49d);}};}function respondWithFilteredResult(_0x354726,_0x406151){return function(_0x10f49a){if(_0x10f49a){var _0x2f54c3=_0x10f49a[_0xdd72('0x19')],_0x3725be=_0x406151[_0xdd72('0x1a')],_0x4494e4=_0x406151[_0xdd72('0x1a')]+_0x406151[_0xdd72('0x1b')],_0x50ded4;if(_0x4494e4>=_0x2f54c3){_0x4494e4=_0x2f54c3;_0x50ded4=0xc8;}else{_0x50ded4=0xce;}_0x354726[_0xdd72('0x17')](_0x50ded4);return _0x354726[_0xdd72('0x1c')](_0xdd72('0x1d'),_0x3725be+'-'+_0x4494e4+'/'+_0x2f54c3)[_0xdd72('0x18')](_0x10f49a);}return null;};}function patchUpdates(_0x23ce1a){return function(_0x27c990){try{jsonpatch['apply'](_0x27c990,_0x23ce1a,!![]);}catch(_0x472895){return BPromise[_0xdd72('0x1e')](_0x472895);}return _0x27c990[_0xdd72('0x1f')]();};}function saveUpdates(_0x18f9f9,_0x22ce24){return function(_0x5ddf53){if(_0x5ddf53){return _0x5ddf53[_0xdd72('0x20')](_0x18f9f9)[_0xdd72('0x21')](function(_0x442ae4){return _0x442ae4;});}return null;};}function removeEntity(_0xbddc67,_0x3fb2a0){return function(_0x2d2a9d){if(_0x2d2a9d){return _0x2d2a9d[_0xdd72('0x22')]()[_0xdd72('0x21')](function(){_0xbddc67['status'](0xcc)[_0xdd72('0x23')]();});}};}function handleEntityNotFound(_0x859bf3,_0x41faba){return function(_0x365093){if(!_0x365093){_0x859bf3[_0xdd72('0x16')](0x194);}return _0x365093;};}function handleError(_0x25ea23,_0x431c06){_0x431c06=_0x431c06||0x1f4;return function(_0x346ae3){logger[_0xdd72('0x24')](_0x346ae3[_0xdd72('0x25')]);if(_0x346ae3[_0xdd72('0x26')]){delete _0x346ae3[_0xdd72('0x26')];}_0x25ea23['status'](_0x431c06)[_0xdd72('0x27')](_0x346ae3);};}exports[_0xdd72('0x28')]=function(_0x558b87,_0x620082){var _0x41d356={},_0x210506={},_0x1e5db2={'count':0x0,'rows':[]};var _0x1d9905=_['map'](db[_0xdd72('0x29')]['rawAttributes'],function(_0x5e1a71){return{'name':_0x5e1a71[_0xdd72('0x2a')],'type':_0x5e1a71[_0xdd72('0x2b')][_0xdd72('0x2c')]};});_0x210506[_0xdd72('0x2d')]=_[_0xdd72('0x2e')](_0x1d9905,_0xdd72('0x26'));_0x210506[_0xdd72('0x2f')]=_[_0xdd72('0x30')](_0x558b87['query']);_0x210506[_0xdd72('0x31')]=_[_0xdd72('0x32')](_0x210506['model'],_0x210506['query']);_0x41d356[_0xdd72('0x33')]=_[_0xdd72('0x32')](_0x210506[_0xdd72('0x2d')],qs[_0xdd72('0x34')](_0x558b87[_0xdd72('0x2f')][_0xdd72('0x34')]));_0x41d356[_0xdd72('0x33')]=_0x41d356[_0xdd72('0x33')][_0xdd72('0x35')]?_0x41d356[_0xdd72('0x33')]:_0x210506['model'];if(!_0x558b87['query'][_0xdd72('0x36')](_0xdd72('0x37'))){_0x41d356[_0xdd72('0x1b')]=qs[_0xdd72('0x1b')](_0x558b87[_0xdd72('0x2f')]['limit']);_0x41d356['offset']=qs['offset'](_0x558b87[_0xdd72('0x2f')][_0xdd72('0x1a')]);}_0x41d356['order']=qs[_0xdd72('0x38')](_0x558b87[_0xdd72('0x2f')][_0xdd72('0x38')]);_0x41d356[_0xdd72('0x39')]=qs[_0xdd72('0x31')](_[_0xdd72('0x3a')](_0x558b87[_0xdd72('0x2f')],_0x210506[_0xdd72('0x31')]),_0x1d9905);if(_0x558b87[_0xdd72('0x2f')][_0xdd72('0x3b')]){_0x41d356[_0xdd72('0x39')]=_['merge'](_0x41d356[_0xdd72('0x39')],{'$or':_[_0xdd72('0x2e')](_0x1d9905,function(_0x38517d){if(_0x38517d[_0xdd72('0x2b')]!==_0xdd72('0x3c')){var _0x222af6={};_0x222af6[_0x38517d[_0xdd72('0x26')]]={'$like':'%'+_0x558b87[_0xdd72('0x2f')][_0xdd72('0x3b')]+'%'};return _0x222af6;}})});}_0x41d356=_[_0xdd72('0x3d')]({},_0x41d356,_0x558b87['options']);var _0xf575d7={'where':_0x41d356[_0xdd72('0x39')]};return db['WhatsappTransferReport']['count'](_0xf575d7)[_0xdd72('0x21')](function(_0x5a1a48){_0x1e5db2[_0xdd72('0x19')]=_0x5a1a48;if(_0x558b87[_0xdd72('0x2f')][_0xdd72('0x3e')]){_0x41d356[_0xdd72('0x3f')]=[{'all':!![]}];}return db[_0xdd72('0x29')][_0xdd72('0x40')](_0x41d356);})[_0xdd72('0x21')](function(_0x45c9f2){_0x1e5db2['rows']=_0x45c9f2;return _0x1e5db2;})[_0xdd72('0x21')](respondWithFilteredResult(_0x620082,_0x41d356))['catch'](handleError(_0x620082,null));};exports[_0xdd72('0x41')]=function(_0x61b1a5,_0x3b9c12){var _0x4bc7cf={'raw':!![],'where':{'id':_0x61b1a5[_0xdd72('0x42')]['id']}},_0x3672a0={};_0x3672a0[_0xdd72('0x2d')]=_[_0xdd72('0x30')](db[_0xdd72('0x29')][_0xdd72('0x43')]);_0x3672a0[_0xdd72('0x2f')]=_[_0xdd72('0x30')](_0x61b1a5['query']);_0x3672a0[_0xdd72('0x31')]=_[_0xdd72('0x32')](_0x3672a0[_0xdd72('0x2d')],_0x3672a0['query']);_0x4bc7cf[_0xdd72('0x33')]=_[_0xdd72('0x32')](_0x3672a0[_0xdd72('0x2d')],qs['fields'](_0x61b1a5[_0xdd72('0x2f')]['fields']));_0x4bc7cf['attributes']=_0x4bc7cf[_0xdd72('0x33')][_0xdd72('0x35')]?_0x4bc7cf[_0xdd72('0x33')]:_0x3672a0[_0xdd72('0x2d')];if(_0x61b1a5[_0xdd72('0x2f')]['includeAll']){_0x4bc7cf['include']=[{'all':!![]}];}_0x4bc7cf=_[_0xdd72('0x3d')]({},_0x4bc7cf,_0x61b1a5['options']);return db[_0xdd72('0x29')][_0xdd72('0x44')](_0x4bc7cf)[_0xdd72('0x21')](handleEntityNotFound(_0x3b9c12,null))['then'](respondWithResult(_0x3b9c12,null))[_0xdd72('0x45')](handleError(_0x3b9c12,null));};exports[_0xdd72('0x46')]=function(_0x545b5c,_0x49dfef){return db[_0xdd72('0x29')][_0xdd72('0x46')](_0x545b5c[_0xdd72('0x47')],{})['then'](respondWithResult(_0x49dfef,0xc9))[_0xdd72('0x45')](handleError(_0x49dfef,null));};exports[_0xdd72('0x20')]=function(_0x17994a,_0x581daf){if(_0x17994a[_0xdd72('0x47')]['id']){delete _0x17994a[_0xdd72('0x47')]['id'];}return db[_0xdd72('0x29')][_0xdd72('0x44')]({'where':{'id':_0x17994a[_0xdd72('0x42')]['id']}})[_0xdd72('0x21')](handleEntityNotFound(_0x581daf,null))['then'](saveUpdates(_0x17994a[_0xdd72('0x47')],null))[_0xdd72('0x21')](respondWithResult(_0x581daf,null))[_0xdd72('0x45')](handleError(_0x581daf,null));};exports[_0xdd72('0x22')]=function(_0x3d7480,_0x2782d0){return db[_0xdd72('0x29')][_0xdd72('0x44')]({'where':{'id':_0x3d7480['params']['id']}})[_0xdd72('0x21')](handleEntityNotFound(_0x2782d0,null))[_0xdd72('0x21')](removeEntity(_0x2782d0,null))[_0xdd72('0x45')](handleError(_0x2782d0,null));};exports[_0xdd72('0x48')]=function(_0x3020bd,_0x712b27){return db[_0xdd72('0x29')][_0xdd72('0x48')]()[_0xdd72('0x21')](respondWithResult(_0x712b27,null))['catch'](handleError(_0x712b27,null));};