Built motion from commit 953226e6.|2.6.32
[motion2.git] / server / api / openchannelQueueReport / openchannelQueueReport.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 _0x8f9e=['lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','count','set','apply','reject','save','destroy','error','stack','name','send','index','map','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','sort','pick','filter','where','merge','VIRTUAL','options','OpenchannelQueueReport','then','includeAll','include','catch','show','params','rawAttributes','create','update','body','describe','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0x8f9e,0x93));var _0xe8f9=function(_0x46b164,_0x20e395){_0x46b164=_0x46b164-0x0;var _0x2f0c6a=_0x8f9e[_0x46b164];return _0x2f0c6a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe8f9('0x0'));var zipdir=require(_0xe8f9('0x1'));var jsonpatch=require(_0xe8f9('0x2'));var rp=require('request-promise');var moment=require(_0xe8f9('0x3'));var BPromise=require(_0xe8f9('0x4'));var Mustache=require(_0xe8f9('0x5'));var util=require(_0xe8f9('0x6'));var path=require(_0xe8f9('0x7'));var sox=require('sox');var csv=require(_0xe8f9('0x8'));var ejs=require(_0xe8f9('0x9'));var fs=require('fs');var fs_extra=require(_0xe8f9('0xa'));var _=require(_0xe8f9('0xb'));var squel=require(_0xe8f9('0xc'));var crypto=require(_0xe8f9('0xd'));var jsforce=require(_0xe8f9('0xe'));var deskjs=require(_0xe8f9('0xf'));var toCsv=require('to-csv');var querystring=require(_0xe8f9('0x10'));var Papa=require(_0xe8f9('0x11'));var Redis=require(_0xe8f9('0x12'));var authService=require(_0xe8f9('0x13'));var qs=require(_0xe8f9('0x14'));var as=require(_0xe8f9('0x15'));var hardwareService=require(_0xe8f9('0x16'));var logger=require(_0xe8f9('0x17'))(_0xe8f9('0x18'));var utils=require(_0xe8f9('0x19'));var config=require(_0xe8f9('0x1a'));var licenseUtil=require(_0xe8f9('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e17a0,_0xb191bb){_0xb191bb=_0xb191bb||0xcc;return function(_0x49c862){if(_0x49c862){return _0x1e17a0[_0xe8f9('0x1c')](_0xb191bb);}return _0x1e17a0[_0xe8f9('0x1d')](_0xb191bb)[_0xe8f9('0x1e')]();};}function respondWithResult(_0x26e447,_0x558f5f){_0x558f5f=_0x558f5f||0xc8;return function(_0x56a633){if(_0x56a633){return _0x26e447[_0xe8f9('0x1d')](_0x558f5f)[_0xe8f9('0x1f')](_0x56a633);}};}function respondWithFilteredResult(_0x2c0f31,_0x3d8f8e){return function(_0x34483a){if(_0x34483a){var _0x21afe2=typeof _0x3d8f8e[_0xe8f9('0x20')]==='undefined'&&typeof _0x3d8f8e['limit']===_0xe8f9('0x21');var _0x12c708=_0x34483a[_0xe8f9('0x22')];var _0x272a22=_0x21afe2?0x0:_0x3d8f8e[_0xe8f9('0x20')];var _0x5695de=_0x21afe2?_0x34483a[_0xe8f9('0x22')]:_0x3d8f8e[_0xe8f9('0x20')]+_0x3d8f8e['limit'];var _0x5c9cd9;if(_0x5695de>=_0x12c708){_0x5695de=_0x12c708;_0x5c9cd9=0xc8;}else{_0x5c9cd9=0xce;}_0x2c0f31[_0xe8f9('0x1d')](_0x5c9cd9);return _0x2c0f31[_0xe8f9('0x23')]('Content-Range',_0x272a22+'-'+_0x5695de+'/'+_0x12c708)[_0xe8f9('0x1f')](_0x34483a);}return null;};}function patchUpdates(_0x24bea6){return function(_0x755fbd){try{jsonpatch[_0xe8f9('0x24')](_0x755fbd,_0x24bea6,!![]);}catch(_0xe1d9ee){return BPromise[_0xe8f9('0x25')](_0xe1d9ee);}return _0x755fbd[_0xe8f9('0x26')]();};}function saveUpdates(_0x4a1b4d,_0x6c913c){return function(_0xb907c4){if(_0xb907c4){return _0xb907c4['update'](_0x4a1b4d)['then'](function(_0xd88c6f){return _0xd88c6f;});}return null;};}function removeEntity(_0x36c476,_0x5edd9e){return function(_0x240215){if(_0x240215){return _0x240215[_0xe8f9('0x27')]()['then'](function(){_0x36c476['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4bb5f5,_0x149335){return function(_0x48afae){if(!_0x48afae){_0x4bb5f5['sendStatus'](0x194);}return _0x48afae;};}function handleError(_0xd9cac,_0x39ae3b){_0x39ae3b=_0x39ae3b||0x1f4;return function(_0x23232f){logger[_0xe8f9('0x28')](_0x23232f[_0xe8f9('0x29')]);if(_0x23232f[_0xe8f9('0x2a')]){delete _0x23232f[_0xe8f9('0x2a')];}_0xd9cac[_0xe8f9('0x1d')](_0x39ae3b)[_0xe8f9('0x2b')](_0x23232f);};}exports[_0xe8f9('0x2c')]=function(_0x2f89ab,_0x3b7e08){var _0x395e94={},_0xb074e5={},_0x1aa066={'count':0x0,'rows':[]};var _0x4b9579=_[_0xe8f9('0x2d')](db['OpenchannelQueueReport']['rawAttributes'],function(_0x2e9e4d){return{'name':_0x2e9e4d[_0xe8f9('0x2e')],'type':_0x2e9e4d[_0xe8f9('0x2f')][_0xe8f9('0x30')]};});_0xb074e5[_0xe8f9('0x31')]=_['map'](_0x4b9579,_0xe8f9('0x2a'));_0xb074e5['query']=_[_0xe8f9('0x32')](_0x2f89ab[_0xe8f9('0x33')]);_0xb074e5[_0xe8f9('0x34')]=_['intersection'](_0xb074e5[_0xe8f9('0x31')],_0xb074e5[_0xe8f9('0x33')]);_0x395e94[_0xe8f9('0x35')]=_[_0xe8f9('0x36')](_0xb074e5['model'],qs[_0xe8f9('0x37')](_0x2f89ab[_0xe8f9('0x33')]['fields']));_0x395e94[_0xe8f9('0x35')]=_0x395e94['attributes'][_0xe8f9('0x38')]?_0x395e94['attributes']:_0xb074e5[_0xe8f9('0x31')];if(!_0x2f89ab[_0xe8f9('0x33')][_0xe8f9('0x39')](_0xe8f9('0x3a'))){_0x395e94[_0xe8f9('0x3b')]=qs[_0xe8f9('0x3b')](_0x2f89ab[_0xe8f9('0x33')][_0xe8f9('0x3b')]);_0x395e94[_0xe8f9('0x20')]=qs[_0xe8f9('0x20')](_0x2f89ab['query']['offset']);}_0x395e94['order']=qs['sort'](_0x2f89ab[_0xe8f9('0x33')][_0xe8f9('0x3c')]);_0x395e94['where']=qs['filters'](_[_0xe8f9('0x3d')](_0x2f89ab[_0xe8f9('0x33')],_0xb074e5[_0xe8f9('0x34')]),_0x4b9579);if(_0x2f89ab['query'][_0xe8f9('0x3e')]){_0x395e94[_0xe8f9('0x3f')]=_[_0xe8f9('0x40')](_0x395e94[_0xe8f9('0x3f')],{'$or':_['map'](_0x4b9579,function(_0x24d728){if(_0x24d728[_0xe8f9('0x2f')]!==_0xe8f9('0x41')){var _0x6422e2={};_0x6422e2[_0x24d728['name']]={'$like':'%'+_0x2f89ab[_0xe8f9('0x33')][_0xe8f9('0x3e')]+'%'};return _0x6422e2;}})});}_0x395e94=_['merge']({},_0x395e94,_0x2f89ab[_0xe8f9('0x42')]);var _0x58a452={'where':_0x395e94[_0xe8f9('0x3f')]};return db[_0xe8f9('0x43')][_0xe8f9('0x22')](_0x58a452)[_0xe8f9('0x44')](function(_0x3d8679){_0x1aa066[_0xe8f9('0x22')]=_0x3d8679;if(_0x2f89ab[_0xe8f9('0x33')][_0xe8f9('0x45')]){_0x395e94[_0xe8f9('0x46')]=[{'all':!![]}];}return db[_0xe8f9('0x43')]['findAll'](_0x395e94);})[_0xe8f9('0x44')](function(_0x26bd7f){_0x1aa066['rows']=_0x26bd7f;return _0x1aa066;})[_0xe8f9('0x44')](respondWithFilteredResult(_0x3b7e08,_0x395e94))[_0xe8f9('0x47')](handleError(_0x3b7e08,null));};exports[_0xe8f9('0x48')]=function(_0x5d8395,_0x282c55){var _0x28abd6={'raw':!![],'where':{'id':_0x5d8395[_0xe8f9('0x49')]['id']}},_0x10c929={};_0x10c929['model']=_[_0xe8f9('0x32')](db[_0xe8f9('0x43')][_0xe8f9('0x4a')]);_0x10c929[_0xe8f9('0x33')]=_['keys'](_0x5d8395[_0xe8f9('0x33')]);_0x10c929['filters']=_[_0xe8f9('0x36')](_0x10c929[_0xe8f9('0x31')],_0x10c929[_0xe8f9('0x33')]);_0x28abd6['attributes']=_['intersection'](_0x10c929[_0xe8f9('0x31')],qs[_0xe8f9('0x37')](_0x5d8395[_0xe8f9('0x33')][_0xe8f9('0x37')]));_0x28abd6[_0xe8f9('0x35')]=_0x28abd6[_0xe8f9('0x35')]['length']?_0x28abd6[_0xe8f9('0x35')]:_0x10c929[_0xe8f9('0x31')];if(_0x5d8395['query'][_0xe8f9('0x45')]){_0x28abd6['include']=[{'all':!![]}];}_0x28abd6=_[_0xe8f9('0x40')]({},_0x28abd6,_0x5d8395[_0xe8f9('0x42')]);return db['OpenchannelQueueReport']['find'](_0x28abd6)[_0xe8f9('0x44')](handleEntityNotFound(_0x282c55,null))['then'](respondWithResult(_0x282c55,null))[_0xe8f9('0x47')](handleError(_0x282c55,null));};exports['create']=function(_0x54a385,_0x2ca268){return db[_0xe8f9('0x43')][_0xe8f9('0x4b')](_0x54a385['body'],{})[_0xe8f9('0x44')](respondWithResult(_0x2ca268,0xc9))[_0xe8f9('0x47')](handleError(_0x2ca268,null));};exports[_0xe8f9('0x4c')]=function(_0x833293,_0x167ba7){if(_0x833293['body']['id']){delete _0x833293['body']['id'];}return db[_0xe8f9('0x43')]['find']({'where':{'id':_0x833293[_0xe8f9('0x49')]['id']}})[_0xe8f9('0x44')](handleEntityNotFound(_0x167ba7,null))['then'](saveUpdates(_0x833293[_0xe8f9('0x4d')],null))[_0xe8f9('0x44')](respondWithResult(_0x167ba7,null))[_0xe8f9('0x47')](handleError(_0x167ba7,null));};exports['destroy']=function(_0x5d1605,_0x787765){return db['OpenchannelQueueReport']['find']({'where':{'id':_0x5d1605[_0xe8f9('0x49')]['id']}})['then'](handleEntityNotFound(_0x787765,null))['then'](removeEntity(_0x787765,null))[_0xe8f9('0x47')](handleError(_0x787765,null));};exports[_0xe8f9('0x4e')]=function(_0x14a0c9,_0x389c90){return db[_0xe8f9('0x43')][_0xe8f9('0x4e')]()[_0xe8f9('0x44')](respondWithResult(_0x389c90,null))[_0xe8f9('0x47')](handleError(_0x389c90,null));};