c4c54e277843ca2550ef3a964ac61129fbacdc18
[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 _0x81ae=['path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','count','limit','Content-Range','reject','save','destroy','then','sendStatus','error','stack','name','send','WhatsappTransferReport','rawAttributes','fieldName','type','query','keys','filters','model','fields','attributes','length','hasOwnProperty','sort','where','pick','filter','merge','map','options','includeAll','include','findAll','rows','show','intersection','find','catch','create','body','update','params','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util'];(function(_0x3063f9,_0x385fc7){var _0x100015=function(_0x35a166){while(--_0x35a166){_0x3063f9['push'](_0x3063f9['shift']());}};_0x100015(++_0x385fc7);}(_0x81ae,0xdf));var _0xe81a=function(_0x160c73,_0x2ee678){_0x160c73=_0x160c73-0x0;var _0xd9302=_0x81ae[_0x160c73];return _0xd9302;};'use strict';var emlformat=require(_0xe81a('0x0'));var rimraf=require(_0xe81a('0x1'));var zipdir=require(_0xe81a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe81a('0x3'));var moment=require(_0xe81a('0x4'));var BPromise=require(_0xe81a('0x5'));var Mustache=require(_0xe81a('0x6'));var util=require(_0xe81a('0x7'));var path=require(_0xe81a('0x8'));var sox=require(_0xe81a('0x9'));var csv=require('to-csv');var ejs=require(_0xe81a('0xa'));var fs=require('fs');var fs_extra=require(_0xe81a('0xb'));var _=require(_0xe81a('0xc'));var squel=require('squel');var crypto=require(_0xe81a('0xd'));var jsforce=require(_0xe81a('0xe'));var deskjs=require(_0xe81a('0xf'));var toCsv=require(_0xe81a('0x10'));var querystring=require(_0xe81a('0x11'));var Papa=require('papaparse');var Redis=require(_0xe81a('0x12'));var authService=require(_0xe81a('0x13'));var qs=require(_0xe81a('0x14'));var as=require(_0xe81a('0x15'));var hardwareService=require(_0xe81a('0x16'));var logger=require('../../config/logger')(_0xe81a('0x17'));var utils=require(_0xe81a('0x18'));var config=require(_0xe81a('0x19'));var licenseUtil=require(_0xe81a('0x1a'));var db=require(_0xe81a('0x1b'))['db'];function respondWithStatusCode(_0xf4382e,_0x4fd6e6){_0x4fd6e6=_0x4fd6e6||0xcc;return function(_0x1a77d5){if(_0x1a77d5){return _0xf4382e['sendStatus'](_0x4fd6e6);}return _0xf4382e['status'](_0x4fd6e6)[_0xe81a('0x1c')]();};}function respondWithResult(_0x3eea75,_0x2eebe8){_0x2eebe8=_0x2eebe8||0xc8;return function(_0x32a204){if(_0x32a204){return _0x3eea75[_0xe81a('0x1d')](_0x2eebe8)[_0xe81a('0x1e')](_0x32a204);}};}function respondWithFilteredResult(_0x2795bc,_0x26b191){return function(_0x63760c){if(_0x63760c){var _0x3e46b0=typeof _0x26b191[_0xe81a('0x1f')]===_0xe81a('0x20')&&typeof _0x26b191['limit']===_0xe81a('0x20');var _0x2935d0=_0x63760c[_0xe81a('0x21')];var _0x3f4058=_0x3e46b0?0x0:_0x26b191[_0xe81a('0x1f')];var _0x16013e=_0x3e46b0?_0x63760c['count']:_0x26b191['offset']+_0x26b191[_0xe81a('0x22')];var _0xc70792;if(_0x16013e>=_0x2935d0){_0x16013e=_0x2935d0;_0xc70792=0xc8;}else{_0xc70792=0xce;}_0x2795bc[_0xe81a('0x1d')](_0xc70792);return _0x2795bc['set'](_0xe81a('0x23'),_0x3f4058+'-'+_0x16013e+'/'+_0x2935d0)[_0xe81a('0x1e')](_0x63760c);}return null;};}function patchUpdates(_0x5af24e){return function(_0x195661){try{jsonpatch['apply'](_0x195661,_0x5af24e,!![]);}catch(_0x3b207c){return BPromise[_0xe81a('0x24')](_0x3b207c);}return _0x195661[_0xe81a('0x25')]();};}function saveUpdates(_0x2db2f5,_0x5bd307){return function(_0x18759b){if(_0x18759b){return _0x18759b['update'](_0x2db2f5)['then'](function(_0x2281dd){return _0x2281dd;});}return null;};}function removeEntity(_0x29e72c,_0x53445f){return function(_0x52b059){if(_0x52b059){return _0x52b059[_0xe81a('0x26')]()[_0xe81a('0x27')](function(){_0x29e72c['status'](0xcc)[_0xe81a('0x1c')]();});}};}function handleEntityNotFound(_0x3b8622,_0x2ea72a){return function(_0x2d072d){if(!_0x2d072d){_0x3b8622[_0xe81a('0x28')](0x194);}return _0x2d072d;};}function handleError(_0x88cd3a,_0x164572){_0x164572=_0x164572||0x1f4;return function(_0x42ebd9){logger[_0xe81a('0x29')](_0x42ebd9[_0xe81a('0x2a')]);if(_0x42ebd9['name']){delete _0x42ebd9[_0xe81a('0x2b')];}_0x88cd3a[_0xe81a('0x1d')](_0x164572)[_0xe81a('0x2c')](_0x42ebd9);};}exports['index']=function(_0x1de8b4,_0xce76a4){var _0x2252a1={},_0x3bf8e3={},_0x5da7dd={'count':0x0,'rows':[]};var _0x4d4a0a=_['map'](db[_0xe81a('0x2d')][_0xe81a('0x2e')],function(_0x2d24d6){return{'name':_0x2d24d6[_0xe81a('0x2f')],'type':_0x2d24d6[_0xe81a('0x30')]['key']};});_0x3bf8e3['model']=_['map'](_0x4d4a0a,_0xe81a('0x2b'));_0x3bf8e3[_0xe81a('0x31')]=_[_0xe81a('0x32')](_0x1de8b4[_0xe81a('0x31')]);_0x3bf8e3[_0xe81a('0x33')]=_['intersection'](_0x3bf8e3[_0xe81a('0x34')],_0x3bf8e3[_0xe81a('0x31')]);_0x2252a1['attributes']=_['intersection'](_0x3bf8e3[_0xe81a('0x34')],qs[_0xe81a('0x35')](_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x35')]));_0x2252a1[_0xe81a('0x36')]=_0x2252a1[_0xe81a('0x36')][_0xe81a('0x37')]?_0x2252a1[_0xe81a('0x36')]:_0x3bf8e3[_0xe81a('0x34')];if(!_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x38')]('nolimit')){_0x2252a1['limit']=qs[_0xe81a('0x22')](_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x22')]);_0x2252a1[_0xe81a('0x1f')]=qs[_0xe81a('0x1f')](_0x1de8b4['query'][_0xe81a('0x1f')]);}_0x2252a1['order']=qs['sort'](_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x39')]);_0x2252a1[_0xe81a('0x3a')]=qs[_0xe81a('0x33')](_[_0xe81a('0x3b')](_0x1de8b4[_0xe81a('0x31')],_0x3bf8e3['filters']),_0x4d4a0a);if(_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x3c')]){_0x2252a1['where']=_[_0xe81a('0x3d')](_0x2252a1[_0xe81a('0x3a')],{'$or':_[_0xe81a('0x3e')](_0x4d4a0a,function(_0x48d85a){if(_0x48d85a['type']!=='VIRTUAL'){var _0x554810={};_0x554810[_0x48d85a['name']]={'$like':'%'+_0x1de8b4[_0xe81a('0x31')][_0xe81a('0x3c')]+'%'};return _0x554810;}})});}_0x2252a1=_[_0xe81a('0x3d')]({},_0x2252a1,_0x1de8b4[_0xe81a('0x3f')]);var _0x519a55={'where':_0x2252a1[_0xe81a('0x3a')]};return db[_0xe81a('0x2d')][_0xe81a('0x21')](_0x519a55)['then'](function(_0x16211c){_0x5da7dd['count']=_0x16211c;if(_0x1de8b4['query'][_0xe81a('0x40')]){_0x2252a1[_0xe81a('0x41')]=[{'all':!![]}];}return db[_0xe81a('0x2d')][_0xe81a('0x42')](_0x2252a1);})[_0xe81a('0x27')](function(_0x1b2d46){_0x5da7dd[_0xe81a('0x43')]=_0x1b2d46;return _0x5da7dd;})[_0xe81a('0x27')](respondWithFilteredResult(_0xce76a4,_0x2252a1))['catch'](handleError(_0xce76a4,null));};exports[_0xe81a('0x44')]=function(_0x8bceb1,_0x37701b){var _0x4de521={'raw':!![],'where':{'id':_0x8bceb1['params']['id']}},_0x22b89a={};_0x22b89a[_0xe81a('0x34')]=_[_0xe81a('0x32')](db[_0xe81a('0x2d')][_0xe81a('0x2e')]);_0x22b89a[_0xe81a('0x31')]=_[_0xe81a('0x32')](_0x8bceb1[_0xe81a('0x31')]);_0x22b89a[_0xe81a('0x33')]=_['intersection'](_0x22b89a[_0xe81a('0x34')],_0x22b89a['query']);_0x4de521[_0xe81a('0x36')]=_[_0xe81a('0x45')](_0x22b89a[_0xe81a('0x34')],qs['fields'](_0x8bceb1[_0xe81a('0x31')][_0xe81a('0x35')]));_0x4de521[_0xe81a('0x36')]=_0x4de521[_0xe81a('0x36')][_0xe81a('0x37')]?_0x4de521[_0xe81a('0x36')]:_0x22b89a['model'];if(_0x8bceb1[_0xe81a('0x31')]['includeAll']){_0x4de521[_0xe81a('0x41')]=[{'all':!![]}];}_0x4de521=_[_0xe81a('0x3d')]({},_0x4de521,_0x8bceb1[_0xe81a('0x3f')]);return db[_0xe81a('0x2d')][_0xe81a('0x46')](_0x4de521)[_0xe81a('0x27')](handleEntityNotFound(_0x37701b,null))[_0xe81a('0x27')](respondWithResult(_0x37701b,null))[_0xe81a('0x47')](handleError(_0x37701b,null));};exports[_0xe81a('0x48')]=function(_0x41b322,_0x3b9b4a){return db[_0xe81a('0x2d')][_0xe81a('0x48')](_0x41b322[_0xe81a('0x49')],{})[_0xe81a('0x27')](respondWithResult(_0x3b9b4a,0xc9))[_0xe81a('0x47')](handleError(_0x3b9b4a,null));};exports[_0xe81a('0x4a')]=function(_0x4b699e,_0xef1d81){if(_0x4b699e[_0xe81a('0x49')]['id']){delete _0x4b699e[_0xe81a('0x49')]['id'];}return db['WhatsappTransferReport'][_0xe81a('0x46')]({'where':{'id':_0x4b699e[_0xe81a('0x4b')]['id']}})[_0xe81a('0x27')](handleEntityNotFound(_0xef1d81,null))['then'](saveUpdates(_0x4b699e[_0xe81a('0x49')],null))['then'](respondWithResult(_0xef1d81,null))[_0xe81a('0x47')](handleError(_0xef1d81,null));};exports[_0xe81a('0x26')]=function(_0x5b89de,_0x3192f5){return db['WhatsappTransferReport'][_0xe81a('0x46')]({'where':{'id':_0x5b89de['params']['id']}})[_0xe81a('0x27')](handleEntityNotFound(_0x3192f5,null))['then'](removeEntity(_0x3192f5,null))['catch'](handleError(_0x3192f5,null));};exports['describe']=function(_0x4544c3,_0x226289){return db[_0xe81a('0x2d')][_0xe81a('0x4c')]()['then'](respondWithResult(_0x226289,null))[_0xe81a('0x47')](handleError(_0x226289,null));};