91e1a158785fe1c87334c51a46a76f11c2776272
[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 _0x80a7=['index','map','WhatsappTransferReport','type','key','model','keys','query','filters','intersection','fields','attributes','length','nolimit','limit','order','sort','where','merge','VIRTUAL','filter','options','count','findAll','show','params','rawAttributes','includeAll','include','find','create','body','catch','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','Content-Range','apply','update','then','destroy','sendStatus','stack','name'];(function(_0x24a2a4,_0x6f64aa){var _0x448578=function(_0x57a846){while(--_0x57a846){_0x24a2a4['push'](_0x24a2a4['shift']());}};_0x448578(++_0x6f64aa);}(_0x80a7,0xae));var _0x780a=function(_0x334841,_0x2bbc4c){_0x334841=_0x334841-0x0;var _0x5beb4b=_0x80a7[_0x334841];return _0x5beb4b;};'use strict';var pdf=require(_0x780a('0x0'));var emlformat=require(_0x780a('0x1'));var rimraf=require(_0x780a('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x780a('0x3'));var rp=require(_0x780a('0x4'));var moment=require('moment');var BPromise=require(_0x780a('0x5'));var Mustache=require('mustache');var util=require(_0x780a('0x6'));var path=require(_0x780a('0x7'));var sox=require(_0x780a('0x8'));var csv=require(_0x780a('0x9'));var ejs=require(_0x780a('0xa'));var fs=require('fs');var _=require(_0x780a('0xb'));var squel=require('squel');var crypto=require(_0x780a('0xc'));var jsforce=require(_0x780a('0xd'));var deskjs=require(_0x780a('0xe'));var toCsv=require(_0x780a('0x9'));var querystring=require(_0x780a('0xf'));var Papa=require(_0x780a('0x10'));var Redis=require('ioredis');var authService=require(_0x780a('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x780a('0x12'));var logger=require(_0x780a('0x13'))(_0x780a('0x14'));var utils=require(_0x780a('0x15'));var config=require(_0x780a('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x780a('0x17'))['db'];function respondWithStatusCode(_0x3a313d,_0x4af77a){_0x4af77a=_0x4af77a||0xcc;return function(_0x2a8957){if(_0x2a8957){return _0x3a313d['sendStatus'](_0x4af77a);}return _0x3a313d[_0x780a('0x18')](_0x4af77a)[_0x780a('0x19')]();};}function respondWithResult(_0x222d89,_0x53113f){_0x53113f=_0x53113f||0xc8;return function(_0x1bd52c){if(_0x1bd52c){return _0x222d89[_0x780a('0x18')](_0x53113f)[_0x780a('0x1a')](_0x1bd52c);}};}function respondWithFilteredResult(_0x4c113a,_0x4252a6){return function(_0x263305){if(_0x263305){var _0x223288=_0x263305['count'],_0x2fa263=_0x4252a6[_0x780a('0x1b')],_0x35f97b=_0x4252a6['offset']+_0x4252a6['limit'],_0x5dd28c;if(_0x35f97b>=_0x223288){_0x35f97b=_0x223288;_0x5dd28c=0xc8;}else{_0x5dd28c=0xce;}_0x4c113a['status'](_0x5dd28c);return _0x4c113a['set'](_0x780a('0x1c'),_0x2fa263+'-'+_0x35f97b+'/'+_0x223288)[_0x780a('0x1a')](_0x263305);}return null;};}function patchUpdates(_0x24599e){return function(_0x3fb619){try{jsonpatch[_0x780a('0x1d')](_0x3fb619,_0x24599e,!![]);}catch(_0x281bed){return BPromise['reject'](_0x281bed);}return _0x3fb619['save']();};}function saveUpdates(_0x9f1967,_0x19dae3){return function(_0x471de2){if(_0x471de2){return _0x471de2[_0x780a('0x1e')](_0x9f1967)[_0x780a('0x1f')](function(_0x5bb03c){return _0x5bb03c;});}return null;};}function removeEntity(_0x864ee2,_0x217f80){return function(_0x2d1445){if(_0x2d1445){return _0x2d1445[_0x780a('0x20')]()[_0x780a('0x1f')](function(){_0x864ee2[_0x780a('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x501a4e,_0x12f9eb){return function(_0x9fa6db){if(!_0x9fa6db){_0x501a4e[_0x780a('0x21')](0x194);}return _0x9fa6db;};}function handleError(_0x1cf194,_0x564ed3){_0x564ed3=_0x564ed3||0x1f4;return function(_0x2faf7b){logger['error'](_0x2faf7b[_0x780a('0x22')]);if(_0x2faf7b[_0x780a('0x23')]){delete _0x2faf7b['name'];}_0x1cf194[_0x780a('0x18')](_0x564ed3)['send'](_0x2faf7b);};}exports[_0x780a('0x24')]=function(_0x2be9c7,_0x18cf15){var _0x333fbc={},_0x1a5dea={},_0x8d1d13={'count':0x0,'rows':[]};var _0x384d86=_[_0x780a('0x25')](db[_0x780a('0x26')]['rawAttributes'],function(_0x365d0f){return{'name':_0x365d0f['fieldName'],'type':_0x365d0f[_0x780a('0x27')][_0x780a('0x28')]};});_0x1a5dea[_0x780a('0x29')]=_[_0x780a('0x25')](_0x384d86,_0x780a('0x23'));_0x1a5dea['query']=_[_0x780a('0x2a')](_0x2be9c7[_0x780a('0x2b')]);_0x1a5dea[_0x780a('0x2c')]=_[_0x780a('0x2d')](_0x1a5dea[_0x780a('0x29')],_0x1a5dea[_0x780a('0x2b')]);_0x333fbc['attributes']=_[_0x780a('0x2d')](_0x1a5dea[_0x780a('0x29')],qs[_0x780a('0x2e')](_0x2be9c7[_0x780a('0x2b')][_0x780a('0x2e')]));_0x333fbc[_0x780a('0x2f')]=_0x333fbc[_0x780a('0x2f')][_0x780a('0x30')]?_0x333fbc['attributes']:_0x1a5dea[_0x780a('0x29')];if(!_0x2be9c7[_0x780a('0x2b')]['hasOwnProperty'](_0x780a('0x31'))){_0x333fbc[_0x780a('0x32')]=qs[_0x780a('0x32')](_0x2be9c7[_0x780a('0x2b')][_0x780a('0x32')]);_0x333fbc[_0x780a('0x1b')]=qs[_0x780a('0x1b')](_0x2be9c7['query'][_0x780a('0x1b')]);}_0x333fbc[_0x780a('0x33')]=qs[_0x780a('0x34')](_0x2be9c7[_0x780a('0x2b')][_0x780a('0x34')]);_0x333fbc[_0x780a('0x35')]=qs[_0x780a('0x2c')](_['pick'](_0x2be9c7['query'],_0x1a5dea[_0x780a('0x2c')]),_0x384d86);if(_0x2be9c7[_0x780a('0x2b')]['filter']){_0x333fbc[_0x780a('0x35')]=_[_0x780a('0x36')](_0x333fbc['where'],{'$or':_['map'](_0x384d86,function(_0x4f7a20){if(_0x4f7a20['type']!==_0x780a('0x37')){var _0x2c9fbb={};_0x2c9fbb[_0x4f7a20[_0x780a('0x23')]]={'$like':'%'+_0x2be9c7[_0x780a('0x2b')][_0x780a('0x38')]+'%'};return _0x2c9fbb;}})});}_0x333fbc=_['merge']({},_0x333fbc,_0x2be9c7[_0x780a('0x39')]);var _0x3bac8f={'where':_0x333fbc[_0x780a('0x35')]};return db[_0x780a('0x26')]['count'](_0x3bac8f)['then'](function(_0xf1f254){_0x8d1d13[_0x780a('0x3a')]=_0xf1f254;if(_0x2be9c7[_0x780a('0x2b')]['includeAll']){_0x333fbc['include']=[{'all':!![]}];}return db[_0x780a('0x26')][_0x780a('0x3b')](_0x333fbc);})[_0x780a('0x1f')](function(_0x50b590){_0x8d1d13['rows']=_0x50b590;return _0x8d1d13;})[_0x780a('0x1f')](respondWithFilteredResult(_0x18cf15,_0x333fbc))['catch'](handleError(_0x18cf15,null));};exports[_0x780a('0x3c')]=function(_0x6f51b8,_0x3c382f){var _0x16c364={'raw':!![],'where':{'id':_0x6f51b8[_0x780a('0x3d')]['id']}},_0x3d931d={};_0x3d931d[_0x780a('0x29')]=_['keys'](db[_0x780a('0x26')][_0x780a('0x3e')]);_0x3d931d['query']=_[_0x780a('0x2a')](_0x6f51b8[_0x780a('0x2b')]);_0x3d931d[_0x780a('0x2c')]=_[_0x780a('0x2d')](_0x3d931d[_0x780a('0x29')],_0x3d931d['query']);_0x16c364[_0x780a('0x2f')]=_[_0x780a('0x2d')](_0x3d931d[_0x780a('0x29')],qs[_0x780a('0x2e')](_0x6f51b8['query'][_0x780a('0x2e')]));_0x16c364[_0x780a('0x2f')]=_0x16c364[_0x780a('0x2f')]['length']?_0x16c364[_0x780a('0x2f')]:_0x3d931d[_0x780a('0x29')];if(_0x6f51b8['query'][_0x780a('0x3f')]){_0x16c364[_0x780a('0x40')]=[{'all':!![]}];}_0x16c364=_[_0x780a('0x36')]({},_0x16c364,_0x6f51b8[_0x780a('0x39')]);return db['WhatsappTransferReport'][_0x780a('0x41')](_0x16c364)[_0x780a('0x1f')](handleEntityNotFound(_0x3c382f,null))['then'](respondWithResult(_0x3c382f,null))['catch'](handleError(_0x3c382f,null));};exports[_0x780a('0x42')]=function(_0x299091,_0x29bb10){return db['WhatsappTransferReport'][_0x780a('0x42')](_0x299091[_0x780a('0x43')],{})['then'](respondWithResult(_0x29bb10,0xc9))[_0x780a('0x44')](handleError(_0x29bb10,null));};exports[_0x780a('0x1e')]=function(_0x526125,_0x3a817a){if(_0x526125[_0x780a('0x43')]['id']){delete _0x526125[_0x780a('0x43')]['id'];}return db[_0x780a('0x26')][_0x780a('0x41')]({'where':{'id':_0x526125[_0x780a('0x3d')]['id']}})[_0x780a('0x1f')](handleEntityNotFound(_0x3a817a,null))[_0x780a('0x1f')](saveUpdates(_0x526125[_0x780a('0x43')],null))['then'](respondWithResult(_0x3a817a,null))[_0x780a('0x44')](handleError(_0x3a817a,null));};exports[_0x780a('0x20')]=function(_0x246648,_0xaf112a){return db[_0x780a('0x26')][_0x780a('0x41')]({'where':{'id':_0x246648[_0x780a('0x3d')]['id']}})[_0x780a('0x1f')](handleEntityNotFound(_0xaf112a,null))['then'](removeEntity(_0xaf112a,null))[_0x780a('0x44')](handleError(_0xaf112a,null));};exports[_0x780a('0x45')]=function(_0x4512db,_0x11dba6){return db['WhatsappTransferReport']['describe']()['then'](respondWithResult(_0x11dba6,null))[_0x780a('0x44')](handleError(_0x11dba6,null));};