89181503106e5a58185768f89852043fb8c5431e
[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 _0x2c46=['rimraf','fast-json-patch','moment','bluebird','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','limit','set','Content-Range','apply','update','then','destroy','error','stack','name','send','index','map','MemberReport','fieldName','type','model','keys','query','filters','attributes','fields','length','nolimit','offset','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','show','params','intersection','find','create','body','catch','html-pdf','eml-format'];(function(_0x28b0eb,_0x397441){var _0x57c94b=function(_0x291095){while(--_0x291095){_0x28b0eb['push'](_0x28b0eb['shift']());}};_0x57c94b(++_0x397441);}(_0x2c46,0x8a));var _0x62c4=function(_0x11bc8e,_0x20ca9d){_0x11bc8e=_0x11bc8e-0x0;var _0x1e5a02=_0x2c46[_0x11bc8e];return _0x1e5a02;};'use strict';var pdf=require(_0x62c4('0x0'));var emlformat=require(_0x62c4('0x1'));var rimraf=require(_0x62c4('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x62c4('0x3'));var rp=require('request-promise');var moment=require(_0x62c4('0x4'));var BPromise=require(_0x62c4('0x5'));var Mustache=require('mustache');var util=require(_0x62c4('0x6'));var path=require(_0x62c4('0x7'));var sox=require('sox');var csv=require(_0x62c4('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x62c4('0x9'));var squel=require(_0x62c4('0xa'));var crypto=require(_0x62c4('0xb'));var jsforce=require(_0x62c4('0xc'));var deskjs=require(_0x62c4('0xd'));var toCsv=require('to-csv');var querystring=require(_0x62c4('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x62c4('0xf'));var as=require(_0x62c4('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x62c4('0x11'));var utils=require(_0x62c4('0x12'));var config=require(_0x62c4('0x13'));var licenseUtil=require(_0x62c4('0x14'));var db=require(_0x62c4('0x15'))['db'];function respondWithStatusCode(_0x15e9d5,_0x3ad06d){_0x3ad06d=_0x3ad06d||0xcc;return function(_0x421a90){if(_0x421a90){return _0x15e9d5[_0x62c4('0x16')](_0x3ad06d);}return _0x15e9d5[_0x62c4('0x17')](_0x3ad06d)[_0x62c4('0x18')]();};}function respondWithResult(_0xe6d208,_0x50d964){_0x50d964=_0x50d964||0xc8;return function(_0x2d90d2){if(_0x2d90d2){return _0xe6d208[_0x62c4('0x17')](_0x50d964)[_0x62c4('0x19')](_0x2d90d2);}};}function respondWithFilteredResult(_0x358774,_0x343985){return function(_0x10865d){if(_0x10865d){var _0x42668b=_0x10865d[_0x62c4('0x1a')],_0x5d148b=_0x343985['offset'],_0x4667f0=_0x343985['offset']+_0x343985[_0x62c4('0x1b')],_0x2eacdd;if(_0x4667f0>=_0x42668b){_0x4667f0=_0x42668b;_0x2eacdd=0xc8;}else{_0x2eacdd=0xce;}_0x358774[_0x62c4('0x17')](_0x2eacdd);return _0x358774[_0x62c4('0x1c')](_0x62c4('0x1d'),_0x5d148b+'-'+_0x4667f0+'/'+_0x42668b)[_0x62c4('0x19')](_0x10865d);}return null;};}function patchUpdates(_0x2734ea){return function(_0x18deb8){try{jsonpatch[_0x62c4('0x1e')](_0x18deb8,_0x2734ea,!![]);}catch(_0x2f6cf7){return BPromise['reject'](_0x2f6cf7);}return _0x18deb8['save']();};}function saveUpdates(_0xd52736,_0x40a7a2){return function(_0x4883d0){if(_0x4883d0){return _0x4883d0[_0x62c4('0x1f')](_0xd52736)[_0x62c4('0x20')](function(_0x4f5ec7){return _0x4f5ec7;});}return null;};}function removeEntity(_0xee7e73,_0x52a360){return function(_0x108106){if(_0x108106){return _0x108106[_0x62c4('0x21')]()[_0x62c4('0x20')](function(){_0xee7e73[_0x62c4('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c8e52,_0x320c7d){return function(_0x4e5154){if(!_0x4e5154){_0x2c8e52[_0x62c4('0x16')](0x194);}return _0x4e5154;};}function handleError(_0x59f88d,_0x4e20fb){_0x4e20fb=_0x4e20fb||0x1f4;return function(_0x304527){logger[_0x62c4('0x22')](_0x304527[_0x62c4('0x23')]);if(_0x304527[_0x62c4('0x24')]){delete _0x304527['name'];}_0x59f88d[_0x62c4('0x17')](_0x4e20fb)[_0x62c4('0x25')](_0x304527);};}exports[_0x62c4('0x26')]=function(_0x8ab2bf,_0x512a05){var _0x20056c={},_0x3fe1d0={},_0x5153ea={'count':0x0,'rows':[]};var _0x4ae04a=_[_0x62c4('0x27')](db[_0x62c4('0x28')]['rawAttributes'],function(_0x5db525){return{'name':_0x5db525[_0x62c4('0x29')],'type':_0x5db525[_0x62c4('0x2a')]['key']};});_0x3fe1d0[_0x62c4('0x2b')]=_[_0x62c4('0x27')](_0x4ae04a,'name');_0x3fe1d0['query']=_[_0x62c4('0x2c')](_0x8ab2bf[_0x62c4('0x2d')]);_0x3fe1d0[_0x62c4('0x2e')]=_['intersection'](_0x3fe1d0['model'],_0x3fe1d0[_0x62c4('0x2d')]);_0x20056c[_0x62c4('0x2f')]=_['intersection'](_0x3fe1d0[_0x62c4('0x2b')],qs[_0x62c4('0x30')](_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x30')]));_0x20056c['attributes']=_0x20056c[_0x62c4('0x2f')][_0x62c4('0x31')]?_0x20056c[_0x62c4('0x2f')]:_0x3fe1d0[_0x62c4('0x2b')];if(!_0x8ab2bf[_0x62c4('0x2d')]['hasOwnProperty'](_0x62c4('0x32'))){_0x20056c[_0x62c4('0x1b')]=qs[_0x62c4('0x1b')](_0x8ab2bf['query'][_0x62c4('0x1b')]);_0x20056c['offset']=qs[_0x62c4('0x33')](_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x33')]);}_0x20056c[_0x62c4('0x34')]=qs[_0x62c4('0x35')](_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x35')]);_0x20056c['where']=qs[_0x62c4('0x2e')](_[_0x62c4('0x36')](_0x8ab2bf[_0x62c4('0x2d')],_0x3fe1d0[_0x62c4('0x2e')]),_0x4ae04a);if(_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x37')]){_0x20056c[_0x62c4('0x38')]=_[_0x62c4('0x39')](_0x20056c[_0x62c4('0x38')],{'$or':_[_0x62c4('0x27')](_0x4ae04a,function(_0x57ddcf){if(_0x57ddcf[_0x62c4('0x2a')]!==_0x62c4('0x3a')){var _0x58ff7f={};_0x58ff7f[_0x57ddcf['name']]={'$like':'%'+_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x37')]+'%'};return _0x58ff7f;}})});}_0x20056c=_[_0x62c4('0x39')]({},_0x20056c,_0x8ab2bf[_0x62c4('0x3b')]);var _0x5b7d8a={'where':_0x20056c[_0x62c4('0x38')]};return db[_0x62c4('0x28')][_0x62c4('0x1a')](_0x5b7d8a)[_0x62c4('0x20')](function(_0x1c6b46){_0x5153ea[_0x62c4('0x1a')]=_0x1c6b46;if(_0x8ab2bf[_0x62c4('0x2d')][_0x62c4('0x3c')]){_0x20056c[_0x62c4('0x3d')]=[{'all':!![]}];}return db[_0x62c4('0x28')][_0x62c4('0x3e')](_0x20056c);})[_0x62c4('0x20')](function(_0x525379){_0x5153ea['rows']=_0x525379;return _0x5153ea;})[_0x62c4('0x20')](respondWithFilteredResult(_0x512a05,_0x20056c))['catch'](handleError(_0x512a05,null));};exports[_0x62c4('0x3f')]=function(_0x5a79ef,_0xcc8b66){var _0x209382={'raw':!![],'where':{'id':_0x5a79ef[_0x62c4('0x40')]['id']}},_0x1aa7cc={};_0x1aa7cc[_0x62c4('0x2b')]=_['keys'](db[_0x62c4('0x28')]['rawAttributes']);_0x1aa7cc[_0x62c4('0x2d')]=_[_0x62c4('0x2c')](_0x5a79ef['query']);_0x1aa7cc[_0x62c4('0x2e')]=_[_0x62c4('0x41')](_0x1aa7cc[_0x62c4('0x2b')],_0x1aa7cc[_0x62c4('0x2d')]);_0x209382[_0x62c4('0x2f')]=_[_0x62c4('0x41')](_0x1aa7cc['model'],qs['fields'](_0x5a79ef['query'][_0x62c4('0x30')]));_0x209382[_0x62c4('0x2f')]=_0x209382['attributes'][_0x62c4('0x31')]?_0x209382[_0x62c4('0x2f')]:_0x1aa7cc[_0x62c4('0x2b')];if(_0x5a79ef[_0x62c4('0x2d')]['includeAll']){_0x209382[_0x62c4('0x3d')]=[{'all':!![]}];}_0x209382=_[_0x62c4('0x39')]({},_0x209382,_0x5a79ef[_0x62c4('0x3b')]);return db[_0x62c4('0x28')][_0x62c4('0x42')](_0x209382)[_0x62c4('0x20')](handleEntityNotFound(_0xcc8b66,null))['then'](respondWithResult(_0xcc8b66,null))['catch'](handleError(_0xcc8b66,null));};exports[_0x62c4('0x43')]=function(_0xcdaabd,_0x3bdab2){return db[_0x62c4('0x28')]['create'](_0xcdaabd['body'],{})['then'](respondWithResult(_0x3bdab2,0xc9))['catch'](handleError(_0x3bdab2,null));};exports['update']=function(_0x40132c,_0x49fc6f){if(_0x40132c[_0x62c4('0x44')]['id']){delete _0x40132c[_0x62c4('0x44')]['id'];}return db['MemberReport'][_0x62c4('0x42')]({'where':{'id':_0x40132c[_0x62c4('0x40')]['id']}})[_0x62c4('0x20')](handleEntityNotFound(_0x49fc6f,null))[_0x62c4('0x20')](saveUpdates(_0x40132c['body'],null))[_0x62c4('0x20')](respondWithResult(_0x49fc6f,null))[_0x62c4('0x45')](handleError(_0x49fc6f,null));};exports[_0x62c4('0x21')]=function(_0xaea6ad,_0x27b062){return db[_0x62c4('0x28')][_0x62c4('0x42')]({'where':{'id':_0xaea6ad[_0x62c4('0x40')]['id']}})[_0x62c4('0x20')](handleEntityNotFound(_0x27b062,null))[_0x62c4('0x20')](removeEntity(_0x27b062,null))[_0x62c4('0x45')](handleError(_0x27b062,null));};exports['describe']=function(_0x4069a5,_0x1f3f46){return db[_0x62c4('0x28')]['describe']()[_0x62c4('0x20')](respondWithResult(_0x1f3f46,null))['catch'](handleError(_0x1f3f46,null));};