d908483b0097258af037d3e30392edad7e5651fa
[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 _0xdce0=['MemberReport','catch','show','keys','create','body','find','params','describe','html-pdf','eml-format','rimraf','zip-dir','request-promise','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','set','apply','save','update','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','merge','VIRTUAL','filter','includeAll','include'];(function(_0x8bb4c1,_0x2d6e53){var _0x67a6e1=function(_0x1155e5){while(--_0x1155e5){_0x8bb4c1['push'](_0x8bb4c1['shift']());}};_0x67a6e1(++_0x2d6e53);}(_0xdce0,0x1e5));var _0x0dce=function(_0x317167,_0xe66b42){_0x317167=_0x317167-0x0;var _0xac3f2=_0xdce0[_0x317167];return _0xac3f2;};'use strict';var pdf=require(_0x0dce('0x0'));var emlformat=require(_0x0dce('0x1'));var rimraf=require(_0x0dce('0x2'));var zipdir=require(_0x0dce('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0dce('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0x0dce('0x5'));var sox=require(_0x0dce('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x0dce('0x7'));var squel=require(_0x0dce('0x8'));var crypto=require(_0x0dce('0x9'));var jsforce=require(_0x0dce('0xa'));var deskjs=require(_0x0dce('0xb'));var toCsv=require(_0x0dce('0xc'));var querystring=require('querystring');var Papa=require(_0x0dce('0xd'));var Redis=require('ioredis');var authService=require(_0x0dce('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x0dce('0xf'));var hardwareService=require(_0x0dce('0x10'));var logger=require(_0x0dce('0x11'))(_0x0dce('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0dce('0x13'));var db=require(_0x0dce('0x14'))['db'];function respondWithStatusCode(_0x3c7888,_0x212bd2){_0x212bd2=_0x212bd2||0xcc;return function(_0x1ba075){if(_0x1ba075){return _0x3c7888[_0x0dce('0x15')](_0x212bd2);}return _0x3c7888[_0x0dce('0x16')](_0x212bd2)[_0x0dce('0x17')]();};}function respondWithResult(_0x1ea822,_0x1d5e8f){_0x1d5e8f=_0x1d5e8f||0xc8;return function(_0x2e0e75){if(_0x2e0e75){return _0x1ea822['status'](_0x1d5e8f)[_0x0dce('0x18')](_0x2e0e75);}};}function respondWithFilteredResult(_0x25677a,_0x480894){return function(_0x4b3777){if(_0x4b3777){var _0x4da93c=_0x4b3777[_0x0dce('0x19')],_0x18e092=_0x480894[_0x0dce('0x1a')],_0x6c6aa6=_0x480894['offset']+_0x480894['limit'],_0x503dfc;if(_0x6c6aa6>=_0x4da93c){_0x6c6aa6=_0x4da93c;_0x503dfc=0xc8;}else{_0x503dfc=0xce;}_0x25677a[_0x0dce('0x16')](_0x503dfc);return _0x25677a[_0x0dce('0x1b')]('Content-Range',_0x18e092+'-'+_0x6c6aa6+'/'+_0x4da93c)['json'](_0x4b3777);}return null;};}function patchUpdates(_0x2d42c8){return function(_0x19c28d){try{jsonpatch[_0x0dce('0x1c')](_0x19c28d,_0x2d42c8,!![]);}catch(_0xecb0a4){return BPromise['reject'](_0xecb0a4);}return _0x19c28d[_0x0dce('0x1d')]();};}function saveUpdates(_0x4479f6,_0x55f1d6){return function(_0x11a61b){if(_0x11a61b){return _0x11a61b[_0x0dce('0x1e')](_0x4479f6)[_0x0dce('0x1f')](function(_0x16faa6){return _0x16faa6;});}return null;};}function removeEntity(_0x331194,_0x111bd0){return function(_0x144f3c){if(_0x144f3c){return _0x144f3c['destroy']()[_0x0dce('0x1f')](function(){_0x331194[_0x0dce('0x16')](0xcc)[_0x0dce('0x17')]();});}};}function handleEntityNotFound(_0x17b27c,_0xdcdb58){return function(_0x22948b){if(!_0x22948b){_0x17b27c[_0x0dce('0x15')](0x194);}return _0x22948b;};}function handleError(_0x1d5dfb,_0x4bc7f6){_0x4bc7f6=_0x4bc7f6||0x1f4;return function(_0x3b6953){logger[_0x0dce('0x20')](_0x3b6953['stack']);if(_0x3b6953['name']){delete _0x3b6953[_0x0dce('0x21')];}_0x1d5dfb['status'](_0x4bc7f6)[_0x0dce('0x22')](_0x3b6953);};}exports[_0x0dce('0x23')]=function(_0x166294,_0x5776b5){var _0x925dee={},_0x55b5a1={},_0x5a9d2b={'count':0x0,'rows':[]};var _0x436d46=_[_0x0dce('0x24')](db['MemberReport'][_0x0dce('0x25')],function(_0x1dbc73){return{'name':_0x1dbc73[_0x0dce('0x26')],'type':_0x1dbc73[_0x0dce('0x27')][_0x0dce('0x28')]};});_0x55b5a1[_0x0dce('0x29')]=_[_0x0dce('0x24')](_0x436d46,'name');_0x55b5a1['query']=_['keys'](_0x166294[_0x0dce('0x2a')]);_0x55b5a1[_0x0dce('0x2b')]=_[_0x0dce('0x2c')](_0x55b5a1['model'],_0x55b5a1['query']);_0x925dee[_0x0dce('0x2d')]=_[_0x0dce('0x2c')](_0x55b5a1[_0x0dce('0x29')],qs[_0x0dce('0x2e')](_0x166294[_0x0dce('0x2a')][_0x0dce('0x2e')]));_0x925dee[_0x0dce('0x2d')]=_0x925dee[_0x0dce('0x2d')][_0x0dce('0x2f')]?_0x925dee[_0x0dce('0x2d')]:_0x55b5a1[_0x0dce('0x29')];if(!_0x166294[_0x0dce('0x2a')][_0x0dce('0x30')](_0x0dce('0x31'))){_0x925dee[_0x0dce('0x32')]=qs[_0x0dce('0x32')](_0x166294[_0x0dce('0x2a')][_0x0dce('0x32')]);_0x925dee['offset']=qs[_0x0dce('0x1a')](_0x166294[_0x0dce('0x2a')][_0x0dce('0x1a')]);}_0x925dee['order']=qs[_0x0dce('0x33')](_0x166294[_0x0dce('0x2a')]['sort']);_0x925dee[_0x0dce('0x34')]=qs[_0x0dce('0x2b')](_[_0x0dce('0x35')](_0x166294['query'],_0x55b5a1['filters']),_0x436d46);if(_0x166294[_0x0dce('0x2a')]['filter']){_0x925dee[_0x0dce('0x34')]=_[_0x0dce('0x36')](_0x925dee[_0x0dce('0x34')],{'$or':_[_0x0dce('0x24')](_0x436d46,function(_0x47840d){if(_0x47840d[_0x0dce('0x27')]!==_0x0dce('0x37')){var _0x15e5b9={};_0x15e5b9[_0x47840d[_0x0dce('0x21')]]={'$like':'%'+_0x166294[_0x0dce('0x2a')][_0x0dce('0x38')]+'%'};return _0x15e5b9;}})});}_0x925dee=_[_0x0dce('0x36')]({},_0x925dee,_0x166294['options']);var _0x2293df={'where':_0x925dee[_0x0dce('0x34')]};return db['MemberReport'][_0x0dce('0x19')](_0x2293df)[_0x0dce('0x1f')](function(_0x36538f){_0x5a9d2b['count']=_0x36538f;if(_0x166294[_0x0dce('0x2a')][_0x0dce('0x39')]){_0x925dee[_0x0dce('0x3a')]=[{'all':!![]}];}return db[_0x0dce('0x3b')]['findAll'](_0x925dee);})['then'](function(_0x5c9111){_0x5a9d2b['rows']=_0x5c9111;return _0x5a9d2b;})[_0x0dce('0x1f')](respondWithFilteredResult(_0x5776b5,_0x925dee))[_0x0dce('0x3c')](handleError(_0x5776b5,null));};exports[_0x0dce('0x3d')]=function(_0x263b8c,_0x4ca086){var _0xf66c72={'raw':!![],'where':{'id':_0x263b8c['params']['id']}},_0x2f7ada={};_0x2f7ada[_0x0dce('0x29')]=_[_0x0dce('0x3e')](db[_0x0dce('0x3b')]['rawAttributes']);_0x2f7ada[_0x0dce('0x2a')]=_[_0x0dce('0x3e')](_0x263b8c[_0x0dce('0x2a')]);_0x2f7ada[_0x0dce('0x2b')]=_[_0x0dce('0x2c')](_0x2f7ada[_0x0dce('0x29')],_0x2f7ada[_0x0dce('0x2a')]);_0xf66c72[_0x0dce('0x2d')]=_[_0x0dce('0x2c')](_0x2f7ada[_0x0dce('0x29')],qs[_0x0dce('0x2e')](_0x263b8c[_0x0dce('0x2a')]['fields']));_0xf66c72[_0x0dce('0x2d')]=_0xf66c72[_0x0dce('0x2d')]['length']?_0xf66c72['attributes']:_0x2f7ada[_0x0dce('0x29')];if(_0x263b8c['query'][_0x0dce('0x39')]){_0xf66c72['include']=[{'all':!![]}];}_0xf66c72=_[_0x0dce('0x36')]({},_0xf66c72,_0x263b8c['options']);return db[_0x0dce('0x3b')]['find'](_0xf66c72)[_0x0dce('0x1f')](handleEntityNotFound(_0x4ca086,null))[_0x0dce('0x1f')](respondWithResult(_0x4ca086,null))[_0x0dce('0x3c')](handleError(_0x4ca086,null));};exports[_0x0dce('0x3f')]=function(_0x15b5d4,_0x58e198){return db[_0x0dce('0x3b')][_0x0dce('0x3f')](_0x15b5d4[_0x0dce('0x40')],{})['then'](respondWithResult(_0x58e198,0xc9))[_0x0dce('0x3c')](handleError(_0x58e198,null));};exports[_0x0dce('0x1e')]=function(_0x4d2b30,_0x57897f){if(_0x4d2b30['body']['id']){delete _0x4d2b30['body']['id'];}return db[_0x0dce('0x3b')][_0x0dce('0x41')]({'where':{'id':_0x4d2b30[_0x0dce('0x42')]['id']}})[_0x0dce('0x1f')](handleEntityNotFound(_0x57897f,null))[_0x0dce('0x1f')](saveUpdates(_0x4d2b30[_0x0dce('0x40')],null))[_0x0dce('0x1f')](respondWithResult(_0x57897f,null))[_0x0dce('0x3c')](handleError(_0x57897f,null));};exports['destroy']=function(_0x58491a,_0x57decd){return db[_0x0dce('0x3b')]['find']({'where':{'id':_0x58491a[_0x0dce('0x42')]['id']}})[_0x0dce('0x1f')](handleEntityNotFound(_0x57decd,null))[_0x0dce('0x1f')](removeEntity(_0x57decd,null))['catch'](handleError(_0x57decd,null));};exports[_0x0dce('0x43')]=function(_0xe89e5a,_0x46a377){return db[_0x0dce('0x3b')][_0x0dce('0x43')]()[_0x0dce('0x1f')](respondWithResult(_0x46a377,null))['catch'](handleError(_0x46a377,null));};