2ff12741ac586257e59698e9daed9d84f1e81c80
[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 _0xbd5c=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','limit','set','Content-Range','save','update','destroy','then','stack','name','send','map','MemberReport','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','offset','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','describe','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','jsforce','desk.js','querystring'];(function(_0x845505,_0x19e5f3){var _0x2513b9=function(_0x10e7af){while(--_0x10e7af){_0x845505['push'](_0x845505['shift']());}};_0x2513b9(++_0x19e5f3);}(_0xbd5c,0xca));var _0xcbd5=function(_0x5dc7f9,_0x2d5c21){_0x5dc7f9=_0x5dc7f9-0x0;var _0x13c865=_0xbd5c[_0x5dc7f9];return _0x13c865;};'use strict';var pdf=require(_0xcbd5('0x0'));var emlformat=require(_0xcbd5('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xcbd5('0x2'));var jsonpatch=require(_0xcbd5('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xcbd5('0x4'));var Mustache=require(_0xcbd5('0x5'));var util=require(_0xcbd5('0x6'));var path=require(_0xcbd5('0x7'));var sox=require(_0xcbd5('0x8'));var csv=require(_0xcbd5('0x9'));var ejs=require(_0xcbd5('0xa'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xcbd5('0xb'));var deskjs=require(_0xcbd5('0xc'));var toCsv=require(_0xcbd5('0x9'));var querystring=require(_0xcbd5('0xd'));var Papa=require(_0xcbd5('0xe'));var Redis=require(_0xcbd5('0xf'));var authService=require(_0xcbd5('0x10'));var qs=require(_0xcbd5('0x11'));var as=require(_0xcbd5('0x12'));var hardwareService=require(_0xcbd5('0x13'));var logger=require(_0xcbd5('0x14'))('api');var utils=require(_0xcbd5('0x15'));var config=require('../../config/environment');var db=require(_0xcbd5('0x16'))['db'];function respondWithStatusCode(_0x2035ac,_0x4e9f85){_0x4e9f85=_0x4e9f85||0xcc;return function(_0x11997c){if(_0x11997c){return _0x2035ac[_0xcbd5('0x17')](_0x4e9f85);}return _0x2035ac[_0xcbd5('0x18')](_0x4e9f85)[_0xcbd5('0x19')]();};}function respondWithResult(_0x4ad0a0,_0x4b675a){_0x4b675a=_0x4b675a||0xc8;return function(_0x17beb8){if(_0x17beb8){return _0x4ad0a0[_0xcbd5('0x18')](_0x4b675a)[_0xcbd5('0x1a')](_0x17beb8);}};}function respondWithFilteredResult(_0x1e1ddf,_0x5e527e){return function(_0x1dc4bd){if(_0x1dc4bd){var _0x38f91e=_0x1dc4bd[_0xcbd5('0x1b')],_0x1f6330=_0x5e527e['offset'],_0x21fed7=_0x5e527e['offset']+_0x5e527e[_0xcbd5('0x1c')],_0x330873;if(_0x21fed7>=_0x38f91e){_0x21fed7=_0x38f91e;_0x330873=0xc8;}else{_0x330873=0xce;}_0x1e1ddf[_0xcbd5('0x18')](_0x330873);return _0x1e1ddf[_0xcbd5('0x1d')](_0xcbd5('0x1e'),_0x1f6330+'-'+_0x21fed7+'/'+_0x38f91e)[_0xcbd5('0x1a')](_0x1dc4bd);}return null;};}function patchUpdates(_0x56074a){return function(_0x2e9690){try{jsonpatch['apply'](_0x2e9690,_0x56074a,!![]);}catch(_0x22848e){return BPromise['reject'](_0x22848e);}return _0x2e9690[_0xcbd5('0x1f')]();};}function saveUpdates(_0x2324d0,_0x360db7){return function(_0x1e0aa0){if(_0x1e0aa0){return _0x1e0aa0[_0xcbd5('0x20')](_0x2324d0)['then'](function(_0x28e5e4){return _0x28e5e4;});}return null;};}function removeEntity(_0xb1c4f8,_0xbbe36d){return function(_0x10dec4){if(_0x10dec4){return _0x10dec4[_0xcbd5('0x21')]()[_0xcbd5('0x22')](function(){_0xb1c4f8[_0xcbd5('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x9d2770,_0x4a179b){return function(_0x265e68){if(!_0x265e68){_0x9d2770[_0xcbd5('0x17')](0x194);}return _0x265e68;};}function handleError(_0x88fdc1,_0x2fa901){_0x2fa901=_0x2fa901||0x1f4;return function(_0x1db58e){logger['error'](_0x1db58e[_0xcbd5('0x23')]);if(_0x1db58e['name']){delete _0x1db58e[_0xcbd5('0x24')];}_0x88fdc1[_0xcbd5('0x18')](_0x2fa901)[_0xcbd5('0x25')](_0x1db58e);};}exports['index']=function(_0x3de904,_0x922daa){var _0x31f0e2={},_0xe6804a={},_0x17d0a1={'count':0x0,'rows':[]};var _0x23d518=_[_0xcbd5('0x26')](db[_0xcbd5('0x27')][_0xcbd5('0x28')],function(_0x3f098a){return{'name':_0x3f098a['fieldName'],'type':_0x3f098a[_0xcbd5('0x29')][_0xcbd5('0x2a')]};});_0xe6804a[_0xcbd5('0x2b')]=_[_0xcbd5('0x26')](_0x23d518,_0xcbd5('0x24'));_0xe6804a[_0xcbd5('0x2c')]=_[_0xcbd5('0x2d')](_0x3de904[_0xcbd5('0x2c')]);_0xe6804a[_0xcbd5('0x2e')]=_[_0xcbd5('0x2f')](_0xe6804a[_0xcbd5('0x2b')],_0xe6804a['query']);_0x31f0e2[_0xcbd5('0x30')]=_[_0xcbd5('0x2f')](_0xe6804a[_0xcbd5('0x2b')],qs[_0xcbd5('0x31')](_0x3de904[_0xcbd5('0x2c')][_0xcbd5('0x31')]));_0x31f0e2[_0xcbd5('0x30')]=_0x31f0e2['attributes'][_0xcbd5('0x32')]?_0x31f0e2[_0xcbd5('0x30')]:_0xe6804a['model'];if(!_0x3de904[_0xcbd5('0x2c')]['hasOwnProperty'](_0xcbd5('0x33'))){_0x31f0e2[_0xcbd5('0x1c')]=qs[_0xcbd5('0x1c')](_0x3de904[_0xcbd5('0x2c')]['limit']);_0x31f0e2[_0xcbd5('0x34')]=qs[_0xcbd5('0x34')](_0x3de904[_0xcbd5('0x2c')]['offset']);}_0x31f0e2[_0xcbd5('0x35')]=qs[_0xcbd5('0x36')](_0x3de904[_0xcbd5('0x2c')]['sort']);_0x31f0e2['where']=qs[_0xcbd5('0x2e')](_[_0xcbd5('0x37')](_0x3de904[_0xcbd5('0x2c')],_0xe6804a['filters']),_0x23d518);if(_0x3de904[_0xcbd5('0x2c')][_0xcbd5('0x38')]){_0x31f0e2[_0xcbd5('0x39')]=_[_0xcbd5('0x3a')](_0x31f0e2['where'],{'$or':_[_0xcbd5('0x26')](_0x23d518,function(_0x13d91b){if(_0x13d91b[_0xcbd5('0x29')]!==_0xcbd5('0x3b')){var _0x44fed5={};_0x44fed5[_0x13d91b['name']]={'$like':'%'+_0x3de904[_0xcbd5('0x2c')][_0xcbd5('0x38')]+'%'};return _0x44fed5;}})});}_0x31f0e2=_['merge']({},_0x31f0e2,_0x3de904[_0xcbd5('0x3c')]);var _0x43ed56={'where':_0x31f0e2[_0xcbd5('0x39')]};return db[_0xcbd5('0x27')][_0xcbd5('0x1b')](_0x43ed56)[_0xcbd5('0x22')](function(_0x47bbe1){_0x17d0a1[_0xcbd5('0x1b')]=_0x47bbe1;if(_0x3de904['query'][_0xcbd5('0x3d')]){_0x31f0e2[_0xcbd5('0x3e')]=[{'all':!![]}];}return db['MemberReport'][_0xcbd5('0x3f')](_0x31f0e2);})[_0xcbd5('0x22')](function(_0x59c8ef){_0x17d0a1[_0xcbd5('0x40')]=_0x59c8ef;return _0x17d0a1;})[_0xcbd5('0x22')](respondWithFilteredResult(_0x922daa,_0x31f0e2))[_0xcbd5('0x41')](handleError(_0x922daa,null));};exports[_0xcbd5('0x42')]=function(_0x1a86f8,_0x48fa77){var _0x4dd8f2={'raw':!![],'where':{'id':_0x1a86f8['params']['id']}},_0x446b77={};_0x446b77[_0xcbd5('0x2b')]=_[_0xcbd5('0x2d')](db[_0xcbd5('0x27')][_0xcbd5('0x28')]);_0x446b77[_0xcbd5('0x2c')]=_[_0xcbd5('0x2d')](_0x1a86f8[_0xcbd5('0x2c')]);_0x446b77[_0xcbd5('0x2e')]=_[_0xcbd5('0x2f')](_0x446b77[_0xcbd5('0x2b')],_0x446b77['query']);_0x4dd8f2[_0xcbd5('0x30')]=_[_0xcbd5('0x2f')](_0x446b77['model'],qs[_0xcbd5('0x31')](_0x1a86f8[_0xcbd5('0x2c')][_0xcbd5('0x31')]));_0x4dd8f2[_0xcbd5('0x30')]=_0x4dd8f2['attributes'][_0xcbd5('0x32')]?_0x4dd8f2[_0xcbd5('0x30')]:_0x446b77[_0xcbd5('0x2b')];if(_0x1a86f8[_0xcbd5('0x2c')][_0xcbd5('0x3d')]){_0x4dd8f2[_0xcbd5('0x3e')]=[{'all':!![]}];}_0x4dd8f2=_['merge']({},_0x4dd8f2,_0x1a86f8[_0xcbd5('0x3c')]);return db['MemberReport'][_0xcbd5('0x43')](_0x4dd8f2)[_0xcbd5('0x22')](handleEntityNotFound(_0x48fa77,null))[_0xcbd5('0x22')](respondWithResult(_0x48fa77,null))[_0xcbd5('0x41')](handleError(_0x48fa77,null));};exports[_0xcbd5('0x44')]=function(_0x3ab39b,_0x214a43){return db[_0xcbd5('0x27')][_0xcbd5('0x44')](_0x3ab39b['body'],{})['then'](respondWithResult(_0x214a43,0xc9))[_0xcbd5('0x41')](handleError(_0x214a43,null));};exports[_0xcbd5('0x20')]=function(_0x4e0bf0,_0x3a801b){if(_0x4e0bf0[_0xcbd5('0x45')]['id']){delete _0x4e0bf0[_0xcbd5('0x45')]['id'];}return db[_0xcbd5('0x27')][_0xcbd5('0x43')]({'where':{'id':_0x4e0bf0[_0xcbd5('0x46')]['id']}})['then'](handleEntityNotFound(_0x3a801b,null))[_0xcbd5('0x22')](saveUpdates(_0x4e0bf0[_0xcbd5('0x45')],null))[_0xcbd5('0x22')](respondWithResult(_0x3a801b,null))[_0xcbd5('0x41')](handleError(_0x3a801b,null));};exports['destroy']=function(_0x300696,_0x566c98){return db[_0xcbd5('0x27')]['find']({'where':{'id':_0x300696[_0xcbd5('0x46')]['id']}})['then'](handleEntityNotFound(_0x566c98,null))[_0xcbd5('0x22')](removeEntity(_0x566c98,null))[_0xcbd5('0x41')](handleError(_0x566c98,null));};exports[_0xcbd5('0x47')]=function(_0x2c0cea,_0x496803){return db[_0xcbd5('0x27')][_0xcbd5('0x47')]()['then'](respondWithResult(_0x496803,null))[_0xcbd5('0x41')](handleError(_0x496803,null));};