d37c467884254b62a40bee797c9d0ff293ea5ca7
[motion2.git] / server / api / faxQueueReport / faxQueueReport.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 _0xbe99=['findAll','rows','catch','show','includeAll','find','create','body','params','destroy','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','lodash','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','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','stack','name','send','map','FaxQueueReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','limit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','include'];(function(_0x2330a7,_0x3f6db2){var _0x3e485f=function(_0xac2aa8){while(--_0xac2aa8){_0x2330a7['push'](_0x2330a7['shift']());}};_0x3e485f(++_0x3f6db2);}(_0xbe99,0x196));var _0x9be9=function(_0x46c6e1,_0x3e103d){_0x46c6e1=_0x46c6e1-0x0;var _0x23f5dd=_0xbe99[_0x46c6e1];return _0x23f5dd;};'use strict';var emlformat=require(_0x9be9('0x0'));var rimraf=require(_0x9be9('0x1'));var zipdir=require(_0x9be9('0x2'));var jsonpatch=require(_0x9be9('0x3'));var rp=require(_0x9be9('0x4'));var moment=require('moment');var BPromise=require(_0x9be9('0x5'));var Mustache=require('mustache');var util=require(_0x9be9('0x6'));var path=require(_0x9be9('0x7'));var sox=require(_0x9be9('0x8'));var csv=require(_0x9be9('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9be9('0xa'));var _=require(_0x9be9('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x9be9('0xc'));var deskjs=require(_0x9be9('0xd'));var toCsv=require(_0x9be9('0x9'));var querystring=require(_0x9be9('0xe'));var Papa=require(_0x9be9('0xf'));var Redis=require(_0x9be9('0x10'));var authService=require(_0x9be9('0x11'));var qs=require(_0x9be9('0x12'));var as=require(_0x9be9('0x13'));var hardwareService=require(_0x9be9('0x14'));var logger=require(_0x9be9('0x15'))(_0x9be9('0x16'));var utils=require(_0x9be9('0x17'));var config=require(_0x9be9('0x18'));var licenseUtil=require(_0x9be9('0x19'));var db=require(_0x9be9('0x1a'))['db'];function respondWithStatusCode(_0x33c2cd,_0x4b6d99){_0x4b6d99=_0x4b6d99||0xcc;return function(_0x1251e4){if(_0x1251e4){return _0x33c2cd[_0x9be9('0x1b')](_0x4b6d99);}return _0x33c2cd[_0x9be9('0x1c')](_0x4b6d99)[_0x9be9('0x1d')]();};}function respondWithResult(_0x2cc374,_0x50a7fb){_0x50a7fb=_0x50a7fb||0xc8;return function(_0x2798bd){if(_0x2798bd){return _0x2cc374[_0x9be9('0x1c')](_0x50a7fb)[_0x9be9('0x1e')](_0x2798bd);}};}function respondWithFilteredResult(_0x5a8a3d,_0x2d3e45){return function(_0x418c1e){if(_0x418c1e){var _0x3c92cc=typeof _0x2d3e45[_0x9be9('0x1f')]===_0x9be9('0x20')&&typeof _0x2d3e45['limit']===_0x9be9('0x20');var _0x1cbff7=_0x418c1e[_0x9be9('0x21')];var _0x5f2612=_0x3c92cc?0x0:_0x2d3e45['offset'];var _0x9a37a0=_0x3c92cc?_0x418c1e[_0x9be9('0x21')]:_0x2d3e45[_0x9be9('0x1f')]+_0x2d3e45['limit'];var _0x5aeca2;if(_0x9a37a0>=_0x1cbff7){_0x9a37a0=_0x1cbff7;_0x5aeca2=0xc8;}else{_0x5aeca2=0xce;}_0x5a8a3d[_0x9be9('0x1c')](_0x5aeca2);return _0x5a8a3d[_0x9be9('0x22')](_0x9be9('0x23'),_0x5f2612+'-'+_0x9a37a0+'/'+_0x1cbff7)[_0x9be9('0x1e')](_0x418c1e);}return null;};}function patchUpdates(_0x1b041b){return function(_0x3761c7){try{jsonpatch[_0x9be9('0x24')](_0x3761c7,_0x1b041b,!![]);}catch(_0x2c1f2f){return BPromise[_0x9be9('0x25')](_0x2c1f2f);}return _0x3761c7[_0x9be9('0x26')]();};}function saveUpdates(_0xd700ff,_0x100637){return function(_0x599429){if(_0x599429){return _0x599429[_0x9be9('0x27')](_0xd700ff)['then'](function(_0x2d543d){return _0x2d543d;});}return null;};}function removeEntity(_0xf87e6d,_0x451e60){return function(_0x3fe959){if(_0x3fe959){return _0x3fe959['destroy']()[_0x9be9('0x28')](function(){_0xf87e6d[_0x9be9('0x1c')](0xcc)[_0x9be9('0x1d')]();});}};}function handleEntityNotFound(_0x42a486,_0x60f1ad){return function(_0x13d557){if(!_0x13d557){_0x42a486[_0x9be9('0x1b')](0x194);}return _0x13d557;};}function handleError(_0x28688c,_0x292581){_0x292581=_0x292581||0x1f4;return function(_0x27be52){logger['error'](_0x27be52[_0x9be9('0x29')]);if(_0x27be52[_0x9be9('0x2a')]){delete _0x27be52[_0x9be9('0x2a')];}_0x28688c[_0x9be9('0x1c')](_0x292581)[_0x9be9('0x2b')](_0x27be52);};}exports['index']=function(_0x22c898,_0x45e200){var _0x49ed5d={},_0x199623={},_0x49e398={'count':0x0,'rows':[]};var _0x3bdcb7=_[_0x9be9('0x2c')](db[_0x9be9('0x2d')][_0x9be9('0x2e')],function(_0x5a527a){return{'name':_0x5a527a[_0x9be9('0x2f')],'type':_0x5a527a[_0x9be9('0x30')][_0x9be9('0x31')]};});_0x199623[_0x9be9('0x32')]=_[_0x9be9('0x2c')](_0x3bdcb7,_0x9be9('0x2a'));_0x199623[_0x9be9('0x33')]=_[_0x9be9('0x34')](_0x22c898['query']);_0x199623['filters']=_[_0x9be9('0x35')](_0x199623['model'],_0x199623[_0x9be9('0x33')]);_0x49ed5d[_0x9be9('0x36')]=_[_0x9be9('0x35')](_0x199623[_0x9be9('0x32')],qs['fields'](_0x22c898[_0x9be9('0x33')][_0x9be9('0x37')]));_0x49ed5d[_0x9be9('0x36')]=_0x49ed5d[_0x9be9('0x36')][_0x9be9('0x38')]?_0x49ed5d['attributes']:_0x199623[_0x9be9('0x32')];if(!_0x22c898['query']['hasOwnProperty']('nolimit')){_0x49ed5d['limit']=qs[_0x9be9('0x39')](_0x22c898[_0x9be9('0x33')]['limit']);_0x49ed5d[_0x9be9('0x1f')]=qs[_0x9be9('0x1f')](_0x22c898[_0x9be9('0x33')][_0x9be9('0x1f')]);}_0x49ed5d[_0x9be9('0x3a')]=qs['sort'](_0x22c898[_0x9be9('0x33')][_0x9be9('0x3b')]);_0x49ed5d[_0x9be9('0x3c')]=qs[_0x9be9('0x3d')](_[_0x9be9('0x3e')](_0x22c898[_0x9be9('0x33')],_0x199623[_0x9be9('0x3d')]),_0x3bdcb7);if(_0x22c898[_0x9be9('0x33')][_0x9be9('0x3f')]){_0x49ed5d[_0x9be9('0x3c')]=_[_0x9be9('0x40')](_0x49ed5d[_0x9be9('0x3c')],{'$or':_[_0x9be9('0x2c')](_0x3bdcb7,function(_0x3d117b){if(_0x3d117b[_0x9be9('0x30')]!==_0x9be9('0x41')){var _0x2d657d={};_0x2d657d[_0x3d117b[_0x9be9('0x2a')]]={'$like':'%'+_0x22c898[_0x9be9('0x33')][_0x9be9('0x3f')]+'%'};return _0x2d657d;}})});}_0x49ed5d=_[_0x9be9('0x40')]({},_0x49ed5d,_0x22c898[_0x9be9('0x42')]);var _0x24cc6c={'where':_0x49ed5d[_0x9be9('0x3c')]};return db['FaxQueueReport'][_0x9be9('0x21')](_0x24cc6c)[_0x9be9('0x28')](function(_0x885c95){_0x49e398[_0x9be9('0x21')]=_0x885c95;if(_0x22c898[_0x9be9('0x33')]['includeAll']){_0x49ed5d[_0x9be9('0x43')]=[{'all':!![]}];}return db[_0x9be9('0x2d')][_0x9be9('0x44')](_0x49ed5d);})[_0x9be9('0x28')](function(_0x1f7775){_0x49e398[_0x9be9('0x45')]=_0x1f7775;return _0x49e398;})[_0x9be9('0x28')](respondWithFilteredResult(_0x45e200,_0x49ed5d))[_0x9be9('0x46')](handleError(_0x45e200,null));};exports[_0x9be9('0x47')]=function(_0x486fd9,_0x585809){var _0x3ca323={'raw':!![],'where':{'id':_0x486fd9['params']['id']}},_0x56bf39={};_0x56bf39[_0x9be9('0x32')]=_[_0x9be9('0x34')](db[_0x9be9('0x2d')]['rawAttributes']);_0x56bf39['query']=_[_0x9be9('0x34')](_0x486fd9['query']);_0x56bf39[_0x9be9('0x3d')]=_[_0x9be9('0x35')](_0x56bf39['model'],_0x56bf39[_0x9be9('0x33')]);_0x3ca323[_0x9be9('0x36')]=_[_0x9be9('0x35')](_0x56bf39[_0x9be9('0x32')],qs[_0x9be9('0x37')](_0x486fd9['query'][_0x9be9('0x37')]));_0x3ca323[_0x9be9('0x36')]=_0x3ca323[_0x9be9('0x36')]['length']?_0x3ca323[_0x9be9('0x36')]:_0x56bf39['model'];if(_0x486fd9[_0x9be9('0x33')][_0x9be9('0x48')]){_0x3ca323[_0x9be9('0x43')]=[{'all':!![]}];}_0x3ca323=_[_0x9be9('0x40')]({},_0x3ca323,_0x486fd9['options']);return db['FaxQueueReport'][_0x9be9('0x49')](_0x3ca323)[_0x9be9('0x28')](handleEntityNotFound(_0x585809,null))['then'](respondWithResult(_0x585809,null))[_0x9be9('0x46')](handleError(_0x585809,null));};exports[_0x9be9('0x4a')]=function(_0x2b1a9a,_0x7d0656){return db[_0x9be9('0x2d')][_0x9be9('0x4a')](_0x2b1a9a[_0x9be9('0x4b')],{})[_0x9be9('0x28')](respondWithResult(_0x7d0656,0xc9))[_0x9be9('0x46')](handleError(_0x7d0656,null));};exports[_0x9be9('0x27')]=function(_0x1385ac,_0x31faa8){if(_0x1385ac['body']['id']){delete _0x1385ac[_0x9be9('0x4b')]['id'];}return db[_0x9be9('0x2d')][_0x9be9('0x49')]({'where':{'id':_0x1385ac[_0x9be9('0x4c')]['id']}})['then'](handleEntityNotFound(_0x31faa8,null))['then'](saveUpdates(_0x1385ac[_0x9be9('0x4b')],null))[_0x9be9('0x28')](respondWithResult(_0x31faa8,null))[_0x9be9('0x46')](handleError(_0x31faa8,null));};exports[_0x9be9('0x4d')]=function(_0x18450a,_0x5840fc){return db[_0x9be9('0x2d')][_0x9be9('0x49')]({'where':{'id':_0x18450a['params']['id']}})[_0x9be9('0x28')](handleEntityNotFound(_0x5840fc,null))[_0x9be9('0x28')](removeEntity(_0x5840fc,null))['catch'](handleError(_0x5840fc,null));};exports[_0x9be9('0x4e')]=function(_0x3ab27b,_0x1ccb41){return db[_0x9be9('0x2d')]['describe']()[_0x9be9('0x28')](respondWithResult(_0x1ccb41,null))[_0x9be9('0x46')](handleError(_0x1ccb41,null));};