Built motion from commit (unavailable).|2.0.79
[motion2.git] / server / api / jscriptySessionReport / jscriptySessionReport.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 _0x319b=['find','describe','getQuestions','findOne','JscriptyQuestionReport','hasOwnProperty','SessionId','html-pdf','eml-format','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','ejs','squel','jsforce','querystring','papaparse','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','error','stack','name','send','index','JscriptySessionReport','rawAttributes','model','query','dateEnd','keys','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filters','dateStart','add','day','merge','filter','map','includeAll','include','findAll','rows','catch','show','params','options','create','body','destroy'];(function(_0x5907f6,_0x1d6930){var _0x5831b9=function(_0x352b45){while(--_0x352b45){_0x5907f6['push'](_0x5907f6['shift']());}};_0x5831b9(++_0x1d6930);}(_0x319b,0xeb));var _0xb319=function(_0x8049fd,_0x3c8edc){_0x8049fd=_0x8049fd-0x0;var _0x30711a=_0x319b[_0x8049fd];return _0x30711a;};'use strict';var pdf=require(_0xb319('0x0'));var emlformat=require(_0xb319('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xb319('0x2'));var jsonpatch=require(_0xb319('0x3'));var rp=require('request-promise');var moment=require(_0xb319('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xb319('0x5'));var util=require(_0xb319('0x6'));var path=require(_0xb319('0x7'));var sox=require('sox');var csv=require(_0xb319('0x8'));var ejs=require(_0xb319('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb319('0xa'));var crypto=require('crypto');var jsforce=require(_0xb319('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb319('0xc'));var Papa=require(_0xb319('0xd'));var qs=require('../../components/parsers/qs');var logger=require(_0xb319('0xe'))(_0xb319('0xf'));var utils=require('../../config/utils');var config=require(_0xb319('0x10'));var db=require(_0xb319('0x11'))['db'];function respondWithStatusCode(_0x3f6acf,_0x1ab44c){_0x1ab44c=_0x1ab44c||0xcc;return function(_0x10ea87){if(_0x10ea87){return _0x3f6acf[_0xb319('0x12')](_0x1ab44c);}return _0x3f6acf[_0xb319('0x13')](_0x1ab44c)[_0xb319('0x14')]();};}function respondWithResult(_0x12e3d9,_0x2670d9){_0x2670d9=_0x2670d9||0xc8;return function(_0x47117a){if(_0x47117a){return _0x12e3d9['status'](_0x2670d9)[_0xb319('0x15')](_0x47117a);}};}function respondWithFilteredResult(_0x2a5197,_0x542d9b){return function(_0x5e1151){if(_0x5e1151){var _0x3623c9=_0x5e1151[_0xb319('0x16')],_0x4d5be1=_0x542d9b['offset'],_0x254c0d=_0x542d9b[_0xb319('0x17')]+_0x542d9b[_0xb319('0x18')],_0x4cdbe1;if(_0x254c0d>=_0x3623c9){_0x254c0d=_0x3623c9;_0x4cdbe1=0xc8;}else{_0x4cdbe1=0xce;}_0x2a5197['status'](_0x4cdbe1);return _0x2a5197[_0xb319('0x19')]('Content-Range',_0x4d5be1+'-'+_0x254c0d+'/'+_0x3623c9)['json'](_0x5e1151);}return null;};}function patchUpdates(_0x8d2c7d){return function(_0x1e4d76){try{jsonpatch[_0xb319('0x1a')](_0x1e4d76,_0x8d2c7d,!![]);}catch(_0x402b32){return BPromise[_0xb319('0x1b')](_0x402b32);}return _0x1e4d76[_0xb319('0x1c')]();};}function saveUpdates(_0xd6ff8b,_0x2a455f){return function(_0xb7c80b){if(_0xb7c80b){return _0xb7c80b[_0xb319('0x1d')](_0xd6ff8b)['then'](function(_0x4147d9){return _0x4147d9;});}return null;};}function removeEntity(_0x42d04e,_0x17de15){return function(_0x352118){if(_0x352118){return _0x352118['destroy']()[_0xb319('0x1e')](function(){_0x42d04e[_0xb319('0x13')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2439ef,_0x1736a1){return function(_0x354ff2){if(!_0x354ff2){_0x2439ef[_0xb319('0x12')](0x194);}return _0x354ff2;};}function handleError(_0x222643,_0x222be7){_0x222be7=_0x222be7||0x1f4;return function(_0x4ef7f1){logger[_0xb319('0x1f')](_0x4ef7f1[_0xb319('0x20')]);if(_0x4ef7f1[_0xb319('0x21')]){delete _0x4ef7f1['name'];}_0x222643[_0xb319('0x13')](_0x222be7)[_0xb319('0x22')](_0x4ef7f1);};}exports[_0xb319('0x23')]=function(_0x2c16e7,_0x41d19d){var _0x4bda32={},_0x3ca5c1={},_0x359bc7={'count':0x0,'rows':[]};var _0x4ed24e=db[_0xb319('0x24')][_0xb319('0x25')];_0x3ca5c1[_0xb319('0x26')]=_['keys'](_0x4ed24e);var _0x12098a={'dateStart':_0x2c16e7[_0xb319('0x27')]['dateStart'],'dateEnd':_0x2c16e7[_0xb319('0x27')][_0xb319('0x28')]};delete _0x2c16e7[_0xb319('0x27')]['dateStart'];delete _0x2c16e7[_0xb319('0x27')][_0xb319('0x28')];_0x3ca5c1['query']=_[_0xb319('0x29')](_0x2c16e7[_0xb319('0x27')]);_0x3ca5c1['filters']=_[_0xb319('0x2a')](_0x3ca5c1[_0xb319('0x26')],_0x3ca5c1[_0xb319('0x27')]);_0x4bda32[_0xb319('0x2b')]=_['intersection'](_0x3ca5c1[_0xb319('0x26')],qs[_0xb319('0x2c')](_0x2c16e7['query'][_0xb319('0x2c')]));_0x4bda32[_0xb319('0x2b')]=_0x4bda32['attributes'][_0xb319('0x2d')]?_0x4bda32['attributes']:_0x3ca5c1[_0xb319('0x26')];if(!_0x2c16e7[_0xb319('0x27')]['hasOwnProperty'](_0xb319('0x2e'))){_0x4bda32[_0xb319('0x18')]=qs['limit'](_0x2c16e7[_0xb319('0x27')][_0xb319('0x18')]);_0x4bda32[_0xb319('0x17')]=qs[_0xb319('0x17')](_0x2c16e7[_0xb319('0x27')][_0xb319('0x17')]);}_0x4bda32[_0xb319('0x2f')]=qs[_0xb319('0x30')](_0x2c16e7[_0xb319('0x27')][_0xb319('0x30')]);_0x4bda32[_0xb319('0x31')]=qs['filters'](_[_0xb319('0x32')](_0x2c16e7['query'],_0x3ca5c1[_0xb319('0x33')]));if(_0x12098a[_0xb319('0x34')]){if(_0x12098a['dateEnd']){_0x12098a[_0xb319('0x28')]=moment(_0x12098a[_0xb319('0x28')])[_0xb319('0x35')](0x1,'day');}else{_0x12098a[_0xb319('0x28')]=moment(_0x12098a[_0xb319('0x34')])[_0xb319('0x35')](0x1,_0xb319('0x36'));}_[_0xb319('0x37')](_0x4bda32[_0xb319('0x31')],{'createdAt':{'$gte':_0x12098a[_0xb319('0x34')],'$lte':_0x12098a[_0xb319('0x28')]}});}if(_0x2c16e7[_0xb319('0x27')][_0xb319('0x38')]){_0x4bda32['where']=_[_0xb319('0x37')](_0x4bda32[_0xb319('0x31')],{'$or':_[_0xb319('0x39')](_0x4bda32[_0xb319('0x2b')],function(_0x2b17ad){var _0x63c4f5={};_0x63c4f5[_0x2b17ad]={'$like':'%'+_0x2c16e7[_0xb319('0x27')]['filter']+'%'};return _0x63c4f5;})});}_0x4bda32=_[_0xb319('0x37')]({},_0x4bda32,_0x2c16e7['options']);var _0x5b087f={'where':_0x4bda32[_0xb319('0x31')]};return db[_0xb319('0x24')][_0xb319('0x16')](_0x5b087f)[_0xb319('0x1e')](function(_0x14d6a5){_0x359bc7[_0xb319('0x16')]=_0x14d6a5;if(_0x2c16e7[_0xb319('0x27')][_0xb319('0x3a')]){_0x4bda32[_0xb319('0x3b')]=[{'all':!![]}];}return db[_0xb319('0x24')][_0xb319('0x3c')](_0x4bda32);})[_0xb319('0x1e')](function(_0x417cfe){_0x359bc7[_0xb319('0x3d')]=_0x417cfe;return _0x359bc7;})[_0xb319('0x1e')](respondWithFilteredResult(_0x41d19d,_0x4bda32))[_0xb319('0x3e')](handleError(_0x41d19d,null));};exports[_0xb319('0x3f')]=function(_0x30de63,_0x2aee16){var _0x2f7043={'raw':!![],'where':{'id':_0x30de63[_0xb319('0x40')]['id']}},_0x131da4={};_0x131da4[_0xb319('0x26')]=_[_0xb319('0x29')](db[_0xb319('0x24')]['rawAttributes']);_0x131da4[_0xb319('0x27')]=_[_0xb319('0x29')](_0x30de63[_0xb319('0x27')]);_0x131da4['filters']=_[_0xb319('0x2a')](_0x131da4[_0xb319('0x26')],_0x131da4[_0xb319('0x27')]);_0x2f7043['attributes']=_[_0xb319('0x2a')](_0x131da4[_0xb319('0x26')],qs[_0xb319('0x2c')](_0x30de63['query'][_0xb319('0x2c')]));_0x2f7043['attributes']=_0x2f7043[_0xb319('0x2b')][_0xb319('0x2d')]?_0x2f7043[_0xb319('0x2b')]:_0x131da4[_0xb319('0x26')];if(_0x30de63[_0xb319('0x27')][_0xb319('0x3a')]){_0x2f7043[_0xb319('0x3b')]=[{'all':!![]}];}_0x2f7043=_[_0xb319('0x37')]({},_0x2f7043,_0x30de63[_0xb319('0x41')]);return db[_0xb319('0x24')]['find'](_0x2f7043)['then'](handleEntityNotFound(_0x2aee16,null))[_0xb319('0x1e')](respondWithResult(_0x2aee16,null))[_0xb319('0x3e')](handleError(_0x2aee16,null));};exports[_0xb319('0x42')]=function(_0x3de872,_0x1de327){return db[_0xb319('0x24')][_0xb319('0x42')](_0x3de872['body'],{})[_0xb319('0x1e')](respondWithResult(_0x1de327,0xc9))['catch'](handleError(_0x1de327,null));};exports[_0xb319('0x1d')]=function(_0x13691a,_0x59f2e1){if(_0x13691a[_0xb319('0x43')]['id']){delete _0x13691a[_0xb319('0x43')]['id'];}return db[_0xb319('0x24')]['find']({'where':{'id':_0x13691a[_0xb319('0x40')]['id']}})[_0xb319('0x1e')](handleEntityNotFound(_0x59f2e1,null))['then'](saveUpdates(_0x13691a['body'],null))[_0xb319('0x1e')](respondWithResult(_0x59f2e1,null))[_0xb319('0x3e')](handleError(_0x59f2e1,null));};exports[_0xb319('0x44')]=function(_0x5d7d49,_0x5f1c07){return db[_0xb319('0x24')][_0xb319('0x45')]({'where':{'id':_0x5d7d49[_0xb319('0x40')]['id']}})['then'](handleEntityNotFound(_0x5f1c07,null))[_0xb319('0x1e')](removeEntity(_0x5f1c07,null))[_0xb319('0x3e')](handleError(_0x5f1c07,null));};exports[_0xb319('0x46')]=function(_0x19ba88,_0x1cd184){return db[_0xb319('0x24')][_0xb319('0x46')]()[_0xb319('0x1e')](respondWithResult(_0x1cd184,null))[_0xb319('0x3e')](handleError(_0x1cd184,null));};exports[_0xb319('0x47')]=function(_0x11b578,_0x3aab80,_0x2c5c7d){var _0x783c5c={'raw':!![],'where':{}};var _0x440cf2={};var _0x1e88cd={'count':0x0,'rows':[]};return db[_0xb319('0x24')][_0xb319('0x48')]({'where':{'id':_0x11b578[_0xb319('0x40')]['id']}})[_0xb319('0x1e')](handleEntityNotFound(_0x3aab80,null))[_0xb319('0x1e')](function(_0x530e25){if(_0x530e25){_0x440cf2['model']=_[_0xb319('0x29')](db[_0xb319('0x49')][_0xb319('0x25')]);_0x440cf2[_0xb319('0x27')]=_[_0xb319('0x29')](_0x11b578[_0xb319('0x27')]);_0x440cf2['filters']=_[_0xb319('0x2a')](_0x440cf2['model'],_0x440cf2[_0xb319('0x27')]);_0x783c5c[_0xb319('0x2b')]=_[_0xb319('0x2a')](_0x440cf2[_0xb319('0x26')],qs[_0xb319('0x2c')](_0x11b578['query']['fields']));_0x783c5c['attributes']=_0x783c5c[_0xb319('0x2b')][_0xb319('0x2d')]?_0x783c5c[_0xb319('0x2b')]:_0x440cf2[_0xb319('0x26')];if(!_0x11b578[_0xb319('0x27')][_0xb319('0x4a')](_0xb319('0x2e'))){_0x783c5c[_0xb319('0x18')]=qs[_0xb319('0x18')](_0x11b578['query'][_0xb319('0x18')]);_0x783c5c[_0xb319('0x17')]=qs[_0xb319('0x17')](_0x11b578[_0xb319('0x27')]['offset']);}_0x783c5c[_0xb319('0x2f')]=qs[_0xb319('0x30')](_0x11b578[_0xb319('0x27')][_0xb319('0x30')]);_0x783c5c[_0xb319('0x31')]=qs[_0xb319('0x33')](_[_0xb319('0x32')](_0x11b578[_0xb319('0x27')],_0x440cf2[_0xb319('0x33')]));_0x783c5c['where'][_0xb319('0x4b')]=_0x530e25['id'];if(_0x11b578['query']['filter']){_0x783c5c[_0xb319('0x31')]=_[_0xb319('0x37')](_0x783c5c[_0xb319('0x31')],{'$or':_[_0xb319('0x39')](_0x783c5c[_0xb319('0x2b')],function(_0x418e86){var _0x26b08d={};_0x26b08d[_0x418e86]={'$like':'%'+_0x11b578[_0xb319('0x27')][_0xb319('0x38')]+'%'};return _0x26b08d;})});}_0x783c5c=_['merge']({},_0x783c5c,_0x11b578[_0xb319('0x41')]);return db[_0xb319('0x49')][_0xb319('0x16')]({'where':_0x783c5c[_0xb319('0x31')]})[_0xb319('0x1e')](function(_0x17c6f9){_0x1e88cd[_0xb319('0x16')]=_0x17c6f9;if(_0x11b578[_0xb319('0x27')][_0xb319('0x3a')]){_0x783c5c['include']=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0xb319('0x3c')](_0x783c5c);})[_0xb319('0x1e')](function(_0x33b67b){_0x1e88cd['rows']=_0x33b67b;return _0x1e88cd;});}})['then'](respondWithFilteredResult(_0x3aab80,_0x783c5c))[_0xb319('0x3e')](handleError(_0x3aab80,null));};