Built motion from commit f0a64034.|2.6.11
[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 _0x7a1b=['error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','length','catch','create','body','update','find','params','findOne','hasOwnProperty','SessionId','JscriptyQuestionReport','eml-format','zip-dir','request-promise','moment','bluebird','mustache','path','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','reject','save','then','destroy'];(function(_0x5416fd,_0x5e262a){var _0x284f84=function(_0x451f11){while(--_0x451f11){_0x5416fd['push'](_0x5416fd['shift']());}};_0x284f84(++_0x5e262a);}(_0x7a1b,0x7b));var _0xb7a1=function(_0x388c05,_0x27a0ec){_0x388c05=_0x388c05-0x0;var _0x16efc8=_0x7a1b[_0x388c05];return _0x16efc8;};'use strict';var emlformat=require(_0xb7a1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xb7a1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb7a1('0x2'));var moment=require(_0xb7a1('0x3'));var BPromise=require(_0xb7a1('0x4'));var Mustache=require(_0xb7a1('0x5'));var util=require('util');var path=require(_0xb7a1('0x6'));var sox=require(_0xb7a1('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb7a1('0x8'));var _=require(_0xb7a1('0x9'));var squel=require(_0xb7a1('0xa'));var crypto=require(_0xb7a1('0xb'));var jsforce=require(_0xb7a1('0xc'));var deskjs=require(_0xb7a1('0xd'));var toCsv=require(_0xb7a1('0xe'));var querystring=require('querystring');var Papa=require(_0xb7a1('0xf'));var Redis=require('ioredis');var authService=require(_0xb7a1('0x10'));var qs=require(_0xb7a1('0x11'));var as=require(_0xb7a1('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xb7a1('0x13'));var utils=require(_0xb7a1('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xb7a1('0x15'));var db=require(_0xb7a1('0x16'))['db'];function respondWithStatusCode(_0x44f72c,_0x24dd3c){_0x24dd3c=_0x24dd3c||0xcc;return function(_0x3bf9ec){if(_0x3bf9ec){return _0x44f72c[_0xb7a1('0x17')](_0x24dd3c);}return _0x44f72c['status'](_0x24dd3c)[_0xb7a1('0x18')]();};}function respondWithResult(_0x123637,_0x452b63){_0x452b63=_0x452b63||0xc8;return function(_0x4f9da5){if(_0x4f9da5){return _0x123637[_0xb7a1('0x19')](_0x452b63)[_0xb7a1('0x1a')](_0x4f9da5);}};}function respondWithFilteredResult(_0x209de7,_0x51b078){return function(_0x225c4b){if(_0x225c4b){var _0x144d85=typeof _0x51b078[_0xb7a1('0x1b')]===_0xb7a1('0x1c')&&typeof _0x51b078[_0xb7a1('0x1d')]===_0xb7a1('0x1c');var _0xfd62e3=_0x225c4b[_0xb7a1('0x1e')];var _0x1167c0=_0x144d85?0x0:_0x51b078[_0xb7a1('0x1b')];var _0x223d34=_0x144d85?_0x225c4b['count']:_0x51b078['offset']+_0x51b078[_0xb7a1('0x1d')];var _0xe75293;if(_0x223d34>=_0xfd62e3){_0x223d34=_0xfd62e3;_0xe75293=0xc8;}else{_0xe75293=0xce;}_0x209de7['status'](_0xe75293);return _0x209de7[_0xb7a1('0x1f')]('Content-Range',_0x1167c0+'-'+_0x223d34+'/'+_0xfd62e3)[_0xb7a1('0x1a')](_0x225c4b);}return null;};}function patchUpdates(_0x219a57){return function(_0x38d7ee){try{jsonpatch[_0xb7a1('0x20')](_0x38d7ee,_0x219a57,!![]);}catch(_0x5bb2ab){return BPromise[_0xb7a1('0x21')](_0x5bb2ab);}return _0x38d7ee[_0xb7a1('0x22')]();};}function saveUpdates(_0x14f5c5,_0x5ba56e){return function(_0x29abb1){if(_0x29abb1){return _0x29abb1['update'](_0x14f5c5)[_0xb7a1('0x23')](function(_0x246043){return _0x246043;});}return null;};}function removeEntity(_0x1f1c5b,_0x4b9454){return function(_0x8446cf){if(_0x8446cf){return _0x8446cf[_0xb7a1('0x24')]()['then'](function(){_0x1f1c5b['status'](0xcc)[_0xb7a1('0x18')]();});}};}function handleEntityNotFound(_0x2fe3e5,_0x184239){return function(_0x5bfa00){if(!_0x5bfa00){_0x2fe3e5[_0xb7a1('0x17')](0x194);}return _0x5bfa00;};}function handleError(_0x27744f,_0x4ab4d8){_0x4ab4d8=_0x4ab4d8||0x1f4;return function(_0xc558d5){logger[_0xb7a1('0x25')](_0xc558d5[_0xb7a1('0x26')]);if(_0xc558d5[_0xb7a1('0x27')]){delete _0xc558d5[_0xb7a1('0x27')];}_0x27744f[_0xb7a1('0x19')](_0x4ab4d8)[_0xb7a1('0x28')](_0xc558d5);};}exports[_0xb7a1('0x29')]=function(_0x560764,_0x3ad454){var _0x1a75f6={},_0x5c9443={},_0x3e4568={'count':0x0,'rows':[]};var _0x3df137=_[_0xb7a1('0x2a')](db[_0xb7a1('0x2b')][_0xb7a1('0x2c')],function(_0x3dcb65){return{'name':_0x3dcb65[_0xb7a1('0x2d')],'type':_0x3dcb65[_0xb7a1('0x2e')][_0xb7a1('0x2f')]};});_0x5c9443[_0xb7a1('0x30')]=_[_0xb7a1('0x2a')](_0x3df137,_0xb7a1('0x27'));_0x5c9443[_0xb7a1('0x31')]=_[_0xb7a1('0x32')](_0x560764[_0xb7a1('0x31')]);_0x5c9443[_0xb7a1('0x33')]=_[_0xb7a1('0x34')](_0x5c9443[_0xb7a1('0x30')],_0x5c9443[_0xb7a1('0x31')]);_0x1a75f6[_0xb7a1('0x35')]=_[_0xb7a1('0x34')](_0x5c9443[_0xb7a1('0x30')],qs[_0xb7a1('0x36')](_0x560764[_0xb7a1('0x31')][_0xb7a1('0x36')]));_0x1a75f6[_0xb7a1('0x35')]=_0x1a75f6['attributes']['length']?_0x1a75f6[_0xb7a1('0x35')]:_0x5c9443[_0xb7a1('0x30')];if(!_0x560764[_0xb7a1('0x31')]['hasOwnProperty'](_0xb7a1('0x37'))){_0x1a75f6[_0xb7a1('0x1d')]=qs[_0xb7a1('0x1d')](_0x560764['query']['limit']);_0x1a75f6['offset']=qs[_0xb7a1('0x1b')](_0x560764['query'][_0xb7a1('0x1b')]);}_0x1a75f6[_0xb7a1('0x38')]=qs[_0xb7a1('0x39')](_0x560764['query'][_0xb7a1('0x39')]);_0x1a75f6[_0xb7a1('0x3a')]=qs[_0xb7a1('0x33')](_[_0xb7a1('0x3b')](_0x560764[_0xb7a1('0x31')],_0x5c9443[_0xb7a1('0x33')]),_0x3df137);if(_0x560764[_0xb7a1('0x31')][_0xb7a1('0x3c')]){_0x1a75f6[_0xb7a1('0x3a')]=_[_0xb7a1('0x3d')](_0x1a75f6[_0xb7a1('0x3a')],{'$or':_[_0xb7a1('0x2a')](_0x3df137,function(_0x580856){if(_0x580856[_0xb7a1('0x2e')]!==_0xb7a1('0x3e')){var _0x38bc34={};_0x38bc34[_0x580856[_0xb7a1('0x27')]]={'$like':'%'+_0x560764[_0xb7a1('0x31')][_0xb7a1('0x3c')]+'%'};return _0x38bc34;}})});}_0x1a75f6=_['merge']({},_0x1a75f6,_0x560764[_0xb7a1('0x3f')]);var _0xc96a4e={'where':_0x1a75f6[_0xb7a1('0x3a')]};return db[_0xb7a1('0x2b')]['count'](_0xc96a4e)[_0xb7a1('0x23')](function(_0x5ed181){_0x3e4568['count']=_0x5ed181;if(_0x560764[_0xb7a1('0x31')][_0xb7a1('0x40')]){_0x1a75f6[_0xb7a1('0x41')]=[{'all':!![]}];}return db[_0xb7a1('0x2b')][_0xb7a1('0x42')](_0x1a75f6);})[_0xb7a1('0x23')](function(_0x58d2df){_0x3e4568[_0xb7a1('0x43')]=_0x58d2df;return _0x3e4568;})['then'](respondWithFilteredResult(_0x3ad454,_0x1a75f6))['catch'](handleError(_0x3ad454,null));};exports[_0xb7a1('0x44')]=function(_0x4864a1,_0x523e0b){var _0x3000be={'raw':!![],'where':{'id':_0x4864a1['params']['id']}},_0x51f1bc={};_0x51f1bc[_0xb7a1('0x30')]=_[_0xb7a1('0x32')](db[_0xb7a1('0x2b')]['rawAttributes']);_0x51f1bc[_0xb7a1('0x31')]=_[_0xb7a1('0x32')](_0x4864a1[_0xb7a1('0x31')]);_0x51f1bc['filters']=_['intersection'](_0x51f1bc[_0xb7a1('0x30')],_0x51f1bc[_0xb7a1('0x31')]);_0x3000be[_0xb7a1('0x35')]=_['intersection'](_0x51f1bc[_0xb7a1('0x30')],qs[_0xb7a1('0x36')](_0x4864a1[_0xb7a1('0x31')][_0xb7a1('0x36')]));_0x3000be[_0xb7a1('0x35')]=_0x3000be[_0xb7a1('0x35')][_0xb7a1('0x45')]?_0x3000be[_0xb7a1('0x35')]:_0x51f1bc[_0xb7a1('0x30')];if(_0x4864a1[_0xb7a1('0x31')][_0xb7a1('0x40')]){_0x3000be[_0xb7a1('0x41')]=[{'all':!![]}];}_0x3000be=_[_0xb7a1('0x3d')]({},_0x3000be,_0x4864a1[_0xb7a1('0x3f')]);return db[_0xb7a1('0x2b')]['find'](_0x3000be)[_0xb7a1('0x23')](handleEntityNotFound(_0x523e0b,null))[_0xb7a1('0x23')](respondWithResult(_0x523e0b,null))[_0xb7a1('0x46')](handleError(_0x523e0b,null));};exports[_0xb7a1('0x47')]=function(_0x2dd6eb,_0x281468){return db[_0xb7a1('0x2b')][_0xb7a1('0x47')](_0x2dd6eb[_0xb7a1('0x48')],{})[_0xb7a1('0x23')](respondWithResult(_0x281468,0xc9))['catch'](handleError(_0x281468,null));};exports[_0xb7a1('0x49')]=function(_0x549217,_0xdff59c){if(_0x549217[_0xb7a1('0x48')]['id']){delete _0x549217[_0xb7a1('0x48')]['id'];}return db[_0xb7a1('0x2b')][_0xb7a1('0x4a')]({'where':{'id':_0x549217['params']['id']}})[_0xb7a1('0x23')](handleEntityNotFound(_0xdff59c,null))[_0xb7a1('0x23')](saveUpdates(_0x549217[_0xb7a1('0x48')],null))[_0xb7a1('0x23')](respondWithResult(_0xdff59c,null))['catch'](handleError(_0xdff59c,null));};exports[_0xb7a1('0x24')]=function(_0x40fa9c,_0x26438d){return db[_0xb7a1('0x2b')][_0xb7a1('0x4a')]({'where':{'id':_0x40fa9c[_0xb7a1('0x4b')]['id']}})['then'](handleEntityNotFound(_0x26438d,null))[_0xb7a1('0x23')](removeEntity(_0x26438d,null))[_0xb7a1('0x46')](handleError(_0x26438d,null));};exports['describe']=function(_0x54c7bf,_0xb5508e){return db[_0xb7a1('0x2b')]['describe']()['then'](respondWithResult(_0xb5508e,null))[_0xb7a1('0x46')](handleError(_0xb5508e,null));};exports['getQuestions']=function(_0x5115d5,_0x355f47,_0x1fd55e){var _0x577f59={'raw':!![],'where':{}};var _0x3b90fa={};var _0x125da2={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0xb7a1('0x4c')]({'where':{'id':_0x5115d5['params']['id']}})[_0xb7a1('0x23')](handleEntityNotFound(_0x355f47,null))[_0xb7a1('0x23')](function(_0x26af2e){if(_0x26af2e){_0x3b90fa[_0xb7a1('0x30')]=_[_0xb7a1('0x32')](db['JscriptyQuestionReport']['rawAttributes']);_0x3b90fa['query']=_[_0xb7a1('0x32')](_0x5115d5[_0xb7a1('0x31')]);_0x3b90fa[_0xb7a1('0x33')]=_[_0xb7a1('0x34')](_0x3b90fa[_0xb7a1('0x30')],_0x3b90fa['query']);_0x577f59[_0xb7a1('0x35')]=_['intersection'](_0x3b90fa[_0xb7a1('0x30')],qs[_0xb7a1('0x36')](_0x5115d5[_0xb7a1('0x31')][_0xb7a1('0x36')]));_0x577f59[_0xb7a1('0x35')]=_0x577f59['attributes'][_0xb7a1('0x45')]?_0x577f59[_0xb7a1('0x35')]:_0x3b90fa['model'];if(!_0x5115d5[_0xb7a1('0x31')][_0xb7a1('0x4d')](_0xb7a1('0x37'))){_0x577f59[_0xb7a1('0x1d')]=qs[_0xb7a1('0x1d')](_0x5115d5['query'][_0xb7a1('0x1d')]);_0x577f59[_0xb7a1('0x1b')]=qs[_0xb7a1('0x1b')](_0x5115d5['query']['offset']);}_0x577f59['order']=qs[_0xb7a1('0x39')](_0x5115d5[_0xb7a1('0x31')][_0xb7a1('0x39')]);_0x577f59[_0xb7a1('0x3a')]=qs[_0xb7a1('0x33')](_['pick'](_0x5115d5[_0xb7a1('0x31')],_0x3b90fa['filters']));_0x577f59[_0xb7a1('0x3a')][_0xb7a1('0x4e')]=_0x26af2e['id'];if(_0x5115d5['query']['filter']){_0x577f59[_0xb7a1('0x3a')]=_[_0xb7a1('0x3d')](_0x577f59[_0xb7a1('0x3a')],{'$or':_[_0xb7a1('0x2a')](_0x577f59[_0xb7a1('0x35')],function(_0x36bebb){var _0x5d04fc={};_0x5d04fc[_0x36bebb]={'$like':'%'+_0x5115d5[_0xb7a1('0x31')][_0xb7a1('0x3c')]+'%'};return _0x5d04fc;})});}_0x577f59=_[_0xb7a1('0x3d')]({},_0x577f59,_0x5115d5[_0xb7a1('0x3f')]);return db[_0xb7a1('0x4f')][_0xb7a1('0x1e')]({'where':_0x577f59[_0xb7a1('0x3a')]})[_0xb7a1('0x23')](function(_0x200b15){_0x125da2[_0xb7a1('0x1e')]=_0x200b15;if(_0x5115d5[_0xb7a1('0x31')][_0xb7a1('0x40')]){_0x577f59['include']=[{'all':!![]}];}return db[_0xb7a1('0x4f')][_0xb7a1('0x42')](_0x577f59);})['then'](function(_0x440c10){_0x125da2[_0xb7a1('0x43')]=_0x440c10;return _0x125da2;});}})[_0xb7a1('0x23')](respondWithFilteredResult(_0x355f47,_0x577f59))[_0xb7a1('0x46')](handleError(_0x355f47,null));};