78dc3125d7015f6a2f3453c3680e8c8e022279ac
[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 _0x458d=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','apply','save','then','end','error','stack','name','send','index','map','WhatsappTransferReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs'];(function(_0x1f2a24,_0x551eae){var _0x1a9f5f=function(_0x3af021){while(--_0x3af021){_0x1f2a24['push'](_0x1f2a24['shift']());}};_0x1a9f5f(++_0x551eae);}(_0x458d,0xe2));var _0xd458=function(_0x47aa64,_0xfb8a07){_0x47aa64=_0x47aa64-0x0;var _0x549c7a=_0x458d[_0x47aa64];return _0x549c7a;};'use strict';var emlformat=require(_0xd458('0x0'));var rimraf=require(_0xd458('0x1'));var zipdir=require(_0xd458('0x2'));var jsonpatch=require(_0xd458('0x3'));var rp=require(_0xd458('0x4'));var moment=require('moment');var BPromise=require(_0xd458('0x5'));var Mustache=require(_0xd458('0x6'));var util=require(_0xd458('0x7'));var path=require(_0xd458('0x8'));var sox=require(_0xd458('0x9'));var csv=require(_0xd458('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xd458('0xb'));var _=require(_0xd458('0xc'));var squel=require('squel');var crypto=require(_0xd458('0xd'));var jsforce=require(_0xd458('0xe'));var deskjs=require(_0xd458('0xf'));var toCsv=require(_0xd458('0xa'));var querystring=require(_0xd458('0x10'));var Papa=require(_0xd458('0x11'));var Redis=require('ioredis');var authService=require(_0xd458('0x12'));var qs=require(_0xd458('0x13'));var as=require(_0xd458('0x14'));var hardwareService=require(_0xd458('0x15'));var logger=require(_0xd458('0x16'))(_0xd458('0x17'));var utils=require(_0xd458('0x18'));var config=require(_0xd458('0x19'));var licenseUtil=require(_0xd458('0x1a'));var db=require(_0xd458('0x1b'))['db'];function respondWithStatusCode(_0x140b64,_0x4abdc1){_0x4abdc1=_0x4abdc1||0xcc;return function(_0x2cbc2c){if(_0x2cbc2c){return _0x140b64[_0xd458('0x1c')](_0x4abdc1);}return _0x140b64[_0xd458('0x1d')](_0x4abdc1)['end']();};}function respondWithResult(_0x3f6e24,_0x1f2f10){_0x1f2f10=_0x1f2f10||0xc8;return function(_0x46f273){if(_0x46f273){return _0x3f6e24[_0xd458('0x1d')](_0x1f2f10)['json'](_0x46f273);}};}function respondWithFilteredResult(_0x1532ad,_0x553e8c){return function(_0x4701d0){if(_0x4701d0){var _0x37fb1e=typeof _0x553e8c[_0xd458('0x1e')]===_0xd458('0x1f')&&typeof _0x553e8c[_0xd458('0x20')]===_0xd458('0x1f');var _0x176cca=_0x4701d0[_0xd458('0x21')];var _0x3056de=_0x37fb1e?0x0:_0x553e8c[_0xd458('0x1e')];var _0x40ec7b=_0x37fb1e?_0x4701d0[_0xd458('0x21')]:_0x553e8c[_0xd458('0x1e')]+_0x553e8c['limit'];var _0x85957d;if(_0x40ec7b>=_0x176cca){_0x40ec7b=_0x176cca;_0x85957d=0xc8;}else{_0x85957d=0xce;}_0x1532ad['status'](_0x85957d);return _0x1532ad[_0xd458('0x22')](_0xd458('0x23'),_0x3056de+'-'+_0x40ec7b+'/'+_0x176cca)[_0xd458('0x24')](_0x4701d0);}return null;};}function patchUpdates(_0x59355f){return function(_0x460d4b){try{jsonpatch[_0xd458('0x25')](_0x460d4b,_0x59355f,!![]);}catch(_0x1fcb5c){return BPromise['reject'](_0x1fcb5c);}return _0x460d4b[_0xd458('0x26')]();};}function saveUpdates(_0x155489,_0x3ff7f6){return function(_0x35b0ce){if(_0x35b0ce){return _0x35b0ce['update'](_0x155489)['then'](function(_0x37f74c){return _0x37f74c;});}return null;};}function removeEntity(_0x476b45,_0x1ab4ca){return function(_0x5fec86){if(_0x5fec86){return _0x5fec86['destroy']()[_0xd458('0x27')](function(){_0x476b45[_0xd458('0x1d')](0xcc)[_0xd458('0x28')]();});}};}function handleEntityNotFound(_0x80304f,_0x177065){return function(_0x1af804){if(!_0x1af804){_0x80304f['sendStatus'](0x194);}return _0x1af804;};}function handleError(_0x3bcf27,_0x22bb0f){_0x22bb0f=_0x22bb0f||0x1f4;return function(_0x39c13f){logger[_0xd458('0x29')](_0x39c13f[_0xd458('0x2a')]);if(_0x39c13f[_0xd458('0x2b')]){delete _0x39c13f['name'];}_0x3bcf27[_0xd458('0x1d')](_0x22bb0f)[_0xd458('0x2c')](_0x39c13f);};}exports[_0xd458('0x2d')]=function(_0x1832e1,_0x379b55){var _0x2dbe13={},_0x5b0f4b={},_0x3f0835={'count':0x0,'rows':[]};var _0x6808e5=_[_0xd458('0x2e')](db[_0xd458('0x2f')][_0xd458('0x30')],function(_0x1a989f){return{'name':_0x1a989f[_0xd458('0x31')],'type':_0x1a989f[_0xd458('0x32')][_0xd458('0x33')]};});_0x5b0f4b[_0xd458('0x34')]=_[_0xd458('0x2e')](_0x6808e5,_0xd458('0x2b'));_0x5b0f4b[_0xd458('0x35')]=_[_0xd458('0x36')](_0x1832e1['query']);_0x5b0f4b[_0xd458('0x37')]=_[_0xd458('0x38')](_0x5b0f4b['model'],_0x5b0f4b[_0xd458('0x35')]);_0x2dbe13['attributes']=_['intersection'](_0x5b0f4b[_0xd458('0x34')],qs['fields'](_0x1832e1['query'][_0xd458('0x39')]));_0x2dbe13[_0xd458('0x3a')]=_0x2dbe13['attributes'][_0xd458('0x3b')]?_0x2dbe13[_0xd458('0x3a')]:_0x5b0f4b['model'];if(!_0x1832e1['query'][_0xd458('0x3c')](_0xd458('0x3d'))){_0x2dbe13[_0xd458('0x20')]=qs[_0xd458('0x20')](_0x1832e1['query'][_0xd458('0x20')]);_0x2dbe13[_0xd458('0x1e')]=qs[_0xd458('0x1e')](_0x1832e1[_0xd458('0x35')][_0xd458('0x1e')]);}_0x2dbe13['order']=qs[_0xd458('0x3e')](_0x1832e1[_0xd458('0x35')][_0xd458('0x3e')]);_0x2dbe13['where']=qs[_0xd458('0x37')](_[_0xd458('0x3f')](_0x1832e1[_0xd458('0x35')],_0x5b0f4b[_0xd458('0x37')]),_0x6808e5);if(_0x1832e1[_0xd458('0x35')][_0xd458('0x40')]){_0x2dbe13[_0xd458('0x41')]=_[_0xd458('0x42')](_0x2dbe13['where'],{'$or':_[_0xd458('0x2e')](_0x6808e5,function(_0x91c49c){if(_0x91c49c[_0xd458('0x32')]!==_0xd458('0x43')){var _0x389690={};_0x389690[_0x91c49c[_0xd458('0x2b')]]={'$like':'%'+_0x1832e1[_0xd458('0x35')][_0xd458('0x40')]+'%'};return _0x389690;}})});}_0x2dbe13=_['merge']({},_0x2dbe13,_0x1832e1[_0xd458('0x44')]);var _0x5313e1={'where':_0x2dbe13['where']};return db[_0xd458('0x2f')]['count'](_0x5313e1)[_0xd458('0x27')](function(_0x2a4748){_0x3f0835[_0xd458('0x21')]=_0x2a4748;if(_0x1832e1[_0xd458('0x35')][_0xd458('0x45')]){_0x2dbe13[_0xd458('0x46')]=[{'all':!![]}];}return db[_0xd458('0x2f')][_0xd458('0x47')](_0x2dbe13);})[_0xd458('0x27')](function(_0x36e102){_0x3f0835[_0xd458('0x48')]=_0x36e102;return _0x3f0835;})[_0xd458('0x27')](respondWithFilteredResult(_0x379b55,_0x2dbe13))[_0xd458('0x49')](handleError(_0x379b55,null));};exports[_0xd458('0x4a')]=function(_0x124a69,_0x21a5a5){var _0x24520c={'raw':!![],'where':{'id':_0x124a69[_0xd458('0x4b')]['id']}},_0x2443a5={};_0x2443a5['model']=_[_0xd458('0x36')](db[_0xd458('0x2f')]['rawAttributes']);_0x2443a5[_0xd458('0x35')]=_[_0xd458('0x36')](_0x124a69['query']);_0x2443a5[_0xd458('0x37')]=_['intersection'](_0x2443a5['model'],_0x2443a5[_0xd458('0x35')]);_0x24520c[_0xd458('0x3a')]=_[_0xd458('0x38')](_0x2443a5[_0xd458('0x34')],qs[_0xd458('0x39')](_0x124a69[_0xd458('0x35')][_0xd458('0x39')]));_0x24520c[_0xd458('0x3a')]=_0x24520c[_0xd458('0x3a')][_0xd458('0x3b')]?_0x24520c[_0xd458('0x3a')]:_0x2443a5[_0xd458('0x34')];if(_0x124a69[_0xd458('0x35')]['includeAll']){_0x24520c[_0xd458('0x46')]=[{'all':!![]}];}_0x24520c=_[_0xd458('0x42')]({},_0x24520c,_0x124a69[_0xd458('0x44')]);return db['WhatsappTransferReport']['find'](_0x24520c)['then'](handleEntityNotFound(_0x21a5a5,null))[_0xd458('0x27')](respondWithResult(_0x21a5a5,null))[_0xd458('0x49')](handleError(_0x21a5a5,null));};exports[_0xd458('0x4c')]=function(_0x5846bc,_0xc21678){return db['WhatsappTransferReport'][_0xd458('0x4c')](_0x5846bc[_0xd458('0x4d')],{})['then'](respondWithResult(_0xc21678,0xc9))['catch'](handleError(_0xc21678,null));};exports[_0xd458('0x4e')]=function(_0x1c2046,_0x4fcca2){if(_0x1c2046[_0xd458('0x4d')]['id']){delete _0x1c2046[_0xd458('0x4d')]['id'];}return db[_0xd458('0x2f')][_0xd458('0x4f')]({'where':{'id':_0x1c2046[_0xd458('0x4b')]['id']}})['then'](handleEntityNotFound(_0x4fcca2,null))[_0xd458('0x27')](saveUpdates(_0x1c2046[_0xd458('0x4d')],null))[_0xd458('0x27')](respondWithResult(_0x4fcca2,null))[_0xd458('0x49')](handleError(_0x4fcca2,null));};exports[_0xd458('0x50')]=function(_0x2a4570,_0x1035ff){return db[_0xd458('0x2f')][_0xd458('0x4f')]({'where':{'id':_0x2a4570[_0xd458('0x4b')]['id']}})['then'](handleEntityNotFound(_0x1035ff,null))[_0xd458('0x27')](removeEntity(_0x1035ff,null))[_0xd458('0x49')](handleError(_0x1035ff,null));};exports[_0xd458('0x51')]=function(_0x182bdc,_0x8e27de){return db['WhatsappTransferReport']['describe']()['then'](respondWithResult(_0x8e27de,null))[_0xd458('0x49')](handleError(_0x8e27de,null));};