972c85a85c440fee2c468051135e72602e07b485
[motion2.git] / server / api / smsQueueReport / smsQueueReport.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 _0xf59d=['moment','util','path','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','save','then','destroy','sendStatus','error','name','send','index','SmsQueueReport','fieldName','key','model','keys','filters','intersection','fields','query','attributes','hasOwnProperty','order','sort','pick','filter','where','merge','map','type','VIRTUAL','options','includeAll','rows','catch','show','params','rawAttributes','length','include','create','body','update','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise'];(function(_0x4ea1ba,_0x156707){var _0x175756=function(_0x1d34c0){while(--_0x1d34c0){_0x4ea1ba['push'](_0x4ea1ba['shift']());}};_0x175756(++_0x156707);}(_0xf59d,0x181));var _0xdf59=function(_0x1aab33,_0x327f92){_0x1aab33=_0x1aab33-0x0;var _0x4bf0df=_0xf59d[_0x1aab33];return _0x4bf0df;};'use strict';var emlformat=require(_0xdf59('0x0'));var rimraf=require(_0xdf59('0x1'));var zipdir=require(_0xdf59('0x2'));var jsonpatch=require(_0xdf59('0x3'));var rp=require(_0xdf59('0x4'));var moment=require(_0xdf59('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xdf59('0x6'));var path=require(_0xdf59('0x7'));var sox=require('sox');var csv=require(_0xdf59('0x8'));var ejs=require(_0xdf59('0x9'));var fs=require('fs');var fs_extra=require(_0xdf59('0xa'));var _=require(_0xdf59('0xb'));var squel=require(_0xdf59('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xdf59('0xd'));var toCsv=require(_0xdf59('0x8'));var querystring=require(_0xdf59('0xe'));var Papa=require(_0xdf59('0xf'));var Redis=require(_0xdf59('0x10'));var authService=require(_0xdf59('0x11'));var qs=require(_0xdf59('0x12'));var as=require(_0xdf59('0x13'));var hardwareService=require(_0xdf59('0x14'));var logger=require(_0xdf59('0x15'))('api');var utils=require(_0xdf59('0x16'));var config=require(_0xdf59('0x17'));var licenseUtil=require(_0xdf59('0x18'));var db=require(_0xdf59('0x19'))['db'];function respondWithStatusCode(_0x478b61,_0x454955){_0x454955=_0x454955||0xcc;return function(_0x561b21){if(_0x561b21){return _0x478b61['sendStatus'](_0x454955);}return _0x478b61[_0xdf59('0x1a')](_0x454955)[_0xdf59('0x1b')]();};}function respondWithResult(_0x46b1fc,_0x3e5d6f){_0x3e5d6f=_0x3e5d6f||0xc8;return function(_0x386850){if(_0x386850){return _0x46b1fc['status'](_0x3e5d6f)[_0xdf59('0x1c')](_0x386850);}};}function respondWithFilteredResult(_0x343be8,_0x5d0f5d){return function(_0x37a1ed){if(_0x37a1ed){var _0x65797b=typeof _0x5d0f5d[_0xdf59('0x1d')]==='undefined'&&typeof _0x5d0f5d[_0xdf59('0x1e')]===_0xdf59('0x1f');var _0x1b8dd0=_0x37a1ed['count'];var _0x5f0f64=_0x65797b?0x0:_0x5d0f5d['offset'];var _0x481fb1=_0x65797b?_0x37a1ed[_0xdf59('0x20')]:_0x5d0f5d[_0xdf59('0x1d')]+_0x5d0f5d['limit'];var _0x4395f6;if(_0x481fb1>=_0x1b8dd0){_0x481fb1=_0x1b8dd0;_0x4395f6=0xc8;}else{_0x4395f6=0xce;}_0x343be8[_0xdf59('0x1a')](_0x4395f6);return _0x343be8[_0xdf59('0x21')](_0xdf59('0x22'),_0x5f0f64+'-'+_0x481fb1+'/'+_0x1b8dd0)['json'](_0x37a1ed);}return null;};}function patchUpdates(_0x3c126e){return function(_0x6d9ec2){try{jsonpatch[_0xdf59('0x23')](_0x6d9ec2,_0x3c126e,!![]);}catch(_0x2351cc){return BPromise['reject'](_0x2351cc);}return _0x6d9ec2[_0xdf59('0x24')]();};}function saveUpdates(_0x14a57c,_0xaca528){return function(_0x49280a){if(_0x49280a){return _0x49280a['update'](_0x14a57c)[_0xdf59('0x25')](function(_0xb6d3af){return _0xb6d3af;});}return null;};}function removeEntity(_0x40df61,_0x435ee3){return function(_0x4116b4){if(_0x4116b4){return _0x4116b4[_0xdf59('0x26')]()[_0xdf59('0x25')](function(){_0x40df61[_0xdf59('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x16ea80,_0x3dd2ac){return function(_0x13d327){if(!_0x13d327){_0x16ea80[_0xdf59('0x27')](0x194);}return _0x13d327;};}function handleError(_0x575e67,_0x2038f3){_0x2038f3=_0x2038f3||0x1f4;return function(_0x56bf8d){logger[_0xdf59('0x28')](_0x56bf8d['stack']);if(_0x56bf8d[_0xdf59('0x29')]){delete _0x56bf8d[_0xdf59('0x29')];}_0x575e67[_0xdf59('0x1a')](_0x2038f3)[_0xdf59('0x2a')](_0x56bf8d);};}exports[_0xdf59('0x2b')]=function(_0x2ec83b,_0x28d735){var _0x6506={},_0x1476d5={},_0x161ea5={'count':0x0,'rows':[]};var _0x57d0fa=_['map'](db[_0xdf59('0x2c')]['rawAttributes'],function(_0x223297){return{'name':_0x223297[_0xdf59('0x2d')],'type':_0x223297['type'][_0xdf59('0x2e')]};});_0x1476d5[_0xdf59('0x2f')]=_['map'](_0x57d0fa,'name');_0x1476d5['query']=_[_0xdf59('0x30')](_0x2ec83b['query']);_0x1476d5[_0xdf59('0x31')]=_['intersection'](_0x1476d5[_0xdf59('0x2f')],_0x1476d5['query']);_0x6506['attributes']=_[_0xdf59('0x32')](_0x1476d5[_0xdf59('0x2f')],qs[_0xdf59('0x33')](_0x2ec83b[_0xdf59('0x34')]['fields']));_0x6506['attributes']=_0x6506[_0xdf59('0x35')]['length']?_0x6506[_0xdf59('0x35')]:_0x1476d5[_0xdf59('0x2f')];if(!_0x2ec83b[_0xdf59('0x34')][_0xdf59('0x36')]('nolimit')){_0x6506[_0xdf59('0x1e')]=qs[_0xdf59('0x1e')](_0x2ec83b[_0xdf59('0x34')]['limit']);_0x6506[_0xdf59('0x1d')]=qs[_0xdf59('0x1d')](_0x2ec83b['query']['offset']);}_0x6506[_0xdf59('0x37')]=qs[_0xdf59('0x38')](_0x2ec83b[_0xdf59('0x34')][_0xdf59('0x38')]);_0x6506['where']=qs[_0xdf59('0x31')](_[_0xdf59('0x39')](_0x2ec83b['query'],_0x1476d5['filters']),_0x57d0fa);if(_0x2ec83b['query'][_0xdf59('0x3a')]){_0x6506[_0xdf59('0x3b')]=_[_0xdf59('0x3c')](_0x6506['where'],{'$or':_[_0xdf59('0x3d')](_0x57d0fa,function(_0x2e761c){if(_0x2e761c[_0xdf59('0x3e')]!==_0xdf59('0x3f')){var _0x2a1755={};_0x2a1755[_0x2e761c[_0xdf59('0x29')]]={'$like':'%'+_0x2ec83b['query']['filter']+'%'};return _0x2a1755;}})});}_0x6506=_[_0xdf59('0x3c')]({},_0x6506,_0x2ec83b[_0xdf59('0x40')]);var _0x5ab1d8={'where':_0x6506[_0xdf59('0x3b')]};return db['SmsQueueReport']['count'](_0x5ab1d8)[_0xdf59('0x25')](function(_0x31bf98){_0x161ea5[_0xdf59('0x20')]=_0x31bf98;if(_0x2ec83b[_0xdf59('0x34')][_0xdf59('0x41')]){_0x6506['include']=[{'all':!![]}];}return db['SmsQueueReport']['findAll'](_0x6506);})['then'](function(_0x635daf){_0x161ea5[_0xdf59('0x42')]=_0x635daf;return _0x161ea5;})[_0xdf59('0x25')](respondWithFilteredResult(_0x28d735,_0x6506))[_0xdf59('0x43')](handleError(_0x28d735,null));};exports[_0xdf59('0x44')]=function(_0x47f7c1,_0x29c137){var _0x3cb349={'raw':!![],'where':{'id':_0x47f7c1[_0xdf59('0x45')]['id']}},_0x2574d8={};_0x2574d8[_0xdf59('0x2f')]=_['keys'](db[_0xdf59('0x2c')][_0xdf59('0x46')]);_0x2574d8[_0xdf59('0x34')]=_['keys'](_0x47f7c1[_0xdf59('0x34')]);_0x2574d8['filters']=_['intersection'](_0x2574d8[_0xdf59('0x2f')],_0x2574d8[_0xdf59('0x34')]);_0x3cb349['attributes']=_[_0xdf59('0x32')](_0x2574d8[_0xdf59('0x2f')],qs[_0xdf59('0x33')](_0x47f7c1[_0xdf59('0x34')][_0xdf59('0x33')]));_0x3cb349['attributes']=_0x3cb349[_0xdf59('0x35')][_0xdf59('0x47')]?_0x3cb349[_0xdf59('0x35')]:_0x2574d8[_0xdf59('0x2f')];if(_0x47f7c1[_0xdf59('0x34')][_0xdf59('0x41')]){_0x3cb349[_0xdf59('0x48')]=[{'all':!![]}];}_0x3cb349=_[_0xdf59('0x3c')]({},_0x3cb349,_0x47f7c1['options']);return db[_0xdf59('0x2c')]['find'](_0x3cb349)[_0xdf59('0x25')](handleEntityNotFound(_0x29c137,null))['then'](respondWithResult(_0x29c137,null))[_0xdf59('0x43')](handleError(_0x29c137,null));};exports[_0xdf59('0x49')]=function(_0x3f8dc5,_0x3ecb58){return db[_0xdf59('0x2c')][_0xdf59('0x49')](_0x3f8dc5[_0xdf59('0x4a')],{})['then'](respondWithResult(_0x3ecb58,0xc9))['catch'](handleError(_0x3ecb58,null));};exports[_0xdf59('0x4b')]=function(_0x1fedc1,_0x2b0e0c){if(_0x1fedc1[_0xdf59('0x4a')]['id']){delete _0x1fedc1[_0xdf59('0x4a')]['id'];}return db[_0xdf59('0x2c')][_0xdf59('0x4c')]({'where':{'id':_0x1fedc1[_0xdf59('0x45')]['id']}})[_0xdf59('0x25')](handleEntityNotFound(_0x2b0e0c,null))[_0xdf59('0x25')](saveUpdates(_0x1fedc1[_0xdf59('0x4a')],null))[_0xdf59('0x25')](respondWithResult(_0x2b0e0c,null))['catch'](handleError(_0x2b0e0c,null));};exports[_0xdf59('0x26')]=function(_0x43202f,_0x1562c0){return db[_0xdf59('0x2c')][_0xdf59('0x4c')]({'where':{'id':_0x43202f[_0xdf59('0x45')]['id']}})[_0xdf59('0x25')](handleEntityNotFound(_0x1562c0,null))[_0xdf59('0x25')](removeEntity(_0x1562c0,null))[_0xdf59('0x43')](handleError(_0x1562c0,null));};exports[_0xdf59('0x4d')]=function(_0x571758,_0x5e4df5){return db[_0xdf59('0x2c')][_0xdf59('0x4d')]()[_0xdf59('0x25')](respondWithResult(_0x5e4df5,null))[_0xdf59('0x43')](handleError(_0x5e4df5,null));};