Built motion from commit b5413ace.|2.6.9
[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 _0x9550=['merge','options','include','findAll','rows','catch','show','rawAttributes','includeAll','find','create','body','update','params','destroy','describe','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','then','error','name','index','map','WhatsappTransferReport','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','VIRTUAL'];(function(_0x18e52b,_0x1fae35){var _0x3d3062=function(_0x133b14){while(--_0x133b14){_0x18e52b['push'](_0x18e52b['shift']());}};_0x3d3062(++_0x1fae35);}(_0x9550,0x1cc));var _0x0955=function(_0x3ccb64,_0x585b6f){_0x3ccb64=_0x3ccb64-0x0;var _0x2cf1ac=_0x9550[_0x3ccb64];return _0x2cf1ac;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0955('0x0'));var zipdir=require(_0x0955('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0955('0x2'));var moment=require(_0x0955('0x3'));var BPromise=require(_0x0955('0x4'));var Mustache=require(_0x0955('0x5'));var util=require(_0x0955('0x6'));var path=require(_0x0955('0x7'));var sox=require(_0x0955('0x8'));var csv=require(_0x0955('0x9'));var ejs=require(_0x0955('0xa'));var fs=require('fs');var fs_extra=require(_0x0955('0xb'));var _=require('lodash');var squel=require(_0x0955('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0955('0xd'));var toCsv=require(_0x0955('0x9'));var querystring=require(_0x0955('0xe'));var Papa=require(_0x0955('0xf'));var Redis=require(_0x0955('0x10'));var authService=require(_0x0955('0x11'));var qs=require(_0x0955('0x12'));var as=require(_0x0955('0x13'));var hardwareService=require(_0x0955('0x14'));var logger=require(_0x0955('0x15'))('api');var utils=require(_0x0955('0x16'));var config=require(_0x0955('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xa8478e,_0x469eb5){_0x469eb5=_0x469eb5||0xcc;return function(_0x551766){if(_0x551766){return _0xa8478e[_0x0955('0x18')](_0x469eb5);}return _0xa8478e[_0x0955('0x19')](_0x469eb5)[_0x0955('0x1a')]();};}function respondWithResult(_0x2a025d,_0x44369a){_0x44369a=_0x44369a||0xc8;return function(_0x4f4842){if(_0x4f4842){return _0x2a025d[_0x0955('0x19')](_0x44369a)[_0x0955('0x1b')](_0x4f4842);}};}function respondWithFilteredResult(_0x477294,_0x201094){return function(_0x4691f8){if(_0x4691f8){var _0x46a883=typeof _0x201094[_0x0955('0x1c')]===_0x0955('0x1d')&&typeof _0x201094[_0x0955('0x1e')]===_0x0955('0x1d');var _0x27759b=_0x4691f8[_0x0955('0x1f')];var _0x5c8197=_0x46a883?0x0:_0x201094[_0x0955('0x1c')];var _0x1c9a6a=_0x46a883?_0x4691f8[_0x0955('0x1f')]:_0x201094[_0x0955('0x1c')]+_0x201094[_0x0955('0x1e')];var _0x209203;if(_0x1c9a6a>=_0x27759b){_0x1c9a6a=_0x27759b;_0x209203=0xc8;}else{_0x209203=0xce;}_0x477294[_0x0955('0x19')](_0x209203);return _0x477294[_0x0955('0x20')]('Content-Range',_0x5c8197+'-'+_0x1c9a6a+'/'+_0x27759b)['json'](_0x4691f8);}return null;};}function patchUpdates(_0x3814a9){return function(_0x6d70ee){try{jsonpatch[_0x0955('0x21')](_0x6d70ee,_0x3814a9,!![]);}catch(_0x4eff79){return BPromise[_0x0955('0x22')](_0x4eff79);}return _0x6d70ee['save']();};}function saveUpdates(_0x4f04fd,_0x50a1c3){return function(_0x43087a){if(_0x43087a){return _0x43087a['update'](_0x4f04fd)[_0x0955('0x23')](function(_0x496d84){return _0x496d84;});}return null;};}function removeEntity(_0x138a9c,_0x1354cd){return function(_0x33bb32){if(_0x33bb32){return _0x33bb32['destroy']()[_0x0955('0x23')](function(){_0x138a9c[_0x0955('0x19')](0xcc)[_0x0955('0x1a')]();});}};}function handleEntityNotFound(_0x29e5e8,_0x5402d3){return function(_0x336dfc){if(!_0x336dfc){_0x29e5e8[_0x0955('0x18')](0x194);}return _0x336dfc;};}function handleError(_0x48e98c,_0x20102e){_0x20102e=_0x20102e||0x1f4;return function(_0x346746){logger[_0x0955('0x24')](_0x346746['stack']);if(_0x346746['name']){delete _0x346746[_0x0955('0x25')];}_0x48e98c['status'](_0x20102e)['send'](_0x346746);};}exports[_0x0955('0x26')]=function(_0x497caa,_0x305da1){var _0x481a38={},_0x2d6fb3={},_0x29cb26={'count':0x0,'rows':[]};var _0x18b50e=_[_0x0955('0x27')](db[_0x0955('0x28')]['rawAttributes'],function(_0x2ac39f){return{'name':_0x2ac39f[_0x0955('0x29')],'type':_0x2ac39f[_0x0955('0x2a')][_0x0955('0x2b')]};});_0x2d6fb3[_0x0955('0x2c')]=_['map'](_0x18b50e,_0x0955('0x25'));_0x2d6fb3[_0x0955('0x2d')]=_[_0x0955('0x2e')](_0x497caa[_0x0955('0x2d')]);_0x2d6fb3['filters']=_[_0x0955('0x2f')](_0x2d6fb3[_0x0955('0x2c')],_0x2d6fb3[_0x0955('0x2d')]);_0x481a38[_0x0955('0x30')]=_[_0x0955('0x2f')](_0x2d6fb3['model'],qs[_0x0955('0x31')](_0x497caa['query'][_0x0955('0x31')]));_0x481a38['attributes']=_0x481a38['attributes'][_0x0955('0x32')]?_0x481a38[_0x0955('0x30')]:_0x2d6fb3[_0x0955('0x2c')];if(!_0x497caa[_0x0955('0x2d')][_0x0955('0x33')]('nolimit')){_0x481a38[_0x0955('0x1e')]=qs[_0x0955('0x1e')](_0x497caa['query'][_0x0955('0x1e')]);_0x481a38[_0x0955('0x1c')]=qs[_0x0955('0x1c')](_0x497caa[_0x0955('0x2d')][_0x0955('0x1c')]);}_0x481a38[_0x0955('0x34')]=qs[_0x0955('0x35')](_0x497caa[_0x0955('0x2d')][_0x0955('0x35')]);_0x481a38[_0x0955('0x36')]=qs[_0x0955('0x37')](_[_0x0955('0x38')](_0x497caa['query'],_0x2d6fb3['filters']),_0x18b50e);if(_0x497caa[_0x0955('0x2d')]['filter']){_0x481a38[_0x0955('0x36')]=_['merge'](_0x481a38[_0x0955('0x36')],{'$or':_[_0x0955('0x27')](_0x18b50e,function(_0x1b4ba3){if(_0x1b4ba3[_0x0955('0x2a')]!==_0x0955('0x39')){var _0x4a6f43={};_0x4a6f43[_0x1b4ba3[_0x0955('0x25')]]={'$like':'%'+_0x497caa[_0x0955('0x2d')]['filter']+'%'};return _0x4a6f43;}})});}_0x481a38=_[_0x0955('0x3a')]({},_0x481a38,_0x497caa[_0x0955('0x3b')]);var _0x6a0752={'where':_0x481a38[_0x0955('0x36')]};return db['WhatsappTransferReport'][_0x0955('0x1f')](_0x6a0752)[_0x0955('0x23')](function(_0x1b559f){_0x29cb26[_0x0955('0x1f')]=_0x1b559f;if(_0x497caa[_0x0955('0x2d')]['includeAll']){_0x481a38[_0x0955('0x3c')]=[{'all':!![]}];}return db['WhatsappTransferReport'][_0x0955('0x3d')](_0x481a38);})[_0x0955('0x23')](function(_0x78b290){_0x29cb26[_0x0955('0x3e')]=_0x78b290;return _0x29cb26;})[_0x0955('0x23')](respondWithFilteredResult(_0x305da1,_0x481a38))[_0x0955('0x3f')](handleError(_0x305da1,null));};exports[_0x0955('0x40')]=function(_0x5c801c,_0x4e9988){var _0x24d23a={'raw':!![],'where':{'id':_0x5c801c['params']['id']}},_0x2de1f2={};_0x2de1f2[_0x0955('0x2c')]=_[_0x0955('0x2e')](db[_0x0955('0x28')][_0x0955('0x41')]);_0x2de1f2['query']=_[_0x0955('0x2e')](_0x5c801c[_0x0955('0x2d')]);_0x2de1f2[_0x0955('0x37')]=_['intersection'](_0x2de1f2[_0x0955('0x2c')],_0x2de1f2[_0x0955('0x2d')]);_0x24d23a[_0x0955('0x30')]=_[_0x0955('0x2f')](_0x2de1f2[_0x0955('0x2c')],qs[_0x0955('0x31')](_0x5c801c['query'][_0x0955('0x31')]));_0x24d23a[_0x0955('0x30')]=_0x24d23a[_0x0955('0x30')]['length']?_0x24d23a[_0x0955('0x30')]:_0x2de1f2[_0x0955('0x2c')];if(_0x5c801c['query'][_0x0955('0x42')]){_0x24d23a['include']=[{'all':!![]}];}_0x24d23a=_[_0x0955('0x3a')]({},_0x24d23a,_0x5c801c[_0x0955('0x3b')]);return db[_0x0955('0x28')][_0x0955('0x43')](_0x24d23a)[_0x0955('0x23')](handleEntityNotFound(_0x4e9988,null))[_0x0955('0x23')](respondWithResult(_0x4e9988,null))[_0x0955('0x3f')](handleError(_0x4e9988,null));};exports['create']=function(_0x30c9c2,_0x5d44c1){return db[_0x0955('0x28')][_0x0955('0x44')](_0x30c9c2[_0x0955('0x45')],{})[_0x0955('0x23')](respondWithResult(_0x5d44c1,0xc9))[_0x0955('0x3f')](handleError(_0x5d44c1,null));};exports[_0x0955('0x46')]=function(_0x59a012,_0x22f7d9){if(_0x59a012[_0x0955('0x45')]['id']){delete _0x59a012[_0x0955('0x45')]['id'];}return db[_0x0955('0x28')][_0x0955('0x43')]({'where':{'id':_0x59a012[_0x0955('0x47')]['id']}})[_0x0955('0x23')](handleEntityNotFound(_0x22f7d9,null))['then'](saveUpdates(_0x59a012[_0x0955('0x45')],null))['then'](respondWithResult(_0x22f7d9,null))[_0x0955('0x3f')](handleError(_0x22f7d9,null));};exports[_0x0955('0x48')]=function(_0x5841d9,_0x3156ff){return db['WhatsappTransferReport'][_0x0955('0x43')]({'where':{'id':_0x5841d9[_0x0955('0x47')]['id']}})[_0x0955('0x23')](handleEntityNotFound(_0x3156ff,null))[_0x0955('0x23')](removeEntity(_0x3156ff,null))['catch'](handleError(_0x3156ff,null));};exports[_0x0955('0x49')]=function(_0x9ba82e,_0x1f40ff){return db[_0x0955('0x28')][_0x0955('0x49')]()[_0x0955('0x23')](respondWithResult(_0x1f40ff,null))[_0x0955('0x3f')](handleError(_0x1f40ff,null));};