fe3ef9ca3adfcf235a261e1b79cd1d85f5a5688c
[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 _0xb6a1=['WhatsappTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','length','find','create','body','describe','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','error','stack','name','send','index','map'];(function(_0x2f8bc5,_0x12e3d1){var _0x2e4207=function(_0x217405){while(--_0x217405){_0x2f8bc5['push'](_0x2f8bc5['shift']());}};_0x2e4207(++_0x12e3d1);}(_0xb6a1,0x14d));var _0x1b6a=function(_0x5d4607,_0x6b5e7b){_0x5d4607=_0x5d4607-0x0;var _0x5e4a86=_0xb6a1[_0x5d4607];return _0x5e4a86;};'use strict';var emlformat=require(_0x1b6a('0x0'));var rimraf=require(_0x1b6a('0x1'));var zipdir=require(_0x1b6a('0x2'));var jsonpatch=require(_0x1b6a('0x3'));var rp=require('request-promise');var moment=require(_0x1b6a('0x4'));var BPromise=require(_0x1b6a('0x5'));var Mustache=require(_0x1b6a('0x6'));var util=require('util');var path=require(_0x1b6a('0x7'));var sox=require('sox');var csv=require(_0x1b6a('0x8'));var ejs=require(_0x1b6a('0x9'));var fs=require('fs');var fs_extra=require(_0x1b6a('0xa'));var _=require('lodash');var squel=require(_0x1b6a('0xb'));var crypto=require('crypto');var jsforce=require(_0x1b6a('0xc'));var deskjs=require(_0x1b6a('0xd'));var toCsv=require(_0x1b6a('0x8'));var querystring=require('querystring');var Papa=require(_0x1b6a('0xe'));var Redis=require(_0x1b6a('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1b6a('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1b6a('0x11'))(_0x1b6a('0x12'));var utils=require(_0x1b6a('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x1b6a('0x14'));var db=require(_0x1b6a('0x15'))['db'];function respondWithStatusCode(_0x324d5b,_0x263c5b){_0x263c5b=_0x263c5b||0xcc;return function(_0x1adffd){if(_0x1adffd){return _0x324d5b['sendStatus'](_0x263c5b);}return _0x324d5b[_0x1b6a('0x16')](_0x263c5b)[_0x1b6a('0x17')]();};}function respondWithResult(_0x4985fa,_0x356129){_0x356129=_0x356129||0xc8;return function(_0x2cc1ff){if(_0x2cc1ff){return _0x4985fa[_0x1b6a('0x16')](_0x356129)[_0x1b6a('0x18')](_0x2cc1ff);}};}function respondWithFilteredResult(_0x2253da,_0x227ea7){return function(_0x22f1d2){if(_0x22f1d2){var _0xf834aa=typeof _0x227ea7[_0x1b6a('0x19')]===_0x1b6a('0x1a')&&typeof _0x227ea7[_0x1b6a('0x1b')]===_0x1b6a('0x1a');var _0x3062df=_0x22f1d2[_0x1b6a('0x1c')];var _0x31a74b=_0xf834aa?0x0:_0x227ea7['offset'];var _0xf3ab9c=_0xf834aa?_0x22f1d2['count']:_0x227ea7['offset']+_0x227ea7[_0x1b6a('0x1b')];var _0x46cc76;if(_0xf3ab9c>=_0x3062df){_0xf3ab9c=_0x3062df;_0x46cc76=0xc8;}else{_0x46cc76=0xce;}_0x2253da[_0x1b6a('0x16')](_0x46cc76);return _0x2253da[_0x1b6a('0x1d')](_0x1b6a('0x1e'),_0x31a74b+'-'+_0xf3ab9c+'/'+_0x3062df)[_0x1b6a('0x18')](_0x22f1d2);}return null;};}function patchUpdates(_0x4aaaaf){return function(_0x2497ec){try{jsonpatch[_0x1b6a('0x1f')](_0x2497ec,_0x4aaaaf,!![]);}catch(_0x5e5f6e){return BPromise[_0x1b6a('0x20')](_0x5e5f6e);}return _0x2497ec['save']();};}function saveUpdates(_0x519f69,_0x43ff9a){return function(_0x11f531){if(_0x11f531){return _0x11f531[_0x1b6a('0x21')](_0x519f69)[_0x1b6a('0x22')](function(_0x5347f7){return _0x5347f7;});}return null;};}function removeEntity(_0x2e23e4,_0x2b4a79){return function(_0x3c1b11){if(_0x3c1b11){return _0x3c1b11[_0x1b6a('0x23')]()['then'](function(){_0x2e23e4[_0x1b6a('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5bb8da,_0x3d65fe){return function(_0x4e307e){if(!_0x4e307e){_0x5bb8da['sendStatus'](0x194);}return _0x4e307e;};}function handleError(_0x4972fc,_0x494e85){_0x494e85=_0x494e85||0x1f4;return function(_0xa97d24){logger[_0x1b6a('0x24')](_0xa97d24[_0x1b6a('0x25')]);if(_0xa97d24[_0x1b6a('0x26')]){delete _0xa97d24[_0x1b6a('0x26')];}_0x4972fc[_0x1b6a('0x16')](_0x494e85)[_0x1b6a('0x27')](_0xa97d24);};}exports[_0x1b6a('0x28')]=function(_0x1220e0,_0x6f3094){var _0x108cfa={},_0x461cde={},_0x44b297={'count':0x0,'rows':[]};var _0x44f409=_[_0x1b6a('0x29')](db[_0x1b6a('0x2a')][_0x1b6a('0x2b')],function(_0x58312b){return{'name':_0x58312b[_0x1b6a('0x2c')],'type':_0x58312b[_0x1b6a('0x2d')][_0x1b6a('0x2e')]};});_0x461cde[_0x1b6a('0x2f')]=_[_0x1b6a('0x29')](_0x44f409,'name');_0x461cde[_0x1b6a('0x30')]=_[_0x1b6a('0x31')](_0x1220e0[_0x1b6a('0x30')]);_0x461cde[_0x1b6a('0x32')]=_[_0x1b6a('0x33')](_0x461cde['model'],_0x461cde[_0x1b6a('0x30')]);_0x108cfa[_0x1b6a('0x34')]=_[_0x1b6a('0x33')](_0x461cde[_0x1b6a('0x2f')],qs[_0x1b6a('0x35')](_0x1220e0['query'][_0x1b6a('0x35')]));_0x108cfa[_0x1b6a('0x34')]=_0x108cfa[_0x1b6a('0x34')]['length']?_0x108cfa[_0x1b6a('0x34')]:_0x461cde[_0x1b6a('0x2f')];if(!_0x1220e0[_0x1b6a('0x30')][_0x1b6a('0x36')](_0x1b6a('0x37'))){_0x108cfa[_0x1b6a('0x1b')]=qs[_0x1b6a('0x1b')](_0x1220e0['query'][_0x1b6a('0x1b')]);_0x108cfa[_0x1b6a('0x19')]=qs[_0x1b6a('0x19')](_0x1220e0['query'][_0x1b6a('0x19')]);}_0x108cfa[_0x1b6a('0x38')]=qs[_0x1b6a('0x39')](_0x1220e0[_0x1b6a('0x30')][_0x1b6a('0x39')]);_0x108cfa[_0x1b6a('0x3a')]=qs[_0x1b6a('0x32')](_[_0x1b6a('0x3b')](_0x1220e0[_0x1b6a('0x30')],_0x461cde['filters']),_0x44f409);if(_0x1220e0[_0x1b6a('0x30')][_0x1b6a('0x3c')]){_0x108cfa['where']=_[_0x1b6a('0x3d')](_0x108cfa[_0x1b6a('0x3a')],{'$or':_[_0x1b6a('0x29')](_0x44f409,function(_0x9b8da8){if(_0x9b8da8['type']!==_0x1b6a('0x3e')){var _0xd11b9b={};_0xd11b9b[_0x9b8da8[_0x1b6a('0x26')]]={'$like':'%'+_0x1220e0['query'][_0x1b6a('0x3c')]+'%'};return _0xd11b9b;}})});}_0x108cfa=_['merge']({},_0x108cfa,_0x1220e0['options']);var _0x50a9c0={'where':_0x108cfa[_0x1b6a('0x3a')]};return db[_0x1b6a('0x2a')]['count'](_0x50a9c0)['then'](function(_0xb2d3d8){_0x44b297[_0x1b6a('0x1c')]=_0xb2d3d8;if(_0x1220e0[_0x1b6a('0x30')][_0x1b6a('0x3f')]){_0x108cfa[_0x1b6a('0x40')]=[{'all':!![]}];}return db[_0x1b6a('0x2a')][_0x1b6a('0x41')](_0x108cfa);})[_0x1b6a('0x22')](function(_0x1fc4d){_0x44b297[_0x1b6a('0x42')]=_0x1fc4d;return _0x44b297;})[_0x1b6a('0x22')](respondWithFilteredResult(_0x6f3094,_0x108cfa))[_0x1b6a('0x43')](handleError(_0x6f3094,null));};exports[_0x1b6a('0x44')]=function(_0x126fa3,_0x5ba437){var _0x84f242={'raw':!![],'where':{'id':_0x126fa3[_0x1b6a('0x45')]['id']}},_0x54f0f5={};_0x54f0f5[_0x1b6a('0x2f')]=_['keys'](db[_0x1b6a('0x2a')][_0x1b6a('0x2b')]);_0x54f0f5[_0x1b6a('0x30')]=_[_0x1b6a('0x31')](_0x126fa3[_0x1b6a('0x30')]);_0x54f0f5[_0x1b6a('0x32')]=_['intersection'](_0x54f0f5[_0x1b6a('0x2f')],_0x54f0f5['query']);_0x84f242['attributes']=_['intersection'](_0x54f0f5[_0x1b6a('0x2f')],qs[_0x1b6a('0x35')](_0x126fa3[_0x1b6a('0x30')][_0x1b6a('0x35')]));_0x84f242[_0x1b6a('0x34')]=_0x84f242[_0x1b6a('0x34')][_0x1b6a('0x46')]?_0x84f242[_0x1b6a('0x34')]:_0x54f0f5[_0x1b6a('0x2f')];if(_0x126fa3[_0x1b6a('0x30')][_0x1b6a('0x3f')]){_0x84f242['include']=[{'all':!![]}];}_0x84f242=_[_0x1b6a('0x3d')]({},_0x84f242,_0x126fa3['options']);return db[_0x1b6a('0x2a')][_0x1b6a('0x47')](_0x84f242)[_0x1b6a('0x22')](handleEntityNotFound(_0x5ba437,null))[_0x1b6a('0x22')](respondWithResult(_0x5ba437,null))['catch'](handleError(_0x5ba437,null));};exports[_0x1b6a('0x48')]=function(_0x5316d0,_0x1c5943){return db[_0x1b6a('0x2a')][_0x1b6a('0x48')](_0x5316d0['body'],{})['then'](respondWithResult(_0x1c5943,0xc9))['catch'](handleError(_0x1c5943,null));};exports[_0x1b6a('0x21')]=function(_0x5efe5f,_0x2214ed){if(_0x5efe5f['body']['id']){delete _0x5efe5f[_0x1b6a('0x49')]['id'];}return db[_0x1b6a('0x2a')][_0x1b6a('0x47')]({'where':{'id':_0x5efe5f[_0x1b6a('0x45')]['id']}})[_0x1b6a('0x22')](handleEntityNotFound(_0x2214ed,null))[_0x1b6a('0x22')](saveUpdates(_0x5efe5f[_0x1b6a('0x49')],null))[_0x1b6a('0x22')](respondWithResult(_0x2214ed,null))['catch'](handleError(_0x2214ed,null));};exports[_0x1b6a('0x23')]=function(_0x3d9da8,_0x5b6ff1){return db[_0x1b6a('0x2a')][_0x1b6a('0x47')]({'where':{'id':_0x3d9da8[_0x1b6a('0x45')]['id']}})[_0x1b6a('0x22')](handleEntityNotFound(_0x5b6ff1,null))[_0x1b6a('0x22')](removeEntity(_0x5b6ff1,null))[_0x1b6a('0x43')](handleError(_0x5b6ff1,null));};exports[_0x1b6a('0x4a')]=function(_0x218095,_0x1d64f9){return db[_0x1b6a('0x2a')][_0x1b6a('0x4a')]()[_0x1b6a('0x22')](respondWithResult(_0x1d64f9,null))[_0x1b6a('0x43')](handleError(_0x1d64f9,null));};