Built motion from commit d1eab355.|2.6.28
[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 _0x0db9=['fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','count','limit','Content-Range','json','reject','update','then','error','stack','name','send','index','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','OpenchannelQueueReport','findAll','rows','catch','show','params','rawAttributes','create','body','find','destroy','describe','eml-format','rimraf','zip-dir'];(function(_0x3ce2c4,_0x4544c1){var _0x4047c1=function(_0x3fece6){while(--_0x3fece6){_0x3ce2c4['push'](_0x3ce2c4['shift']());}};_0x4047c1(++_0x4544c1);}(_0x0db9,0x9b));var _0x90db=function(_0xd2f4ac,_0x5aa8e5){_0xd2f4ac=_0xd2f4ac-0x0;var _0x9757b2=_0x0db9[_0xd2f4ac];return _0x9757b2;};'use strict';var emlformat=require(_0x90db('0x0'));var rimraf=require(_0x90db('0x1'));var zipdir=require(_0x90db('0x2'));var jsonpatch=require(_0x90db('0x3'));var rp=require(_0x90db('0x4'));var moment=require('moment');var BPromise=require(_0x90db('0x5'));var Mustache=require(_0x90db('0x6'));var util=require(_0x90db('0x7'));var path=require(_0x90db('0x8'));var sox=require(_0x90db('0x9'));var csv=require(_0x90db('0xa'));var ejs=require(_0x90db('0xb'));var fs=require('fs');var fs_extra=require(_0x90db('0xc'));var _=require(_0x90db('0xd'));var squel=require(_0x90db('0xe'));var crypto=require(_0x90db('0xf'));var jsforce=require(_0x90db('0x10'));var deskjs=require(_0x90db('0x11'));var toCsv=require('to-csv');var querystring=require(_0x90db('0x12'));var Papa=require('papaparse');var Redis=require(_0x90db('0x13'));var authService=require(_0x90db('0x14'));var qs=require(_0x90db('0x15'));var as=require(_0x90db('0x16'));var hardwareService=require(_0x90db('0x17'));var logger=require('../../config/logger')('api');var utils=require(_0x90db('0x18'));var config=require(_0x90db('0x19'));var licenseUtil=require(_0x90db('0x1a'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b333f,_0x1ecadc){_0x1ecadc=_0x1ecadc||0xcc;return function(_0x36fcff){if(_0x36fcff){return _0x4b333f[_0x90db('0x1b')](_0x1ecadc);}return _0x4b333f[_0x90db('0x1c')](_0x1ecadc)[_0x90db('0x1d')]();};}function respondWithResult(_0x5895cf,_0x571707){_0x571707=_0x571707||0xc8;return function(_0xe0f204){if(_0xe0f204){return _0x5895cf[_0x90db('0x1c')](_0x571707)['json'](_0xe0f204);}};}function respondWithFilteredResult(_0x155c33,_0x4d4d34){return function(_0x2f5a37){if(_0x2f5a37){var _0x3a0d1a=typeof _0x4d4d34[_0x90db('0x1e')]===_0x90db('0x1f')&&typeof _0x4d4d34['limit']===_0x90db('0x1f');var _0x5521cc=_0x2f5a37[_0x90db('0x20')];var _0x223773=_0x3a0d1a?0x0:_0x4d4d34[_0x90db('0x1e')];var _0xde75e4=_0x3a0d1a?_0x2f5a37['count']:_0x4d4d34[_0x90db('0x1e')]+_0x4d4d34[_0x90db('0x21')];var _0x371b81;if(_0xde75e4>=_0x5521cc){_0xde75e4=_0x5521cc;_0x371b81=0xc8;}else{_0x371b81=0xce;}_0x155c33['status'](_0x371b81);return _0x155c33['set'](_0x90db('0x22'),_0x223773+'-'+_0xde75e4+'/'+_0x5521cc)[_0x90db('0x23')](_0x2f5a37);}return null;};}function patchUpdates(_0x252e27){return function(_0x417d7b){try{jsonpatch['apply'](_0x417d7b,_0x252e27,!![]);}catch(_0x5cce19){return BPromise[_0x90db('0x24')](_0x5cce19);}return _0x417d7b['save']();};}function saveUpdates(_0x2ff21c,_0x458272){return function(_0xa783f8){if(_0xa783f8){return _0xa783f8[_0x90db('0x25')](_0x2ff21c)[_0x90db('0x26')](function(_0xc216e4){return _0xc216e4;});}return null;};}function removeEntity(_0x5a83b3,_0x4ab481){return function(_0x2fdda3){if(_0x2fdda3){return _0x2fdda3['destroy']()[_0x90db('0x26')](function(){_0x5a83b3['status'](0xcc)[_0x90db('0x1d')]();});}};}function handleEntityNotFound(_0x527fb7,_0x13602b){return function(_0x8654aa){if(!_0x8654aa){_0x527fb7['sendStatus'](0x194);}return _0x8654aa;};}function handleError(_0x4f39e7,_0x25cf72){_0x25cf72=_0x25cf72||0x1f4;return function(_0x1047e4){logger[_0x90db('0x27')](_0x1047e4[_0x90db('0x28')]);if(_0x1047e4[_0x90db('0x29')]){delete _0x1047e4[_0x90db('0x29')];}_0x4f39e7['status'](_0x25cf72)[_0x90db('0x2a')](_0x1047e4);};}exports[_0x90db('0x2b')]=function(_0x3d95c9,_0x12bd20){var _0x2b5f2f={},_0x58d496={},_0x5dec44={'count':0x0,'rows':[]};var _0x29e9d9=_['map'](db['OpenchannelQueueReport']['rawAttributes'],function(_0x5b7157){return{'name':_0x5b7157[_0x90db('0x2c')],'type':_0x5b7157['type'][_0x90db('0x2d')]};});_0x58d496[_0x90db('0x2e')]=_[_0x90db('0x2f')](_0x29e9d9,_0x90db('0x29'));_0x58d496[_0x90db('0x30')]=_[_0x90db('0x31')](_0x3d95c9[_0x90db('0x30')]);_0x58d496[_0x90db('0x32')]=_[_0x90db('0x33')](_0x58d496[_0x90db('0x2e')],_0x58d496[_0x90db('0x30')]);_0x2b5f2f[_0x90db('0x34')]=_[_0x90db('0x33')](_0x58d496[_0x90db('0x2e')],qs[_0x90db('0x35')](_0x3d95c9[_0x90db('0x30')]['fields']));_0x2b5f2f['attributes']=_0x2b5f2f[_0x90db('0x34')][_0x90db('0x36')]?_0x2b5f2f[_0x90db('0x34')]:_0x58d496[_0x90db('0x2e')];if(!_0x3d95c9[_0x90db('0x30')][_0x90db('0x37')](_0x90db('0x38'))){_0x2b5f2f[_0x90db('0x21')]=qs[_0x90db('0x21')](_0x3d95c9['query'][_0x90db('0x21')]);_0x2b5f2f['offset']=qs[_0x90db('0x1e')](_0x3d95c9['query']['offset']);}_0x2b5f2f[_0x90db('0x39')]=qs[_0x90db('0x3a')](_0x3d95c9[_0x90db('0x30')][_0x90db('0x3a')]);_0x2b5f2f[_0x90db('0x3b')]=qs[_0x90db('0x32')](_[_0x90db('0x3c')](_0x3d95c9[_0x90db('0x30')],_0x58d496['filters']),_0x29e9d9);if(_0x3d95c9['query'][_0x90db('0x3d')]){_0x2b5f2f[_0x90db('0x3b')]=_[_0x90db('0x3e')](_0x2b5f2f[_0x90db('0x3b')],{'$or':_[_0x90db('0x2f')](_0x29e9d9,function(_0x2ee7dd){if(_0x2ee7dd['type']!==_0x90db('0x3f')){var _0x214c5c={};_0x214c5c[_0x2ee7dd['name']]={'$like':'%'+_0x3d95c9[_0x90db('0x30')]['filter']+'%'};return _0x214c5c;}})});}_0x2b5f2f=_[_0x90db('0x3e')]({},_0x2b5f2f,_0x3d95c9[_0x90db('0x40')]);var _0x19530d={'where':_0x2b5f2f[_0x90db('0x3b')]};return db['OpenchannelQueueReport'][_0x90db('0x20')](_0x19530d)[_0x90db('0x26')](function(_0x5bf817){_0x5dec44[_0x90db('0x20')]=_0x5bf817;if(_0x3d95c9[_0x90db('0x30')][_0x90db('0x41')]){_0x2b5f2f[_0x90db('0x42')]=[{'all':!![]}];}return db[_0x90db('0x43')][_0x90db('0x44')](_0x2b5f2f);})['then'](function(_0x255d4f){_0x5dec44[_0x90db('0x45')]=_0x255d4f;return _0x5dec44;})[_0x90db('0x26')](respondWithFilteredResult(_0x12bd20,_0x2b5f2f))[_0x90db('0x46')](handleError(_0x12bd20,null));};exports[_0x90db('0x47')]=function(_0xa0b0d3,_0xbce27b){var _0x41f01b={'raw':!![],'where':{'id':_0xa0b0d3[_0x90db('0x48')]['id']}},_0x3cc413={};_0x3cc413[_0x90db('0x2e')]=_[_0x90db('0x31')](db[_0x90db('0x43')][_0x90db('0x49')]);_0x3cc413['query']=_[_0x90db('0x31')](_0xa0b0d3[_0x90db('0x30')]);_0x3cc413[_0x90db('0x32')]=_[_0x90db('0x33')](_0x3cc413[_0x90db('0x2e')],_0x3cc413[_0x90db('0x30')]);_0x41f01b['attributes']=_[_0x90db('0x33')](_0x3cc413[_0x90db('0x2e')],qs['fields'](_0xa0b0d3[_0x90db('0x30')][_0x90db('0x35')]));_0x41f01b[_0x90db('0x34')]=_0x41f01b[_0x90db('0x34')]['length']?_0x41f01b[_0x90db('0x34')]:_0x3cc413['model'];if(_0xa0b0d3['query'][_0x90db('0x41')]){_0x41f01b[_0x90db('0x42')]=[{'all':!![]}];}_0x41f01b=_[_0x90db('0x3e')]({},_0x41f01b,_0xa0b0d3[_0x90db('0x40')]);return db['OpenchannelQueueReport']['find'](_0x41f01b)[_0x90db('0x26')](handleEntityNotFound(_0xbce27b,null))[_0x90db('0x26')](respondWithResult(_0xbce27b,null))[_0x90db('0x46')](handleError(_0xbce27b,null));};exports[_0x90db('0x4a')]=function(_0x3f964e,_0x16eb49){return db[_0x90db('0x43')][_0x90db('0x4a')](_0x3f964e[_0x90db('0x4b')],{})[_0x90db('0x26')](respondWithResult(_0x16eb49,0xc9))['catch'](handleError(_0x16eb49,null));};exports[_0x90db('0x25')]=function(_0xfe214f,_0x5223e6){if(_0xfe214f[_0x90db('0x4b')]['id']){delete _0xfe214f['body']['id'];}return db['OpenchannelQueueReport'][_0x90db('0x4c')]({'where':{'id':_0xfe214f[_0x90db('0x48')]['id']}})[_0x90db('0x26')](handleEntityNotFound(_0x5223e6,null))[_0x90db('0x26')](saveUpdates(_0xfe214f[_0x90db('0x4b')],null))[_0x90db('0x26')](respondWithResult(_0x5223e6,null))[_0x90db('0x46')](handleError(_0x5223e6,null));};exports[_0x90db('0x4d')]=function(_0x54ef73,_0x137262){return db['OpenchannelQueueReport'][_0x90db('0x4c')]({'where':{'id':_0x54ef73[_0x90db('0x48')]['id']}})['then'](handleEntityNotFound(_0x137262,null))[_0x90db('0x26')](removeEntity(_0x137262,null))['catch'](handleError(_0x137262,null));};exports[_0x90db('0x4e')]=function(_0x54c68f,_0x159469){return db[_0x90db('0x43')][_0x90db('0x4e')]()['then'](respondWithResult(_0x159469,null))[_0x90db('0x46')](handleError(_0x159469,null));};