Built motion from commit 5293bb2a.|2.6.30
[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 _0xa660=['ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','rawAttributes','fieldName','type','key','map','keys','query','filters','intersection','model','attributes','fields','order','sort','where','pick','VIRTUAL','filter','merge','JscriptySessionReport','includeAll','include','findAll','rows','catch','params','length','options','find','create','body','describe','findOne','hasOwnProperty','nolimit','JscriptyQuestionReport','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse'];(function(_0x241246,_0x2937ba){var _0x4d7043=function(_0x393fa6){while(--_0x393fa6){_0x241246['push'](_0x241246['shift']());}};_0x4d7043(++_0x2937ba);}(_0xa660,0x1da));var _0x0a66=function(_0x861c20,_0x9fe326){_0x861c20=_0x861c20-0x0;var _0x5dd24c=_0xa660[_0x861c20];return _0x5dd24c;};'use strict';var emlformat=require(_0x0a66('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0a66('0x1'));var jsonpatch=require(_0x0a66('0x2'));var rp=require(_0x0a66('0x3'));var moment=require(_0x0a66('0x4'));var BPromise=require(_0x0a66('0x5'));var Mustache=require(_0x0a66('0x6'));var util=require(_0x0a66('0x7'));var path=require('path');var sox=require(_0x0a66('0x8'));var csv=require(_0x0a66('0x9'));var ejs=require(_0x0a66('0xa'));var fs=require('fs');var fs_extra=require(_0x0a66('0xb'));var _=require(_0x0a66('0xc'));var squel=require('squel');var crypto=require(_0x0a66('0xd'));var jsforce=require(_0x0a66('0xe'));var deskjs=require(_0x0a66('0xf'));var toCsv=require(_0x0a66('0x9'));var querystring=require(_0x0a66('0x10'));var Papa=require(_0x0a66('0x11'));var Redis=require(_0x0a66('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x0a66('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0a66('0x14'));var logger=require(_0x0a66('0x15'))(_0x0a66('0x16'));var utils=require(_0x0a66('0x17'));var config=require(_0x0a66('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x45b216,_0x3f1e1a){_0x3f1e1a=_0x3f1e1a||0xcc;return function(_0x3afff2){if(_0x3afff2){return _0x45b216[_0x0a66('0x19')](_0x3f1e1a);}return _0x45b216[_0x0a66('0x1a')](_0x3f1e1a)['end']();};}function respondWithResult(_0xec2bc,_0x58f5d4){_0x58f5d4=_0x58f5d4||0xc8;return function(_0x35d3ba){if(_0x35d3ba){return _0xec2bc['status'](_0x58f5d4)['json'](_0x35d3ba);}};}function respondWithFilteredResult(_0x301107,_0x4b2a80){return function(_0x31ebe0){if(_0x31ebe0){var _0x47e8d4=typeof _0x4b2a80[_0x0a66('0x1b')]===_0x0a66('0x1c')&&typeof _0x4b2a80[_0x0a66('0x1d')]===_0x0a66('0x1c');var _0x108030=_0x31ebe0[_0x0a66('0x1e')];var _0x1e2cf1=_0x47e8d4?0x0:_0x4b2a80[_0x0a66('0x1b')];var _0x242334=_0x47e8d4?_0x31ebe0[_0x0a66('0x1e')]:_0x4b2a80[_0x0a66('0x1b')]+_0x4b2a80['limit'];var _0x1f227d;if(_0x242334>=_0x108030){_0x242334=_0x108030;_0x1f227d=0xc8;}else{_0x1f227d=0xce;}_0x301107[_0x0a66('0x1a')](_0x1f227d);return _0x301107[_0x0a66('0x1f')](_0x0a66('0x20'),_0x1e2cf1+'-'+_0x242334+'/'+_0x108030)[_0x0a66('0x21')](_0x31ebe0);}return null;};}function patchUpdates(_0x40212d){return function(_0xce4e0d){try{jsonpatch[_0x0a66('0x22')](_0xce4e0d,_0x40212d,!![]);}catch(_0x58cc6d){return BPromise[_0x0a66('0x23')](_0x58cc6d);}return _0xce4e0d[_0x0a66('0x24')]();};}function saveUpdates(_0x22262b,_0xb81b68){return function(_0x24eb2e){if(_0x24eb2e){return _0x24eb2e[_0x0a66('0x25')](_0x22262b)[_0x0a66('0x26')](function(_0x1a4313){return _0x1a4313;});}return null;};}function removeEntity(_0x1bad46,_0x475ed3){return function(_0x31b54f){if(_0x31b54f){return _0x31b54f[_0x0a66('0x27')]()[_0x0a66('0x26')](function(){_0x1bad46[_0x0a66('0x1a')](0xcc)[_0x0a66('0x28')]();});}};}function handleEntityNotFound(_0x75e294,_0x10598f){return function(_0x2acb8e){if(!_0x2acb8e){_0x75e294['sendStatus'](0x194);}return _0x2acb8e;};}function handleError(_0x522b9c,_0xc8a3b8){_0xc8a3b8=_0xc8a3b8||0x1f4;return function(_0x4bc7ee){logger[_0x0a66('0x29')](_0x4bc7ee[_0x0a66('0x2a')]);if(_0x4bc7ee[_0x0a66('0x2b')]){delete _0x4bc7ee[_0x0a66('0x2b')];}_0x522b9c[_0x0a66('0x1a')](_0xc8a3b8)[_0x0a66('0x2c')](_0x4bc7ee);};}exports[_0x0a66('0x2d')]=function(_0x5234aa,_0x1f93bc){var _0x3392c9={},_0xc4a57f={},_0x1e3d69={'count':0x0,'rows':[]};var _0x387c62=_['map'](db['JscriptySessionReport'][_0x0a66('0x2e')],function(_0x2bcad4){return{'name':_0x2bcad4[_0x0a66('0x2f')],'type':_0x2bcad4[_0x0a66('0x30')][_0x0a66('0x31')]};});_0xc4a57f['model']=_[_0x0a66('0x32')](_0x387c62,_0x0a66('0x2b'));_0xc4a57f['query']=_[_0x0a66('0x33')](_0x5234aa[_0x0a66('0x34')]);_0xc4a57f[_0x0a66('0x35')]=_[_0x0a66('0x36')](_0xc4a57f[_0x0a66('0x37')],_0xc4a57f[_0x0a66('0x34')]);_0x3392c9[_0x0a66('0x38')]=_[_0x0a66('0x36')](_0xc4a57f[_0x0a66('0x37')],qs[_0x0a66('0x39')](_0x5234aa[_0x0a66('0x34')][_0x0a66('0x39')]));_0x3392c9[_0x0a66('0x38')]=_0x3392c9[_0x0a66('0x38')]['length']?_0x3392c9[_0x0a66('0x38')]:_0xc4a57f[_0x0a66('0x37')];if(!_0x5234aa[_0x0a66('0x34')]['hasOwnProperty']('nolimit')){_0x3392c9[_0x0a66('0x1d')]=qs['limit'](_0x5234aa[_0x0a66('0x34')][_0x0a66('0x1d')]);_0x3392c9['offset']=qs[_0x0a66('0x1b')](_0x5234aa[_0x0a66('0x34')][_0x0a66('0x1b')]);}_0x3392c9[_0x0a66('0x3a')]=qs[_0x0a66('0x3b')](_0x5234aa['query'][_0x0a66('0x3b')]);_0x3392c9[_0x0a66('0x3c')]=qs[_0x0a66('0x35')](_[_0x0a66('0x3d')](_0x5234aa[_0x0a66('0x34')],_0xc4a57f[_0x0a66('0x35')]),_0x387c62);if(_0x5234aa[_0x0a66('0x34')]['filter']){_0x3392c9[_0x0a66('0x3c')]=_['merge'](_0x3392c9[_0x0a66('0x3c')],{'$or':_[_0x0a66('0x32')](_0x387c62,function(_0x39fe25){if(_0x39fe25[_0x0a66('0x30')]!==_0x0a66('0x3e')){var _0x5b4162={};_0x5b4162[_0x39fe25[_0x0a66('0x2b')]]={'$like':'%'+_0x5234aa[_0x0a66('0x34')][_0x0a66('0x3f')]+'%'};return _0x5b4162;}})});}_0x3392c9=_[_0x0a66('0x40')]({},_0x3392c9,_0x5234aa['options']);var _0x3e6a5d={'where':_0x3392c9['where']};return db[_0x0a66('0x41')]['count'](_0x3e6a5d)[_0x0a66('0x26')](function(_0x4731dc){_0x1e3d69[_0x0a66('0x1e')]=_0x4731dc;if(_0x5234aa['query'][_0x0a66('0x42')]){_0x3392c9[_0x0a66('0x43')]=[{'all':!![]}];}return db[_0x0a66('0x41')][_0x0a66('0x44')](_0x3392c9);})['then'](function(_0x4ffd7b){_0x1e3d69[_0x0a66('0x45')]=_0x4ffd7b;return _0x1e3d69;})[_0x0a66('0x26')](respondWithFilteredResult(_0x1f93bc,_0x3392c9))[_0x0a66('0x46')](handleError(_0x1f93bc,null));};exports['show']=function(_0x35c40e,_0x326620){var _0x1b194b={'raw':!![],'where':{'id':_0x35c40e[_0x0a66('0x47')]['id']}},_0x57d9a8={};_0x57d9a8[_0x0a66('0x37')]=_[_0x0a66('0x33')](db['JscriptySessionReport'][_0x0a66('0x2e')]);_0x57d9a8[_0x0a66('0x34')]=_['keys'](_0x35c40e['query']);_0x57d9a8[_0x0a66('0x35')]=_[_0x0a66('0x36')](_0x57d9a8[_0x0a66('0x37')],_0x57d9a8['query']);_0x1b194b[_0x0a66('0x38')]=_[_0x0a66('0x36')](_0x57d9a8[_0x0a66('0x37')],qs[_0x0a66('0x39')](_0x35c40e[_0x0a66('0x34')]['fields']));_0x1b194b[_0x0a66('0x38')]=_0x1b194b['attributes'][_0x0a66('0x48')]?_0x1b194b[_0x0a66('0x38')]:_0x57d9a8[_0x0a66('0x37')];if(_0x35c40e[_0x0a66('0x34')][_0x0a66('0x42')]){_0x1b194b[_0x0a66('0x43')]=[{'all':!![]}];}_0x1b194b=_[_0x0a66('0x40')]({},_0x1b194b,_0x35c40e[_0x0a66('0x49')]);return db[_0x0a66('0x41')][_0x0a66('0x4a')](_0x1b194b)[_0x0a66('0x26')](handleEntityNotFound(_0x326620,null))[_0x0a66('0x26')](respondWithResult(_0x326620,null))[_0x0a66('0x46')](handleError(_0x326620,null));};exports[_0x0a66('0x4b')]=function(_0x4a5e3f,_0x5467e5){return db[_0x0a66('0x41')]['create'](_0x4a5e3f[_0x0a66('0x4c')],{})['then'](respondWithResult(_0x5467e5,0xc9))['catch'](handleError(_0x5467e5,null));};exports[_0x0a66('0x25')]=function(_0x4144e4,_0x604e2c){if(_0x4144e4[_0x0a66('0x4c')]['id']){delete _0x4144e4[_0x0a66('0x4c')]['id'];}return db[_0x0a66('0x41')][_0x0a66('0x4a')]({'where':{'id':_0x4144e4['params']['id']}})[_0x0a66('0x26')](handleEntityNotFound(_0x604e2c,null))[_0x0a66('0x26')](saveUpdates(_0x4144e4[_0x0a66('0x4c')],null))[_0x0a66('0x26')](respondWithResult(_0x604e2c,null))['catch'](handleError(_0x604e2c,null));};exports[_0x0a66('0x27')]=function(_0x2147ce,_0x45af58){return db[_0x0a66('0x41')][_0x0a66('0x4a')]({'where':{'id':_0x2147ce['params']['id']}})[_0x0a66('0x26')](handleEntityNotFound(_0x45af58,null))[_0x0a66('0x26')](removeEntity(_0x45af58,null))['catch'](handleError(_0x45af58,null));};exports[_0x0a66('0x4d')]=function(_0x3110c0,_0x1ffd29){return db['JscriptySessionReport'][_0x0a66('0x4d')]()[_0x0a66('0x26')](respondWithResult(_0x1ffd29,null))[_0x0a66('0x46')](handleError(_0x1ffd29,null));};exports['getQuestions']=function(_0x2c99f6,_0x4e7e50,_0x319ee8){var _0x3d48a2={'raw':!![],'where':{}};var _0x29e751={};var _0x4de80a={'count':0x0,'rows':[]};return db[_0x0a66('0x41')][_0x0a66('0x4e')]({'where':{'id':_0x2c99f6[_0x0a66('0x47')]['id']}})['then'](handleEntityNotFound(_0x4e7e50,null))['then'](function(_0x2556cc){if(_0x2556cc){_0x29e751[_0x0a66('0x37')]=_['keys'](db['JscriptyQuestionReport'][_0x0a66('0x2e')]);_0x29e751[_0x0a66('0x34')]=_[_0x0a66('0x33')](_0x2c99f6[_0x0a66('0x34')]);_0x29e751[_0x0a66('0x35')]=_[_0x0a66('0x36')](_0x29e751[_0x0a66('0x37')],_0x29e751[_0x0a66('0x34')]);_0x3d48a2[_0x0a66('0x38')]=_['intersection'](_0x29e751[_0x0a66('0x37')],qs[_0x0a66('0x39')](_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x39')]));_0x3d48a2[_0x0a66('0x38')]=_0x3d48a2['attributes'][_0x0a66('0x48')]?_0x3d48a2[_0x0a66('0x38')]:_0x29e751[_0x0a66('0x37')];if(!_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x4f')](_0x0a66('0x50'))){_0x3d48a2[_0x0a66('0x1d')]=qs['limit'](_0x2c99f6[_0x0a66('0x34')]['limit']);_0x3d48a2[_0x0a66('0x1b')]=qs[_0x0a66('0x1b')](_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x1b')]);}_0x3d48a2[_0x0a66('0x3a')]=qs['sort'](_0x2c99f6['query'][_0x0a66('0x3b')]);_0x3d48a2[_0x0a66('0x3c')]=qs['filters'](_[_0x0a66('0x3d')](_0x2c99f6['query'],_0x29e751[_0x0a66('0x35')]));_0x3d48a2[_0x0a66('0x3c')]['SessionId']=_0x2556cc['id'];if(_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x3f')]){_0x3d48a2[_0x0a66('0x3c')]=_[_0x0a66('0x40')](_0x3d48a2[_0x0a66('0x3c')],{'$or':_[_0x0a66('0x32')](_0x3d48a2[_0x0a66('0x38')],function(_0x2b8398){var _0x23e1aa={};_0x23e1aa[_0x2b8398]={'$like':'%'+_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x3f')]+'%'};return _0x23e1aa;})});}_0x3d48a2=_[_0x0a66('0x40')]({},_0x3d48a2,_0x2c99f6[_0x0a66('0x49')]);return db['JscriptyQuestionReport']['count']({'where':_0x3d48a2[_0x0a66('0x3c')]})[_0x0a66('0x26')](function(_0x4ba922){_0x4de80a[_0x0a66('0x1e')]=_0x4ba922;if(_0x2c99f6[_0x0a66('0x34')][_0x0a66('0x42')]){_0x3d48a2[_0x0a66('0x43')]=[{'all':!![]}];}return db[_0x0a66('0x51')]['findAll'](_0x3d48a2);})[_0x0a66('0x26')](function(_0x1ae518){_0x4de80a[_0x0a66('0x45')]=_0x1ae518;return _0x4de80a;});}})['then'](respondWithFilteredResult(_0x4e7e50,_0x3d48a2))[_0x0a66('0x46')](handleError(_0x4e7e50,null));};