0fe386f36b4e1f53f36c3492ee80fe961bf73b2b
[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 _0x5844=['zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','map','MemberReport','fieldName','type','key','model','keys','filters','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','options','include','findAll','rows','catch','show','params','rawAttributes','includeAll','find','create','body','update','describe','html-pdf','eml-format'];(function(_0x3541bd,_0xcca127){var _0x2bd0ee=function(_0x3de2aa){while(--_0x3de2aa){_0x3541bd['push'](_0x3541bd['shift']());}};_0x2bd0ee(++_0xcca127);}(_0x5844,0x1cc));var _0x4584=function(_0x3cdf3a,_0x4d207e){_0x3cdf3a=_0x3cdf3a-0x0;var _0x4c0369=_0x5844[_0x3cdf3a];return _0x4c0369;};'use strict';var pdf=require(_0x4584('0x0'));var emlformat=require(_0x4584('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x4584('0x2'));var jsonpatch=require(_0x4584('0x3'));var rp=require(_0x4584('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x4584('0x5'));var util=require(_0x4584('0x6'));var path=require(_0x4584('0x7'));var sox=require(_0x4584('0x8'));var csv=require(_0x4584('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x4584('0xa'));var squel=require(_0x4584('0xb'));var crypto=require(_0x4584('0xc'));var jsforce=require(_0x4584('0xd'));var deskjs=require(_0x4584('0xe'));var toCsv=require('to-csv');var querystring=require(_0x4584('0xf'));var Papa=require('papaparse');var Redis=require(_0x4584('0x10'));var authService=require(_0x4584('0x11'));var qs=require(_0x4584('0x12'));var as=require(_0x4584('0x13'));var hardwareService=require(_0x4584('0x14'));var logger=require(_0x4584('0x15'))(_0x4584('0x16'));var utils=require(_0x4584('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x4584('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xb1118d,_0x4fcdc6){_0x4fcdc6=_0x4fcdc6||0xcc;return function(_0x220f90){if(_0x220f90){return _0xb1118d['sendStatus'](_0x4fcdc6);}return _0xb1118d[_0x4584('0x19')](_0x4fcdc6)[_0x4584('0x1a')]();};}function respondWithResult(_0x10bfa4,_0x5005e8){_0x5005e8=_0x5005e8||0xc8;return function(_0x10a5e0){if(_0x10a5e0){return _0x10bfa4[_0x4584('0x19')](_0x5005e8)[_0x4584('0x1b')](_0x10a5e0);}};}function respondWithFilteredResult(_0x1b4892,_0x5e6cf6){return function(_0x1783fb){if(_0x1783fb){var _0x1bbff5=_0x1783fb[_0x4584('0x1c')],_0x142682=_0x5e6cf6[_0x4584('0x1d')],_0x4f8ac2=_0x5e6cf6[_0x4584('0x1d')]+_0x5e6cf6[_0x4584('0x1e')],_0x377158;if(_0x4f8ac2>=_0x1bbff5){_0x4f8ac2=_0x1bbff5;_0x377158=0xc8;}else{_0x377158=0xce;}_0x1b4892[_0x4584('0x19')](_0x377158);return _0x1b4892[_0x4584('0x1f')](_0x4584('0x20'),_0x142682+'-'+_0x4f8ac2+'/'+_0x1bbff5)['json'](_0x1783fb);}return null;};}function patchUpdates(_0x4235f2){return function(_0x440966){try{jsonpatch[_0x4584('0x21')](_0x440966,_0x4235f2,!![]);}catch(_0x365da0){return BPromise[_0x4584('0x22')](_0x365da0);}return _0x440966[_0x4584('0x23')]();};}function saveUpdates(_0xe6faba,_0x1c8be4){return function(_0x1fee49){if(_0x1fee49){return _0x1fee49['update'](_0xe6faba)[_0x4584('0x24')](function(_0xb5b756){return _0xb5b756;});}return null;};}function removeEntity(_0x50be6e,_0x567013){return function(_0x552b76){if(_0x552b76){return _0x552b76[_0x4584('0x25')]()[_0x4584('0x24')](function(){_0x50be6e[_0x4584('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x505c63,_0x4e5f58){return function(_0x3fe361){if(!_0x3fe361){_0x505c63[_0x4584('0x26')](0x194);}return _0x3fe361;};}function handleError(_0x30e8b5,_0x384637){_0x384637=_0x384637||0x1f4;return function(_0x2296e0){logger[_0x4584('0x27')](_0x2296e0[_0x4584('0x28')]);if(_0x2296e0[_0x4584('0x29')]){delete _0x2296e0[_0x4584('0x29')];}_0x30e8b5[_0x4584('0x19')](_0x384637)[_0x4584('0x2a')](_0x2296e0);};}exports['index']=function(_0x2d0ac0,_0x563bbf){var _0x4d62d4={},_0x242b29={},_0x3c3628={'count':0x0,'rows':[]};var _0x48192a=_[_0x4584('0x2b')](db[_0x4584('0x2c')]['rawAttributes'],function(_0x140dd4){return{'name':_0x140dd4[_0x4584('0x2d')],'type':_0x140dd4[_0x4584('0x2e')][_0x4584('0x2f')]};});_0x242b29[_0x4584('0x30')]=_[_0x4584('0x2b')](_0x48192a,'name');_0x242b29['query']=_[_0x4584('0x31')](_0x2d0ac0['query']);_0x242b29[_0x4584('0x32')]=_['intersection'](_0x242b29['model'],_0x242b29[_0x4584('0x33')]);_0x4d62d4[_0x4584('0x34')]=_[_0x4584('0x35')](_0x242b29[_0x4584('0x30')],qs[_0x4584('0x36')](_0x2d0ac0['query'][_0x4584('0x36')]));_0x4d62d4['attributes']=_0x4d62d4[_0x4584('0x34')][_0x4584('0x37')]?_0x4d62d4['attributes']:_0x242b29[_0x4584('0x30')];if(!_0x2d0ac0[_0x4584('0x33')][_0x4584('0x38')](_0x4584('0x39'))){_0x4d62d4[_0x4584('0x1e')]=qs[_0x4584('0x1e')](_0x2d0ac0[_0x4584('0x33')]['limit']);_0x4d62d4[_0x4584('0x1d')]=qs[_0x4584('0x1d')](_0x2d0ac0['query'][_0x4584('0x1d')]);}_0x4d62d4[_0x4584('0x3a')]=qs[_0x4584('0x3b')](_0x2d0ac0[_0x4584('0x33')][_0x4584('0x3b')]);_0x4d62d4[_0x4584('0x3c')]=qs[_0x4584('0x32')](_[_0x4584('0x3d')](_0x2d0ac0[_0x4584('0x33')],_0x242b29[_0x4584('0x32')]),_0x48192a);if(_0x2d0ac0[_0x4584('0x33')]['filter']){_0x4d62d4[_0x4584('0x3c')]=_[_0x4584('0x3e')](_0x4d62d4[_0x4584('0x3c')],{'$or':_['map'](_0x48192a,function(_0x54b7dd){if(_0x54b7dd['type']!=='VIRTUAL'){var _0x137c0e={};_0x137c0e[_0x54b7dd[_0x4584('0x29')]]={'$like':'%'+_0x2d0ac0[_0x4584('0x33')]['filter']+'%'};return _0x137c0e;}})});}_0x4d62d4=_[_0x4584('0x3e')]({},_0x4d62d4,_0x2d0ac0[_0x4584('0x3f')]);var _0xd0b12e={'where':_0x4d62d4[_0x4584('0x3c')]};return db[_0x4584('0x2c')][_0x4584('0x1c')](_0xd0b12e)['then'](function(_0x53dad7){_0x3c3628[_0x4584('0x1c')]=_0x53dad7;if(_0x2d0ac0[_0x4584('0x33')]['includeAll']){_0x4d62d4[_0x4584('0x40')]=[{'all':!![]}];}return db['MemberReport'][_0x4584('0x41')](_0x4d62d4);})[_0x4584('0x24')](function(_0x42e737){_0x3c3628[_0x4584('0x42')]=_0x42e737;return _0x3c3628;})[_0x4584('0x24')](respondWithFilteredResult(_0x563bbf,_0x4d62d4))[_0x4584('0x43')](handleError(_0x563bbf,null));};exports[_0x4584('0x44')]=function(_0x56dad2,_0x4e5c53){var _0x38fb0d={'raw':!![],'where':{'id':_0x56dad2[_0x4584('0x45')]['id']}},_0x3d381f={};_0x3d381f[_0x4584('0x30')]=_[_0x4584('0x31')](db[_0x4584('0x2c')][_0x4584('0x46')]);_0x3d381f['query']=_[_0x4584('0x31')](_0x56dad2[_0x4584('0x33')]);_0x3d381f[_0x4584('0x32')]=_[_0x4584('0x35')](_0x3d381f['model'],_0x3d381f[_0x4584('0x33')]);_0x38fb0d[_0x4584('0x34')]=_[_0x4584('0x35')](_0x3d381f[_0x4584('0x30')],qs[_0x4584('0x36')](_0x56dad2[_0x4584('0x33')][_0x4584('0x36')]));_0x38fb0d[_0x4584('0x34')]=_0x38fb0d[_0x4584('0x34')][_0x4584('0x37')]?_0x38fb0d[_0x4584('0x34')]:_0x3d381f[_0x4584('0x30')];if(_0x56dad2[_0x4584('0x33')][_0x4584('0x47')]){_0x38fb0d[_0x4584('0x40')]=[{'all':!![]}];}_0x38fb0d=_['merge']({},_0x38fb0d,_0x56dad2[_0x4584('0x3f')]);return db['MemberReport'][_0x4584('0x48')](_0x38fb0d)['then'](handleEntityNotFound(_0x4e5c53,null))[_0x4584('0x24')](respondWithResult(_0x4e5c53,null))[_0x4584('0x43')](handleError(_0x4e5c53,null));};exports[_0x4584('0x49')]=function(_0x3a74a1,_0x2fb3d0){return db[_0x4584('0x2c')]['create'](_0x3a74a1[_0x4584('0x4a')],{})[_0x4584('0x24')](respondWithResult(_0x2fb3d0,0xc9))[_0x4584('0x43')](handleError(_0x2fb3d0,null));};exports[_0x4584('0x4b')]=function(_0x3c5c75,_0x5866f6){if(_0x3c5c75[_0x4584('0x4a')]['id']){delete _0x3c5c75['body']['id'];}return db[_0x4584('0x2c')][_0x4584('0x48')]({'where':{'id':_0x3c5c75[_0x4584('0x45')]['id']}})[_0x4584('0x24')](handleEntityNotFound(_0x5866f6,null))[_0x4584('0x24')](saveUpdates(_0x3c5c75[_0x4584('0x4a')],null))['then'](respondWithResult(_0x5866f6,null))[_0x4584('0x43')](handleError(_0x5866f6,null));};exports[_0x4584('0x25')]=function(_0x47def5,_0x192454){return db[_0x4584('0x2c')][_0x4584('0x48')]({'where':{'id':_0x47def5[_0x4584('0x45')]['id']}})[_0x4584('0x24')](handleEntityNotFound(_0x192454,null))[_0x4584('0x24')](removeEntity(_0x192454,null))['catch'](handleError(_0x192454,null));};exports[_0x4584('0x4c')]=function(_0x55863f,_0x2103a6){return db['MemberReport'][_0x4584('0x4c')]()['then'](respondWithResult(_0x2103a6,null))[_0x4584('0x43')](handleError(_0x2103a6,null));};