3bc76120ddffeed1cb773cf97959d2b2f26c93e5
[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 _0x06a2=['hasOwnProperty','nolimit','order','sort','where','filter','merge','includeAll','include','findAll','catch','show','params','length','options','find','create','body','update','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','error','name','index','OpenchannelQueueReport','rawAttributes','fieldName','type','map','query','keys','filters','intersection','attributes','fields','model'];(function(_0x2714b8,_0x22ffd0){var _0x3e643c=function(_0x361bf1){while(--_0x361bf1){_0x2714b8['push'](_0x2714b8['shift']());}};_0x3e643c(++_0x22ffd0);}(_0x06a2,0x141));var _0x206a=function(_0x4b2a08,_0x373995){_0x4b2a08=_0x4b2a08-0x0;var _0x3deb17=_0x06a2[_0x4b2a08];return _0x3deb17;};'use strict';var emlformat=require(_0x206a('0x0'));var rimraf=require(_0x206a('0x1'));var zipdir=require(_0x206a('0x2'));var jsonpatch=require(_0x206a('0x3'));var rp=require(_0x206a('0x4'));var moment=require('moment');var BPromise=require(_0x206a('0x5'));var Mustache=require('mustache');var util=require(_0x206a('0x6'));var path=require(_0x206a('0x7'));var sox=require(_0x206a('0x8'));var csv=require(_0x206a('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x206a('0xa'));var _=require(_0x206a('0xb'));var squel=require(_0x206a('0xc'));var crypto=require('crypto');var jsforce=require(_0x206a('0xd'));var deskjs=require(_0x206a('0xe'));var toCsv=require(_0x206a('0x9'));var querystring=require(_0x206a('0xf'));var Papa=require(_0x206a('0x10'));var Redis=require(_0x206a('0x11'));var authService=require(_0x206a('0x12'));var qs=require(_0x206a('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x206a('0x14'));var logger=require(_0x206a('0x15'))(_0x206a('0x16'));var utils=require('../../config/utils');var config=require(_0x206a('0x17'));var licenseUtil=require(_0x206a('0x18'));var db=require(_0x206a('0x19'))['db'];function respondWithStatusCode(_0x2ec37a,_0x2a4714){_0x2a4714=_0x2a4714||0xcc;return function(_0xbfea80){if(_0xbfea80){return _0x2ec37a[_0x206a('0x1a')](_0x2a4714);}return _0x2ec37a[_0x206a('0x1b')](_0x2a4714)[_0x206a('0x1c')]();};}function respondWithResult(_0x63fe06,_0x45793c){_0x45793c=_0x45793c||0xc8;return function(_0x177dec){if(_0x177dec){return _0x63fe06[_0x206a('0x1b')](_0x45793c)[_0x206a('0x1d')](_0x177dec);}};}function respondWithFilteredResult(_0x4b29ba,_0x5759f7){return function(_0x2a484f){if(_0x2a484f){var _0x2ddb23=_0x2a484f[_0x206a('0x1e')],_0x5b9a7c=_0x5759f7['offset'],_0x2afee9=_0x5759f7[_0x206a('0x1f')]+_0x5759f7[_0x206a('0x20')],_0x40298a;if(_0x2afee9>=_0x2ddb23){_0x2afee9=_0x2ddb23;_0x40298a=0xc8;}else{_0x40298a=0xce;}_0x4b29ba[_0x206a('0x1b')](_0x40298a);return _0x4b29ba[_0x206a('0x21')](_0x206a('0x22'),_0x5b9a7c+'-'+_0x2afee9+'/'+_0x2ddb23)['json'](_0x2a484f);}return null;};}function patchUpdates(_0x102bd9){return function(_0x22b2c2){try{jsonpatch[_0x206a('0x23')](_0x22b2c2,_0x102bd9,!![]);}catch(_0x246bb1){return BPromise[_0x206a('0x24')](_0x246bb1);}return _0x22b2c2[_0x206a('0x25')]();};}function saveUpdates(_0x32a688,_0x418a7f){return function(_0x40fb32){if(_0x40fb32){return _0x40fb32['update'](_0x32a688)[_0x206a('0x26')](function(_0x583ac5){return _0x583ac5;});}return null;};}function removeEntity(_0x27d1fd,_0x20b818){return function(_0x2c5820){if(_0x2c5820){return _0x2c5820['destroy']()[_0x206a('0x26')](function(){_0x27d1fd[_0x206a('0x1b')](0xcc)[_0x206a('0x1c')]();});}};}function handleEntityNotFound(_0x2e113f,_0x20ceaa){return function(_0x54ded6){if(!_0x54ded6){_0x2e113f[_0x206a('0x1a')](0x194);}return _0x54ded6;};}function handleError(_0x1d61c9,_0xc07899){_0xc07899=_0xc07899||0x1f4;return function(_0x1e67fe){logger[_0x206a('0x27')](_0x1e67fe['stack']);if(_0x1e67fe['name']){delete _0x1e67fe[_0x206a('0x28')];}_0x1d61c9[_0x206a('0x1b')](_0xc07899)['send'](_0x1e67fe);};}exports[_0x206a('0x29')]=function(_0x5d310c,_0x1f0879){var _0x28e2a7={},_0x2b66c8={},_0x20f06c={'count':0x0,'rows':[]};var _0x3adbd5=_['map'](db[_0x206a('0x2a')][_0x206a('0x2b')],function(_0x5ab0f5){return{'name':_0x5ab0f5[_0x206a('0x2c')],'type':_0x5ab0f5[_0x206a('0x2d')]['key']};});_0x2b66c8['model']=_[_0x206a('0x2e')](_0x3adbd5,'name');_0x2b66c8[_0x206a('0x2f')]=_[_0x206a('0x30')](_0x5d310c['query']);_0x2b66c8[_0x206a('0x31')]=_[_0x206a('0x32')](_0x2b66c8['model'],_0x2b66c8[_0x206a('0x2f')]);_0x28e2a7[_0x206a('0x33')]=_['intersection'](_0x2b66c8['model'],qs[_0x206a('0x34')](_0x5d310c[_0x206a('0x2f')]['fields']));_0x28e2a7[_0x206a('0x33')]=_0x28e2a7[_0x206a('0x33')]['length']?_0x28e2a7['attributes']:_0x2b66c8[_0x206a('0x35')];if(!_0x5d310c[_0x206a('0x2f')][_0x206a('0x36')](_0x206a('0x37'))){_0x28e2a7[_0x206a('0x20')]=qs['limit'](_0x5d310c[_0x206a('0x2f')]['limit']);_0x28e2a7[_0x206a('0x1f')]=qs[_0x206a('0x1f')](_0x5d310c[_0x206a('0x2f')][_0x206a('0x1f')]);}_0x28e2a7[_0x206a('0x38')]=qs['sort'](_0x5d310c['query'][_0x206a('0x39')]);_0x28e2a7[_0x206a('0x3a')]=qs['filters'](_['pick'](_0x5d310c[_0x206a('0x2f')],_0x2b66c8[_0x206a('0x31')]),_0x3adbd5);if(_0x5d310c[_0x206a('0x2f')][_0x206a('0x3b')]){_0x28e2a7[_0x206a('0x3a')]=_['merge'](_0x28e2a7['where'],{'$or':_['map'](_0x3adbd5,function(_0x50ced8){if(_0x50ced8['type']!=='VIRTUAL'){var _0x2e2f59={};_0x2e2f59[_0x50ced8[_0x206a('0x28')]]={'$like':'%'+_0x5d310c[_0x206a('0x2f')][_0x206a('0x3b')]+'%'};return _0x2e2f59;}})});}_0x28e2a7=_[_0x206a('0x3c')]({},_0x28e2a7,_0x5d310c['options']);var _0x38f2e2={'where':_0x28e2a7[_0x206a('0x3a')]};return db[_0x206a('0x2a')][_0x206a('0x1e')](_0x38f2e2)[_0x206a('0x26')](function(_0x4ccb4d){_0x20f06c['count']=_0x4ccb4d;if(_0x5d310c[_0x206a('0x2f')][_0x206a('0x3d')]){_0x28e2a7[_0x206a('0x3e')]=[{'all':!![]}];}return db[_0x206a('0x2a')][_0x206a('0x3f')](_0x28e2a7);})[_0x206a('0x26')](function(_0x49d705){_0x20f06c['rows']=_0x49d705;return _0x20f06c;})['then'](respondWithFilteredResult(_0x1f0879,_0x28e2a7))[_0x206a('0x40')](handleError(_0x1f0879,null));};exports[_0x206a('0x41')]=function(_0x414a8b,_0x326ba0){var _0x557879={'raw':!![],'where':{'id':_0x414a8b[_0x206a('0x42')]['id']}},_0x10a60a={};_0x10a60a[_0x206a('0x35')]=_[_0x206a('0x30')](db[_0x206a('0x2a')][_0x206a('0x2b')]);_0x10a60a['query']=_['keys'](_0x414a8b['query']);_0x10a60a[_0x206a('0x31')]=_[_0x206a('0x32')](_0x10a60a['model'],_0x10a60a[_0x206a('0x2f')]);_0x557879[_0x206a('0x33')]=_['intersection'](_0x10a60a[_0x206a('0x35')],qs[_0x206a('0x34')](_0x414a8b[_0x206a('0x2f')][_0x206a('0x34')]));_0x557879[_0x206a('0x33')]=_0x557879[_0x206a('0x33')][_0x206a('0x43')]?_0x557879[_0x206a('0x33')]:_0x10a60a[_0x206a('0x35')];if(_0x414a8b[_0x206a('0x2f')]['includeAll']){_0x557879[_0x206a('0x3e')]=[{'all':!![]}];}_0x557879=_[_0x206a('0x3c')]({},_0x557879,_0x414a8b[_0x206a('0x44')]);return db[_0x206a('0x2a')][_0x206a('0x45')](_0x557879)[_0x206a('0x26')](handleEntityNotFound(_0x326ba0,null))['then'](respondWithResult(_0x326ba0,null))['catch'](handleError(_0x326ba0,null));};exports[_0x206a('0x46')]=function(_0xf08b78,_0x414c38){return db[_0x206a('0x2a')][_0x206a('0x46')](_0xf08b78[_0x206a('0x47')],{})[_0x206a('0x26')](respondWithResult(_0x414c38,0xc9))[_0x206a('0x40')](handleError(_0x414c38,null));};exports[_0x206a('0x48')]=function(_0x384ed4,_0x5a91b3){if(_0x384ed4[_0x206a('0x47')]['id']){delete _0x384ed4['body']['id'];}return db['OpenchannelQueueReport'][_0x206a('0x45')]({'where':{'id':_0x384ed4[_0x206a('0x42')]['id']}})[_0x206a('0x26')](handleEntityNotFound(_0x5a91b3,null))['then'](saveUpdates(_0x384ed4[_0x206a('0x47')],null))[_0x206a('0x26')](respondWithResult(_0x5a91b3,null))[_0x206a('0x40')](handleError(_0x5a91b3,null));};exports[_0x206a('0x49')]=function(_0x583da7,_0xe2bf3d){return db[_0x206a('0x2a')][_0x206a('0x45')]({'where':{'id':_0x583da7[_0x206a('0x42')]['id']}})[_0x206a('0x26')](handleEntityNotFound(_0xe2bf3d,null))[_0x206a('0x26')](removeEntity(_0xe2bf3d,null))['catch'](handleError(_0xe2bf3d,null));};exports[_0x206a('0x4a')]=function(_0x456f54,_0x382554){return db[_0x206a('0x2a')][_0x206a('0x4a')]()[_0x206a('0x26')](respondWithResult(_0x382554,null))[_0x206a('0x40')](handleError(_0x382554,null));};