57ab4d303c056c322251e0057215d8d724a83fe4
[motion2.git] / server / api / memberReport / memberReport.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 _0x235c=['../../config/logger','../../config/utils','../../config/environment','sendStatus','status','json','count','offset','limit','set','Content-Range','reject','save','update','destroy','then','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','MemberReport','findAll','rows','show','keys','find','catch','create','body','params','describe','html-pdf','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x424357,_0x9ebe3e){var _0x29c68e=function(_0x663b5d){while(--_0x663b5d){_0x424357['push'](_0x424357['shift']());}};_0x29c68e(++_0x9ebe3e);}(_0x235c,0xcd));var _0xc235=function(_0x358f75,_0x463166){_0x358f75=_0x358f75-0x0;var _0x5248fe=_0x235c[_0x358f75];return _0x5248fe;};'use strict';var pdf=require(_0xc235('0x0'));var emlformat=require(_0xc235('0x1'));var rimraf=require(_0xc235('0x2'));var zipdir=require(_0xc235('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc235('0x4'));var moment=require('moment');var BPromise=require(_0xc235('0x5'));var Mustache=require(_0xc235('0x6'));var util=require(_0xc235('0x7'));var path=require(_0xc235('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc235('0x9'));var fs=require('fs');var _=require(_0xc235('0xa'));var squel=require('squel');var crypto=require(_0xc235('0xb'));var jsforce=require(_0xc235('0xc'));var deskjs=require(_0xc235('0xd'));var toCsv=require('to-csv');var querystring=require(_0xc235('0xe'));var Papa=require(_0xc235('0xf'));var Redis=require(_0xc235('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xc235('0x11'));var as=require(_0xc235('0x12'));var hardwareService=require(_0xc235('0x13'));var logger=require(_0xc235('0x14'))('api');var utils=require(_0xc235('0x15'));var config=require(_0xc235('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x47caca,_0x25e5c2){_0x25e5c2=_0x25e5c2||0xcc;return function(_0x12d6cb){if(_0x12d6cb){return _0x47caca[_0xc235('0x17')](_0x25e5c2);}return _0x47caca[_0xc235('0x18')](_0x25e5c2)['end']();};}function respondWithResult(_0x15da2a,_0x4ce374){_0x4ce374=_0x4ce374||0xc8;return function(_0x24e401){if(_0x24e401){return _0x15da2a['status'](_0x4ce374)[_0xc235('0x19')](_0x24e401);}};}function respondWithFilteredResult(_0x4e515d,_0x23945b){return function(_0x1ea719){if(_0x1ea719){var _0x2fdb42=_0x1ea719[_0xc235('0x1a')],_0x252ca5=_0x23945b[_0xc235('0x1b')],_0x2e6b7d=_0x23945b[_0xc235('0x1b')]+_0x23945b[_0xc235('0x1c')],_0x2320c3;if(_0x2e6b7d>=_0x2fdb42){_0x2e6b7d=_0x2fdb42;_0x2320c3=0xc8;}else{_0x2320c3=0xce;}_0x4e515d[_0xc235('0x18')](_0x2320c3);return _0x4e515d[_0xc235('0x1d')](_0xc235('0x1e'),_0x252ca5+'-'+_0x2e6b7d+'/'+_0x2fdb42)[_0xc235('0x19')](_0x1ea719);}return null;};}function patchUpdates(_0x3be974){return function(_0x4807f9){try{jsonpatch['apply'](_0x4807f9,_0x3be974,!![]);}catch(_0x29ea73){return BPromise[_0xc235('0x1f')](_0x29ea73);}return _0x4807f9[_0xc235('0x20')]();};}function saveUpdates(_0x2eeb29,_0x523b7a){return function(_0x40ad7e){if(_0x40ad7e){return _0x40ad7e[_0xc235('0x21')](_0x2eeb29)['then'](function(_0x58999d){return _0x58999d;});}return null;};}function removeEntity(_0x1aab2b,_0x1aae3c){return function(_0x1adb2a){if(_0x1adb2a){return _0x1adb2a[_0xc235('0x22')]()[_0xc235('0x23')](function(){_0x1aab2b[_0xc235('0x18')](0xcc)[_0xc235('0x24')]();});}};}function handleEntityNotFound(_0x46fd1e,_0x3c0cd7){return function(_0x34a217){if(!_0x34a217){_0x46fd1e[_0xc235('0x17')](0x194);}return _0x34a217;};}function handleError(_0x1b2ce5,_0x545a99){_0x545a99=_0x545a99||0x1f4;return function(_0x36f55b){logger[_0xc235('0x25')](_0x36f55b[_0xc235('0x26')]);if(_0x36f55b[_0xc235('0x27')]){delete _0x36f55b[_0xc235('0x27')];}_0x1b2ce5[_0xc235('0x18')](_0x545a99)[_0xc235('0x28')](_0x36f55b);};}exports[_0xc235('0x29')]=function(_0x3eb637,_0x463f1a){var _0x2b1b89={},_0xe49173={},_0x2a998d={'count':0x0,'rows':[]};var _0x2814fb=_[_0xc235('0x2a')](db['MemberReport'][_0xc235('0x2b')],function(_0x415736){return{'name':_0x415736[_0xc235('0x2c')],'type':_0x415736[_0xc235('0x2d')]['key']};});_0xe49173[_0xc235('0x2e')]=_[_0xc235('0x2a')](_0x2814fb,_0xc235('0x27'));_0xe49173[_0xc235('0x2f')]=_['keys'](_0x3eb637[_0xc235('0x2f')]);_0xe49173[_0xc235('0x30')]=_[_0xc235('0x31')](_0xe49173[_0xc235('0x2e')],_0xe49173[_0xc235('0x2f')]);_0x2b1b89['attributes']=_[_0xc235('0x31')](_0xe49173['model'],qs[_0xc235('0x32')](_0x3eb637[_0xc235('0x2f')]['fields']));_0x2b1b89['attributes']=_0x2b1b89[_0xc235('0x33')][_0xc235('0x34')]?_0x2b1b89[_0xc235('0x33')]:_0xe49173[_0xc235('0x2e')];if(!_0x3eb637[_0xc235('0x2f')]['hasOwnProperty'](_0xc235('0x35'))){_0x2b1b89[_0xc235('0x1c')]=qs[_0xc235('0x1c')](_0x3eb637['query'][_0xc235('0x1c')]);_0x2b1b89['offset']=qs[_0xc235('0x1b')](_0x3eb637[_0xc235('0x2f')][_0xc235('0x1b')]);}_0x2b1b89[_0xc235('0x36')]=qs[_0xc235('0x37')](_0x3eb637['query'][_0xc235('0x37')]);_0x2b1b89[_0xc235('0x38')]=qs[_0xc235('0x30')](_[_0xc235('0x39')](_0x3eb637[_0xc235('0x2f')],_0xe49173[_0xc235('0x30')]),_0x2814fb);if(_0x3eb637[_0xc235('0x2f')][_0xc235('0x3a')]){_0x2b1b89['where']=_[_0xc235('0x3b')](_0x2b1b89[_0xc235('0x38')],{'$or':_[_0xc235('0x2a')](_0x2814fb,function(_0x424a72){if(_0x424a72['type']!==_0xc235('0x3c')){var _0x40a6a3={};_0x40a6a3[_0x424a72[_0xc235('0x27')]]={'$like':'%'+_0x3eb637[_0xc235('0x2f')]['filter']+'%'};return _0x40a6a3;}})});}_0x2b1b89=_[_0xc235('0x3b')]({},_0x2b1b89,_0x3eb637[_0xc235('0x3d')]);var _0x2135b2={'where':_0x2b1b89[_0xc235('0x38')]};return db['MemberReport'][_0xc235('0x1a')](_0x2135b2)[_0xc235('0x23')](function(_0xc8cde5){_0x2a998d[_0xc235('0x1a')]=_0xc8cde5;if(_0x3eb637['query'][_0xc235('0x3e')]){_0x2b1b89[_0xc235('0x3f')]=[{'all':!![]}];}return db[_0xc235('0x40')][_0xc235('0x41')](_0x2b1b89);})[_0xc235('0x23')](function(_0x5c037e){_0x2a998d[_0xc235('0x42')]=_0x5c037e;return _0x2a998d;})[_0xc235('0x23')](respondWithFilteredResult(_0x463f1a,_0x2b1b89))['catch'](handleError(_0x463f1a,null));};exports[_0xc235('0x43')]=function(_0x61a141,_0x499662){var _0x4ced79={'raw':!![],'where':{'id':_0x61a141['params']['id']}},_0x15a71a={};_0x15a71a[_0xc235('0x2e')]=_[_0xc235('0x44')](db[_0xc235('0x40')][_0xc235('0x2b')]);_0x15a71a['query']=_['keys'](_0x61a141[_0xc235('0x2f')]);_0x15a71a[_0xc235('0x30')]=_[_0xc235('0x31')](_0x15a71a[_0xc235('0x2e')],_0x15a71a['query']);_0x4ced79[_0xc235('0x33')]=_[_0xc235('0x31')](_0x15a71a['model'],qs[_0xc235('0x32')](_0x61a141[_0xc235('0x2f')][_0xc235('0x32')]));_0x4ced79['attributes']=_0x4ced79[_0xc235('0x33')][_0xc235('0x34')]?_0x4ced79[_0xc235('0x33')]:_0x15a71a['model'];if(_0x61a141[_0xc235('0x2f')][_0xc235('0x3e')]){_0x4ced79[_0xc235('0x3f')]=[{'all':!![]}];}_0x4ced79=_[_0xc235('0x3b')]({},_0x4ced79,_0x61a141['options']);return db['MemberReport'][_0xc235('0x45')](_0x4ced79)[_0xc235('0x23')](handleEntityNotFound(_0x499662,null))[_0xc235('0x23')](respondWithResult(_0x499662,null))[_0xc235('0x46')](handleError(_0x499662,null));};exports[_0xc235('0x47')]=function(_0x38e61d,_0x2f19ac){return db[_0xc235('0x40')][_0xc235('0x47')](_0x38e61d[_0xc235('0x48')],{})['then'](respondWithResult(_0x2f19ac,0xc9))[_0xc235('0x46')](handleError(_0x2f19ac,null));};exports['update']=function(_0x21afc4,_0x283eec){if(_0x21afc4['body']['id']){delete _0x21afc4[_0xc235('0x48')]['id'];}return db[_0xc235('0x40')][_0xc235('0x45')]({'where':{'id':_0x21afc4['params']['id']}})[_0xc235('0x23')](handleEntityNotFound(_0x283eec,null))['then'](saveUpdates(_0x21afc4[_0xc235('0x48')],null))[_0xc235('0x23')](respondWithResult(_0x283eec,null))['catch'](handleError(_0x283eec,null));};exports[_0xc235('0x22')]=function(_0x577577,_0xf356e1){return db[_0xc235('0x40')]['find']({'where':{'id':_0x577577[_0xc235('0x49')]['id']}})[_0xc235('0x23')](handleEntityNotFound(_0xf356e1,null))[_0xc235('0x23')](removeEntity(_0xf356e1,null))[_0xc235('0x46')](handleError(_0xf356e1,null));};exports[_0xc235('0x4a')]=function(_0x202fee,_0x46d605){return db[_0xc235('0x40')]['describe']()[_0xc235('0x23')](respondWithResult(_0x46d605,null))[_0xc235('0x46')](handleError(_0x46d605,null));};