3d4fd2c12c36a8ba99007237236f893164d41b17
[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 _0x86b4=['crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','map','OpenchannelQueueReport','rawAttributes','fieldName','key','model','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','keys','include','find','create','body','update','params','describe','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash'];(function(_0x328b9b,_0x13082a){var _0x3a2d51=function(_0x63002b){while(--_0x63002b){_0x328b9b['push'](_0x328b9b['shift']());}};_0x3a2d51(++_0x13082a);}(_0x86b4,0x179));var _0x486b=function(_0x2dc8ea,_0x5794ab){_0x2dc8ea=_0x2dc8ea-0x0;var _0x9f6a3a=_0x86b4[_0x2dc8ea];return _0x9f6a3a;};'use strict';var emlformat=require(_0x486b('0x0'));var rimraf=require(_0x486b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x486b('0x2'));var rp=require(_0x486b('0x3'));var moment=require(_0x486b('0x4'));var BPromise=require(_0x486b('0x5'));var Mustache=require(_0x486b('0x6'));var util=require(_0x486b('0x7'));var path=require(_0x486b('0x8'));var sox=require('sox');var csv=require(_0x486b('0x9'));var ejs=require(_0x486b('0xa'));var fs=require('fs');var fs_extra=require(_0x486b('0xb'));var _=require(_0x486b('0xc'));var squel=require('squel');var crypto=require(_0x486b('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x486b('0x9'));var querystring=require('querystring');var Papa=require(_0x486b('0xe'));var Redis=require(_0x486b('0xf'));var authService=require(_0x486b('0x10'));var qs=require(_0x486b('0x11'));var as=require(_0x486b('0x12'));var hardwareService=require(_0x486b('0x13'));var logger=require(_0x486b('0x14'))('api');var utils=require(_0x486b('0x15'));var config=require(_0x486b('0x16'));var licenseUtil=require(_0x486b('0x17'));var db=require(_0x486b('0x18'))['db'];function respondWithStatusCode(_0xefa84a,_0x16eca5){_0x16eca5=_0x16eca5||0xcc;return function(_0x42dcbc){if(_0x42dcbc){return _0xefa84a[_0x486b('0x19')](_0x16eca5);}return _0xefa84a[_0x486b('0x1a')](_0x16eca5)[_0x486b('0x1b')]();};}function respondWithResult(_0x522813,_0x4a841e){_0x4a841e=_0x4a841e||0xc8;return function(_0x4d0f01){if(_0x4d0f01){return _0x522813[_0x486b('0x1a')](_0x4a841e)[_0x486b('0x1c')](_0x4d0f01);}};}function respondWithFilteredResult(_0x3e646c,_0x5dc019){return function(_0x1ab26e){if(_0x1ab26e){var _0x4e6302=typeof _0x5dc019['offset']===_0x486b('0x1d')&&typeof _0x5dc019['limit']===_0x486b('0x1d');var _0x2a9c94=_0x1ab26e[_0x486b('0x1e')];var _0x167867=_0x4e6302?0x0:_0x5dc019[_0x486b('0x1f')];var _0x4403ac=_0x4e6302?_0x1ab26e[_0x486b('0x1e')]:_0x5dc019[_0x486b('0x1f')]+_0x5dc019[_0x486b('0x20')];var _0x386107;if(_0x4403ac>=_0x2a9c94){_0x4403ac=_0x2a9c94;_0x386107=0xc8;}else{_0x386107=0xce;}_0x3e646c[_0x486b('0x1a')](_0x386107);return _0x3e646c[_0x486b('0x21')](_0x486b('0x22'),_0x167867+'-'+_0x4403ac+'/'+_0x2a9c94)[_0x486b('0x1c')](_0x1ab26e);}return null;};}function patchUpdates(_0x363074){return function(_0x5b6099){try{jsonpatch[_0x486b('0x23')](_0x5b6099,_0x363074,!![]);}catch(_0x3f0f4d){return BPromise[_0x486b('0x24')](_0x3f0f4d);}return _0x5b6099[_0x486b('0x25')]();};}function saveUpdates(_0x36c3fd,_0x2d2853){return function(_0x7495cb){if(_0x7495cb){return _0x7495cb['update'](_0x36c3fd)[_0x486b('0x26')](function(_0x3dadc8){return _0x3dadc8;});}return null;};}function removeEntity(_0x46e981,_0x13f33c){return function(_0x2bdd6c){if(_0x2bdd6c){return _0x2bdd6c[_0x486b('0x27')]()['then'](function(){_0x46e981[_0x486b('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x491363,_0x46cd96){return function(_0x1d928b){if(!_0x1d928b){_0x491363[_0x486b('0x19')](0x194);}return _0x1d928b;};}function handleError(_0x53a2dd,_0x42e872){_0x42e872=_0x42e872||0x1f4;return function(_0x3681cf){logger['error'](_0x3681cf[_0x486b('0x28')]);if(_0x3681cf[_0x486b('0x29')]){delete _0x3681cf[_0x486b('0x29')];}_0x53a2dd['status'](_0x42e872)[_0x486b('0x2a')](_0x3681cf);};}exports[_0x486b('0x2b')]=function(_0x41953c,_0x37ea5a){var _0xafe884={},_0x28631d={},_0x4f132e={'count':0x0,'rows':[]};var _0x5c10fa=_[_0x486b('0x2c')](db[_0x486b('0x2d')][_0x486b('0x2e')],function(_0x5551bc){return{'name':_0x5551bc[_0x486b('0x2f')],'type':_0x5551bc['type'][_0x486b('0x30')]};});_0x28631d[_0x486b('0x31')]=_['map'](_0x5c10fa,'name');_0x28631d[_0x486b('0x32')]=_['keys'](_0x41953c[_0x486b('0x32')]);_0x28631d[_0x486b('0x33')]=_[_0x486b('0x34')](_0x28631d[_0x486b('0x31')],_0x28631d[_0x486b('0x32')]);_0xafe884['attributes']=_[_0x486b('0x34')](_0x28631d[_0x486b('0x31')],qs[_0x486b('0x35')](_0x41953c[_0x486b('0x32')][_0x486b('0x35')]));_0xafe884['attributes']=_0xafe884[_0x486b('0x36')][_0x486b('0x37')]?_0xafe884[_0x486b('0x36')]:_0x28631d[_0x486b('0x31')];if(!_0x41953c[_0x486b('0x32')]['hasOwnProperty'](_0x486b('0x38'))){_0xafe884[_0x486b('0x20')]=qs[_0x486b('0x20')](_0x41953c[_0x486b('0x32')][_0x486b('0x20')]);_0xafe884[_0x486b('0x1f')]=qs[_0x486b('0x1f')](_0x41953c[_0x486b('0x32')]['offset']);}_0xafe884[_0x486b('0x39')]=qs[_0x486b('0x3a')](_0x41953c[_0x486b('0x32')][_0x486b('0x3a')]);_0xafe884[_0x486b('0x3b')]=qs[_0x486b('0x33')](_[_0x486b('0x3c')](_0x41953c[_0x486b('0x32')],_0x28631d[_0x486b('0x33')]),_0x5c10fa);if(_0x41953c[_0x486b('0x32')][_0x486b('0x3d')]){_0xafe884[_0x486b('0x3b')]=_[_0x486b('0x3e')](_0xafe884[_0x486b('0x3b')],{'$or':_[_0x486b('0x2c')](_0x5c10fa,function(_0x428612){if(_0x428612['type']!==_0x486b('0x3f')){var _0x43f7b1={};_0x43f7b1[_0x428612[_0x486b('0x29')]]={'$like':'%'+_0x41953c[_0x486b('0x32')]['filter']+'%'};return _0x43f7b1;}})});}_0xafe884=_['merge']({},_0xafe884,_0x41953c[_0x486b('0x40')]);var _0x11697e={'where':_0xafe884[_0x486b('0x3b')]};return db[_0x486b('0x2d')][_0x486b('0x1e')](_0x11697e)['then'](function(_0x531d9b){_0x4f132e[_0x486b('0x1e')]=_0x531d9b;if(_0x41953c['query'][_0x486b('0x41')]){_0xafe884['include']=[{'all':!![]}];}return db[_0x486b('0x2d')][_0x486b('0x42')](_0xafe884);})[_0x486b('0x26')](function(_0x47a8f1){_0x4f132e[_0x486b('0x43')]=_0x47a8f1;return _0x4f132e;})['then'](respondWithFilteredResult(_0x37ea5a,_0xafe884))[_0x486b('0x44')](handleError(_0x37ea5a,null));};exports[_0x486b('0x45')]=function(_0x4a1fa3,_0x478631){var _0x18c884={'raw':!![],'where':{'id':_0x4a1fa3['params']['id']}},_0x4b226a={};_0x4b226a[_0x486b('0x31')]=_[_0x486b('0x46')](db[_0x486b('0x2d')][_0x486b('0x2e')]);_0x4b226a['query']=_[_0x486b('0x46')](_0x4a1fa3[_0x486b('0x32')]);_0x4b226a[_0x486b('0x33')]=_[_0x486b('0x34')](_0x4b226a[_0x486b('0x31')],_0x4b226a['query']);_0x18c884[_0x486b('0x36')]=_[_0x486b('0x34')](_0x4b226a[_0x486b('0x31')],qs[_0x486b('0x35')](_0x4a1fa3['query'][_0x486b('0x35')]));_0x18c884['attributes']=_0x18c884['attributes'][_0x486b('0x37')]?_0x18c884['attributes']:_0x4b226a[_0x486b('0x31')];if(_0x4a1fa3['query'][_0x486b('0x41')]){_0x18c884[_0x486b('0x47')]=[{'all':!![]}];}_0x18c884=_[_0x486b('0x3e')]({},_0x18c884,_0x4a1fa3[_0x486b('0x40')]);return db[_0x486b('0x2d')][_0x486b('0x48')](_0x18c884)[_0x486b('0x26')](handleEntityNotFound(_0x478631,null))['then'](respondWithResult(_0x478631,null))[_0x486b('0x44')](handleError(_0x478631,null));};exports['create']=function(_0x1026ec,_0x45a970){return db[_0x486b('0x2d')][_0x486b('0x49')](_0x1026ec[_0x486b('0x4a')],{})[_0x486b('0x26')](respondWithResult(_0x45a970,0xc9))[_0x486b('0x44')](handleError(_0x45a970,null));};exports[_0x486b('0x4b')]=function(_0x1f4b1e,_0x2b2ad4){if(_0x1f4b1e[_0x486b('0x4a')]['id']){delete _0x1f4b1e[_0x486b('0x4a')]['id'];}return db[_0x486b('0x2d')][_0x486b('0x48')]({'where':{'id':_0x1f4b1e[_0x486b('0x4c')]['id']}})['then'](handleEntityNotFound(_0x2b2ad4,null))[_0x486b('0x26')](saveUpdates(_0x1f4b1e[_0x486b('0x4a')],null))[_0x486b('0x26')](respondWithResult(_0x2b2ad4,null))[_0x486b('0x44')](handleError(_0x2b2ad4,null));};exports['destroy']=function(_0x2049e8,_0x9343ac){return db['OpenchannelQueueReport'][_0x486b('0x48')]({'where':{'id':_0x2049e8[_0x486b('0x4c')]['id']}})[_0x486b('0x26')](handleEntityNotFound(_0x9343ac,null))[_0x486b('0x26')](removeEntity(_0x9343ac,null))[_0x486b('0x44')](handleError(_0x9343ac,null));};exports[_0x486b('0x4d')]=function(_0x3bf4f3,_0x45a49f){return db['OpenchannelQueueReport'][_0x486b('0x4d')]()[_0x486b('0x26')](respondWithResult(_0x45a49f,null))[_0x486b('0x44')](handleError(_0x45a49f,null));};