5b7d7f053c121948ab23a41d53360c591d6c7cdc
[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 _0xebaa=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','index','JscriptySessionReport','rawAttributes','fieldName','type','key','model','map','intersection','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','keys','options','find','catch','create','body','destroy','describe','getQuestions','findOne','JscriptyQuestionReport','SessionId','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js'];(function(_0x1de31e,_0x4a621a){var _0x736a92=function(_0x2be291){while(--_0x2be291){_0x1de31e['push'](_0x1de31e['shift']());}};_0x736a92(++_0x4a621a);}(_0xebaa,0x1ef));var _0xaeba=function(_0x2c91e9,_0x2fb965){_0x2c91e9=_0x2c91e9-0x0;var _0x13f0ff=_0xebaa[_0x2c91e9];return _0x13f0ff;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xaeba('0x0'));var zipdir=require(_0xaeba('0x1'));var jsonpatch=require(_0xaeba('0x2'));var rp=require('request-promise');var moment=require(_0xaeba('0x3'));var BPromise=require(_0xaeba('0x4'));var Mustache=require(_0xaeba('0x5'));var util=require(_0xaeba('0x6'));var path=require(_0xaeba('0x7'));var sox=require(_0xaeba('0x8'));var csv=require(_0xaeba('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xaeba('0xa'));var _=require('lodash');var squel=require(_0xaeba('0xb'));var crypto=require(_0xaeba('0xc'));var jsforce=require(_0xaeba('0xd'));var deskjs=require(_0xaeba('0xe'));var toCsv=require(_0xaeba('0x9'));var querystring=require('querystring');var Papa=require(_0xaeba('0xf'));var Redis=require(_0xaeba('0x10'));var authService=require(_0xaeba('0x11'));var qs=require(_0xaeba('0x12'));var as=require(_0xaeba('0x13'));var hardwareService=require(_0xaeba('0x14'));var logger=require(_0xaeba('0x15'))(_0xaeba('0x16'));var utils=require(_0xaeba('0x17'));var config=require(_0xaeba('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xaeba('0x19'))['db'];function respondWithStatusCode(_0x3d4d6a,_0x3e40bd){_0x3e40bd=_0x3e40bd||0xcc;return function(_0x55fa0){if(_0x55fa0){return _0x3d4d6a['sendStatus'](_0x3e40bd);}return _0x3d4d6a[_0xaeba('0x1a')](_0x3e40bd)[_0xaeba('0x1b')]();};}function respondWithResult(_0x27c377,_0x303f75){_0x303f75=_0x303f75||0xc8;return function(_0x404871){if(_0x404871){return _0x27c377[_0xaeba('0x1a')](_0x303f75)[_0xaeba('0x1c')](_0x404871);}};}function respondWithFilteredResult(_0x34da4d,_0x36998f){return function(_0x11ef54){if(_0x11ef54){var _0x1445a1=typeof _0x36998f[_0xaeba('0x1d')]===_0xaeba('0x1e')&&typeof _0x36998f[_0xaeba('0x1f')]==='undefined';var _0x2eda84=_0x11ef54[_0xaeba('0x20')];var _0x5bb7c7=_0x1445a1?0x0:_0x36998f[_0xaeba('0x1d')];var _0x3c4f13=_0x1445a1?_0x11ef54[_0xaeba('0x20')]:_0x36998f[_0xaeba('0x1d')]+_0x36998f[_0xaeba('0x1f')];var _0x1d88f1;if(_0x3c4f13>=_0x2eda84){_0x3c4f13=_0x2eda84;_0x1d88f1=0xc8;}else{_0x1d88f1=0xce;}_0x34da4d['status'](_0x1d88f1);return _0x34da4d[_0xaeba('0x21')](_0xaeba('0x22'),_0x5bb7c7+'-'+_0x3c4f13+'/'+_0x2eda84)['json'](_0x11ef54);}return null;};}function patchUpdates(_0x22bd9a){return function(_0x2c4b31){try{jsonpatch[_0xaeba('0x23')](_0x2c4b31,_0x22bd9a,!![]);}catch(_0x46a825){return BPromise[_0xaeba('0x24')](_0x46a825);}return _0x2c4b31[_0xaeba('0x25')]();};}function saveUpdates(_0x110d8d,_0xbaf113){return function(_0x23a7b2){if(_0x23a7b2){return _0x23a7b2[_0xaeba('0x26')](_0x110d8d)[_0xaeba('0x27')](function(_0x58f802){return _0x58f802;});}return null;};}function removeEntity(_0x282249,_0x1b1c72){return function(_0x5ca017){if(_0x5ca017){return _0x5ca017['destroy']()[_0xaeba('0x27')](function(){_0x282249['status'](0xcc)[_0xaeba('0x1b')]();});}};}function handleEntityNotFound(_0x56169e,_0x3c591f){return function(_0x1bc07f){if(!_0x1bc07f){_0x56169e[_0xaeba('0x28')](0x194);}return _0x1bc07f;};}function handleError(_0x212a48,_0x2943b4){_0x2943b4=_0x2943b4||0x1f4;return function(_0x3543e7){logger[_0xaeba('0x29')](_0x3543e7[_0xaeba('0x2a')]);if(_0x3543e7[_0xaeba('0x2b')]){delete _0x3543e7[_0xaeba('0x2b')];}_0x212a48[_0xaeba('0x1a')](_0x2943b4)['send'](_0x3543e7);};}exports[_0xaeba('0x2c')]=function(_0x54aa96,_0x1d4bbf){var _0x1371a6={},_0x5b8cbe={},_0x35c7d5={'count':0x0,'rows':[]};var _0x298c51=_['map'](db[_0xaeba('0x2d')][_0xaeba('0x2e')],function(_0x4c6b3f){return{'name':_0x4c6b3f[_0xaeba('0x2f')],'type':_0x4c6b3f[_0xaeba('0x30')][_0xaeba('0x31')]};});_0x5b8cbe[_0xaeba('0x32')]=_[_0xaeba('0x33')](_0x298c51,_0xaeba('0x2b'));_0x5b8cbe['query']=_['keys'](_0x54aa96['query']);_0x5b8cbe['filters']=_[_0xaeba('0x34')](_0x5b8cbe[_0xaeba('0x32')],_0x5b8cbe[_0xaeba('0x35')]);_0x1371a6['attributes']=_[_0xaeba('0x34')](_0x5b8cbe[_0xaeba('0x32')],qs[_0xaeba('0x36')](_0x54aa96[_0xaeba('0x35')][_0xaeba('0x36')]));_0x1371a6['attributes']=_0x1371a6[_0xaeba('0x37')][_0xaeba('0x38')]?_0x1371a6[_0xaeba('0x37')]:_0x5b8cbe[_0xaeba('0x32')];if(!_0x54aa96[_0xaeba('0x35')][_0xaeba('0x39')](_0xaeba('0x3a'))){_0x1371a6[_0xaeba('0x1f')]=qs[_0xaeba('0x1f')](_0x54aa96[_0xaeba('0x35')][_0xaeba('0x1f')]);_0x1371a6[_0xaeba('0x1d')]=qs[_0xaeba('0x1d')](_0x54aa96[_0xaeba('0x35')][_0xaeba('0x1d')]);}_0x1371a6[_0xaeba('0x3b')]=qs[_0xaeba('0x3c')](_0x54aa96[_0xaeba('0x35')][_0xaeba('0x3c')]);_0x1371a6[_0xaeba('0x3d')]=qs[_0xaeba('0x3e')](_[_0xaeba('0x3f')](_0x54aa96[_0xaeba('0x35')],_0x5b8cbe[_0xaeba('0x3e')]),_0x298c51);if(_0x54aa96[_0xaeba('0x35')][_0xaeba('0x40')]){_0x1371a6[_0xaeba('0x3d')]=_[_0xaeba('0x41')](_0x1371a6[_0xaeba('0x3d')],{'$or':_[_0xaeba('0x33')](_0x298c51,function(_0x5bffdd){if(_0x5bffdd[_0xaeba('0x30')]!==_0xaeba('0x42')){var _0x1b06d4={};_0x1b06d4[_0x5bffdd['name']]={'$like':'%'+_0x54aa96['query'][_0xaeba('0x40')]+'%'};return _0x1b06d4;}})});}_0x1371a6=_[_0xaeba('0x41')]({},_0x1371a6,_0x54aa96['options']);var _0x2e1234={'where':_0x1371a6['where']};return db[_0xaeba('0x2d')]['count'](_0x2e1234)['then'](function(_0x20c361){_0x35c7d5[_0xaeba('0x20')]=_0x20c361;if(_0x54aa96['query'][_0xaeba('0x43')]){_0x1371a6[_0xaeba('0x44')]=[{'all':!![]}];}return db[_0xaeba('0x2d')][_0xaeba('0x45')](_0x1371a6);})[_0xaeba('0x27')](function(_0x543dbb){_0x35c7d5[_0xaeba('0x46')]=_0x543dbb;return _0x35c7d5;})['then'](respondWithFilteredResult(_0x1d4bbf,_0x1371a6))['catch'](handleError(_0x1d4bbf,null));};exports[_0xaeba('0x47')]=function(_0x4411f5,_0x281698){var _0x4092e6={'raw':!![],'where':{'id':_0x4411f5[_0xaeba('0x48')]['id']}},_0x31adbb={};_0x31adbb['model']=_[_0xaeba('0x49')](db[_0xaeba('0x2d')][_0xaeba('0x2e')]);_0x31adbb[_0xaeba('0x35')]=_[_0xaeba('0x49')](_0x4411f5[_0xaeba('0x35')]);_0x31adbb[_0xaeba('0x3e')]=_['intersection'](_0x31adbb[_0xaeba('0x32')],_0x31adbb[_0xaeba('0x35')]);_0x4092e6[_0xaeba('0x37')]=_['intersection'](_0x31adbb[_0xaeba('0x32')],qs[_0xaeba('0x36')](_0x4411f5[_0xaeba('0x35')][_0xaeba('0x36')]));_0x4092e6[_0xaeba('0x37')]=_0x4092e6[_0xaeba('0x37')][_0xaeba('0x38')]?_0x4092e6[_0xaeba('0x37')]:_0x31adbb['model'];if(_0x4411f5[_0xaeba('0x35')][_0xaeba('0x43')]){_0x4092e6[_0xaeba('0x44')]=[{'all':!![]}];}_0x4092e6=_[_0xaeba('0x41')]({},_0x4092e6,_0x4411f5[_0xaeba('0x4a')]);return db[_0xaeba('0x2d')][_0xaeba('0x4b')](_0x4092e6)['then'](handleEntityNotFound(_0x281698,null))[_0xaeba('0x27')](respondWithResult(_0x281698,null))[_0xaeba('0x4c')](handleError(_0x281698,null));};exports[_0xaeba('0x4d')]=function(_0x54ec2b,_0x35a9f1){return db[_0xaeba('0x2d')][_0xaeba('0x4d')](_0x54ec2b['body'],{})['then'](respondWithResult(_0x35a9f1,0xc9))['catch'](handleError(_0x35a9f1,null));};exports[_0xaeba('0x26')]=function(_0x346708,_0x136b48){if(_0x346708[_0xaeba('0x4e')]['id']){delete _0x346708[_0xaeba('0x4e')]['id'];}return db[_0xaeba('0x2d')][_0xaeba('0x4b')]({'where':{'id':_0x346708['params']['id']}})[_0xaeba('0x27')](handleEntityNotFound(_0x136b48,null))[_0xaeba('0x27')](saveUpdates(_0x346708['body'],null))[_0xaeba('0x27')](respondWithResult(_0x136b48,null))[_0xaeba('0x4c')](handleError(_0x136b48,null));};exports[_0xaeba('0x4f')]=function(_0x49c3d3,_0x3fdc16){return db[_0xaeba('0x2d')][_0xaeba('0x4b')]({'where':{'id':_0x49c3d3[_0xaeba('0x48')]['id']}})[_0xaeba('0x27')](handleEntityNotFound(_0x3fdc16,null))[_0xaeba('0x27')](removeEntity(_0x3fdc16,null))[_0xaeba('0x4c')](handleError(_0x3fdc16,null));};exports['describe']=function(_0x3f0e22,_0x6e8a15){return db[_0xaeba('0x2d')][_0xaeba('0x50')]()[_0xaeba('0x27')](respondWithResult(_0x6e8a15,null))[_0xaeba('0x4c')](handleError(_0x6e8a15,null));};exports[_0xaeba('0x51')]=function(_0x3de2fd,_0x58c25f,_0x4c6a3a){var _0x10884e={'raw':!![],'where':{}};var _0x4b62ce={};var _0x30fcc7={'count':0x0,'rows':[]};return db[_0xaeba('0x2d')][_0xaeba('0x52')]({'where':{'id':_0x3de2fd[_0xaeba('0x48')]['id']}})[_0xaeba('0x27')](handleEntityNotFound(_0x58c25f,null))[_0xaeba('0x27')](function(_0x563aed){if(_0x563aed){_0x4b62ce['model']=_[_0xaeba('0x49')](db[_0xaeba('0x53')][_0xaeba('0x2e')]);_0x4b62ce[_0xaeba('0x35')]=_[_0xaeba('0x49')](_0x3de2fd['query']);_0x4b62ce[_0xaeba('0x3e')]=_[_0xaeba('0x34')](_0x4b62ce[_0xaeba('0x32')],_0x4b62ce[_0xaeba('0x35')]);_0x10884e['attributes']=_['intersection'](_0x4b62ce[_0xaeba('0x32')],qs['fields'](_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x36')]));_0x10884e[_0xaeba('0x37')]=_0x10884e['attributes'][_0xaeba('0x38')]?_0x10884e[_0xaeba('0x37')]:_0x4b62ce['model'];if(!_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x39')](_0xaeba('0x3a'))){_0x10884e[_0xaeba('0x1f')]=qs[_0xaeba('0x1f')](_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x1f')]);_0x10884e[_0xaeba('0x1d')]=qs[_0xaeba('0x1d')](_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x1d')]);}_0x10884e['order']=qs[_0xaeba('0x3c')](_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x3c')]);_0x10884e[_0xaeba('0x3d')]=qs[_0xaeba('0x3e')](_[_0xaeba('0x3f')](_0x3de2fd['query'],_0x4b62ce[_0xaeba('0x3e')]));_0x10884e[_0xaeba('0x3d')][_0xaeba('0x54')]=_0x563aed['id'];if(_0x3de2fd[_0xaeba('0x35')][_0xaeba('0x40')]){_0x10884e[_0xaeba('0x3d')]=_[_0xaeba('0x41')](_0x10884e[_0xaeba('0x3d')],{'$or':_[_0xaeba('0x33')](_0x10884e[_0xaeba('0x37')],function(_0x41e942){var _0x5b3866={};_0x5b3866[_0x41e942]={'$like':'%'+_0x3de2fd['query']['filter']+'%'};return _0x5b3866;})});}_0x10884e=_[_0xaeba('0x41')]({},_0x10884e,_0x3de2fd[_0xaeba('0x4a')]);return db['JscriptyQuestionReport'][_0xaeba('0x20')]({'where':_0x10884e['where']})[_0xaeba('0x27')](function(_0x5a4834){_0x30fcc7['count']=_0x5a4834;if(_0x3de2fd['query'][_0xaeba('0x43')]){_0x10884e[_0xaeba('0x44')]=[{'all':!![]}];}return db['JscriptyQuestionReport']['findAll'](_0x10884e);})[_0xaeba('0x27')](function(_0x4831fc){_0x30fcc7[_0xaeba('0x46')]=_0x4831fc;return _0x30fcc7;});}})[_0xaeba('0x27')](respondWithFilteredResult(_0x58c25f,_0x10884e))[_0xaeba('0x4c')](handleError(_0x58c25f,null));};