Built motion from commit f7863d46.|2.5.41
[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 _0x69a2=['fields','length','nolimit','order','sort','where','filters','pick','filter','merge','options','includeAll','include','rows','catch','show','keys','find','update','body','params','describe','getQuestions','findOne','JscriptyQuestionReport','hasOwnProperty','SessionId','findAll','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','save','then','error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','fieldName','type','query','intersection','model','attributes'];(function(_0x26a818,_0x40708a){var _0x5d8ca0=function(_0x3cc7ed){while(--_0x3cc7ed){_0x26a818['push'](_0x26a818['shift']());}};_0x5d8ca0(++_0x40708a);}(_0x69a2,0x164));var _0x269a=function(_0xf78922,_0x211eca){_0xf78922=_0xf78922-0x0;var _0x18312e=_0x69a2[_0xf78922];return _0x18312e;};'use strict';var emlformat=require(_0x269a('0x0'));var rimraf=require(_0x269a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x269a('0x2'));var rp=require(_0x269a('0x3'));var moment=require(_0x269a('0x4'));var BPromise=require(_0x269a('0x5'));var Mustache=require(_0x269a('0x6'));var util=require(_0x269a('0x7'));var path=require(_0x269a('0x8'));var sox=require(_0x269a('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x269a('0xa'));var _=require(_0x269a('0xb'));var squel=require(_0x269a('0xc'));var crypto=require(_0x269a('0xd'));var jsforce=require(_0x269a('0xe'));var deskjs=require(_0x269a('0xf'));var toCsv=require(_0x269a('0x10'));var querystring=require('querystring');var Papa=require(_0x269a('0x11'));var Redis=require('ioredis');var authService=require(_0x269a('0x12'));var qs=require(_0x269a('0x13'));var as=require(_0x269a('0x14'));var hardwareService=require(_0x269a('0x15'));var logger=require('../../config/logger')(_0x269a('0x16'));var utils=require(_0x269a('0x17'));var config=require(_0x269a('0x18'));var licenseUtil=require(_0x269a('0x19'));var db=require(_0x269a('0x1a'))['db'];function respondWithStatusCode(_0x2bb8ae,_0x4b79e8){_0x4b79e8=_0x4b79e8||0xcc;return function(_0x529c6a){if(_0x529c6a){return _0x2bb8ae[_0x269a('0x1b')](_0x4b79e8);}return _0x2bb8ae[_0x269a('0x1c')](_0x4b79e8)[_0x269a('0x1d')]();};}function respondWithResult(_0x5c781e,_0x503ed3){_0x503ed3=_0x503ed3||0xc8;return function(_0x16ec2e){if(_0x16ec2e){return _0x5c781e[_0x269a('0x1c')](_0x503ed3)[_0x269a('0x1e')](_0x16ec2e);}};}function respondWithFilteredResult(_0xe10b18,_0x1409b8){return function(_0x207647){if(_0x207647){var _0x527c51=typeof _0x1409b8[_0x269a('0x1f')]===_0x269a('0x20')&&typeof _0x1409b8['limit']===_0x269a('0x20');var _0x21610e=_0x207647[_0x269a('0x21')];var _0x295e06=_0x527c51?0x0:_0x1409b8[_0x269a('0x1f')];var _0x5c238c=_0x527c51?_0x207647[_0x269a('0x21')]:_0x1409b8['offset']+_0x1409b8[_0x269a('0x22')];var _0x1a72a7;if(_0x5c238c>=_0x21610e){_0x5c238c=_0x21610e;_0x1a72a7=0xc8;}else{_0x1a72a7=0xce;}_0xe10b18[_0x269a('0x1c')](_0x1a72a7);return _0xe10b18[_0x269a('0x23')](_0x269a('0x24'),_0x295e06+'-'+_0x5c238c+'/'+_0x21610e)[_0x269a('0x1e')](_0x207647);}return null;};}function patchUpdates(_0x13d327){return function(_0x41c8f2){try{jsonpatch[_0x269a('0x25')](_0x41c8f2,_0x13d327,!![]);}catch(_0x4e64bc){return BPromise['reject'](_0x4e64bc);}return _0x41c8f2[_0x269a('0x26')]();};}function saveUpdates(_0x1e0a98,_0x282663){return function(_0x288092){if(_0x288092){return _0x288092['update'](_0x1e0a98)['then'](function(_0x4567cc){return _0x4567cc;});}return null;};}function removeEntity(_0x2482a7,_0x977909){return function(_0x5e5a17){if(_0x5e5a17){return _0x5e5a17['destroy']()[_0x269a('0x27')](function(){_0x2482a7[_0x269a('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x399d32,_0x3772a2){return function(_0x4e8508){if(!_0x4e8508){_0x399d32[_0x269a('0x1b')](0x194);}return _0x4e8508;};}function handleError(_0x3c694e,_0xd1987b){_0xd1987b=_0xd1987b||0x1f4;return function(_0x579cd5){logger[_0x269a('0x28')](_0x579cd5[_0x269a('0x29')]);if(_0x579cd5['name']){delete _0x579cd5[_0x269a('0x2a')];}_0x3c694e[_0x269a('0x1c')](_0xd1987b)[_0x269a('0x2b')](_0x579cd5);};}exports[_0x269a('0x2c')]=function(_0x1da411,_0x544505){var _0x2a1090={},_0x14c509={},_0x157af2={'count':0x0,'rows':[]};var _0x549326=_[_0x269a('0x2d')](db[_0x269a('0x2e')][_0x269a('0x2f')],function(_0x4c84a4){return{'name':_0x4c84a4[_0x269a('0x30')],'type':_0x4c84a4[_0x269a('0x31')]['key']};});_0x14c509['model']=_[_0x269a('0x2d')](_0x549326,_0x269a('0x2a'));_0x14c509[_0x269a('0x32')]=_['keys'](_0x1da411[_0x269a('0x32')]);_0x14c509['filters']=_[_0x269a('0x33')](_0x14c509[_0x269a('0x34')],_0x14c509[_0x269a('0x32')]);_0x2a1090[_0x269a('0x35')]=_[_0x269a('0x33')](_0x14c509[_0x269a('0x34')],qs[_0x269a('0x36')](_0x1da411[_0x269a('0x32')]['fields']));_0x2a1090['attributes']=_0x2a1090[_0x269a('0x35')][_0x269a('0x37')]?_0x2a1090[_0x269a('0x35')]:_0x14c509[_0x269a('0x34')];if(!_0x1da411[_0x269a('0x32')]['hasOwnProperty'](_0x269a('0x38'))){_0x2a1090['limit']=qs[_0x269a('0x22')](_0x1da411[_0x269a('0x32')][_0x269a('0x22')]);_0x2a1090[_0x269a('0x1f')]=qs['offset'](_0x1da411['query'][_0x269a('0x1f')]);}_0x2a1090[_0x269a('0x39')]=qs[_0x269a('0x3a')](_0x1da411[_0x269a('0x32')]['sort']);_0x2a1090[_0x269a('0x3b')]=qs[_0x269a('0x3c')](_[_0x269a('0x3d')](_0x1da411[_0x269a('0x32')],_0x14c509[_0x269a('0x3c')]),_0x549326);if(_0x1da411[_0x269a('0x32')][_0x269a('0x3e')]){_0x2a1090[_0x269a('0x3b')]=_[_0x269a('0x3f')](_0x2a1090['where'],{'$or':_[_0x269a('0x2d')](_0x549326,function(_0x4bff7d){if(_0x4bff7d[_0x269a('0x31')]!=='VIRTUAL'){var _0x6aa2be={};_0x6aa2be[_0x4bff7d[_0x269a('0x2a')]]={'$like':'%'+_0x1da411['query'][_0x269a('0x3e')]+'%'};return _0x6aa2be;}})});}_0x2a1090=_[_0x269a('0x3f')]({},_0x2a1090,_0x1da411[_0x269a('0x40')]);var _0x54cf75={'where':_0x2a1090['where']};return db[_0x269a('0x2e')]['count'](_0x54cf75)[_0x269a('0x27')](function(_0x12732b){_0x157af2[_0x269a('0x21')]=_0x12732b;if(_0x1da411[_0x269a('0x32')][_0x269a('0x41')]){_0x2a1090[_0x269a('0x42')]=[{'all':!![]}];}return db[_0x269a('0x2e')]['findAll'](_0x2a1090);})[_0x269a('0x27')](function(_0xe84dfd){_0x157af2[_0x269a('0x43')]=_0xe84dfd;return _0x157af2;})['then'](respondWithFilteredResult(_0x544505,_0x2a1090))[_0x269a('0x44')](handleError(_0x544505,null));};exports[_0x269a('0x45')]=function(_0x50534b,_0x31ced6){var _0x3d06b3={'raw':!![],'where':{'id':_0x50534b['params']['id']}},_0x5550a3={};_0x5550a3['model']=_[_0x269a('0x46')](db[_0x269a('0x2e')][_0x269a('0x2f')]);_0x5550a3[_0x269a('0x32')]=_[_0x269a('0x46')](_0x50534b[_0x269a('0x32')]);_0x5550a3['filters']=_['intersection'](_0x5550a3['model'],_0x5550a3[_0x269a('0x32')]);_0x3d06b3['attributes']=_['intersection'](_0x5550a3[_0x269a('0x34')],qs[_0x269a('0x36')](_0x50534b['query'][_0x269a('0x36')]));_0x3d06b3[_0x269a('0x35')]=_0x3d06b3[_0x269a('0x35')][_0x269a('0x37')]?_0x3d06b3[_0x269a('0x35')]:_0x5550a3[_0x269a('0x34')];if(_0x50534b['query']['includeAll']){_0x3d06b3[_0x269a('0x42')]=[{'all':!![]}];}_0x3d06b3=_[_0x269a('0x3f')]({},_0x3d06b3,_0x50534b[_0x269a('0x40')]);return db[_0x269a('0x2e')][_0x269a('0x47')](_0x3d06b3)[_0x269a('0x27')](handleEntityNotFound(_0x31ced6,null))[_0x269a('0x27')](respondWithResult(_0x31ced6,null))[_0x269a('0x44')](handleError(_0x31ced6,null));};exports['create']=function(_0x5b14ca,_0x5cafbf){return db[_0x269a('0x2e')]['create'](_0x5b14ca['body'],{})[_0x269a('0x27')](respondWithResult(_0x5cafbf,0xc9))[_0x269a('0x44')](handleError(_0x5cafbf,null));};exports[_0x269a('0x48')]=function(_0x1a7ec2,_0x3891cd){if(_0x1a7ec2[_0x269a('0x49')]['id']){delete _0x1a7ec2['body']['id'];}return db[_0x269a('0x2e')][_0x269a('0x47')]({'where':{'id':_0x1a7ec2['params']['id']}})[_0x269a('0x27')](handleEntityNotFound(_0x3891cd,null))[_0x269a('0x27')](saveUpdates(_0x1a7ec2[_0x269a('0x49')],null))['then'](respondWithResult(_0x3891cd,null))[_0x269a('0x44')](handleError(_0x3891cd,null));};exports['destroy']=function(_0x415c54,_0x6ef604){return db[_0x269a('0x2e')][_0x269a('0x47')]({'where':{'id':_0x415c54[_0x269a('0x4a')]['id']}})[_0x269a('0x27')](handleEntityNotFound(_0x6ef604,null))[_0x269a('0x27')](removeEntity(_0x6ef604,null))[_0x269a('0x44')](handleError(_0x6ef604,null));};exports[_0x269a('0x4b')]=function(_0x479086,_0x4681f3){return db['JscriptySessionReport'][_0x269a('0x4b')]()['then'](respondWithResult(_0x4681f3,null))[_0x269a('0x44')](handleError(_0x4681f3,null));};exports[_0x269a('0x4c')]=function(_0x25159e,_0x3653c2,_0x44fe19){var _0x3f6245={'raw':!![],'where':{}};var _0x2957a9={};var _0x523155={'count':0x0,'rows':[]};return db[_0x269a('0x2e')][_0x269a('0x4d')]({'where':{'id':_0x25159e['params']['id']}})[_0x269a('0x27')](handleEntityNotFound(_0x3653c2,null))[_0x269a('0x27')](function(_0x24edd0){if(_0x24edd0){_0x2957a9['model']=_[_0x269a('0x46')](db[_0x269a('0x4e')][_0x269a('0x2f')]);_0x2957a9[_0x269a('0x32')]=_[_0x269a('0x46')](_0x25159e[_0x269a('0x32')]);_0x2957a9[_0x269a('0x3c')]=_[_0x269a('0x33')](_0x2957a9[_0x269a('0x34')],_0x2957a9['query']);_0x3f6245['attributes']=_[_0x269a('0x33')](_0x2957a9[_0x269a('0x34')],qs[_0x269a('0x36')](_0x25159e['query']['fields']));_0x3f6245[_0x269a('0x35')]=_0x3f6245[_0x269a('0x35')][_0x269a('0x37')]?_0x3f6245[_0x269a('0x35')]:_0x2957a9[_0x269a('0x34')];if(!_0x25159e['query'][_0x269a('0x4f')](_0x269a('0x38'))){_0x3f6245[_0x269a('0x22')]=qs[_0x269a('0x22')](_0x25159e[_0x269a('0x32')][_0x269a('0x22')]);_0x3f6245[_0x269a('0x1f')]=qs[_0x269a('0x1f')](_0x25159e[_0x269a('0x32')][_0x269a('0x1f')]);}_0x3f6245[_0x269a('0x39')]=qs[_0x269a('0x3a')](_0x25159e[_0x269a('0x32')][_0x269a('0x3a')]);_0x3f6245[_0x269a('0x3b')]=qs[_0x269a('0x3c')](_['pick'](_0x25159e[_0x269a('0x32')],_0x2957a9[_0x269a('0x3c')]));_0x3f6245[_0x269a('0x3b')][_0x269a('0x50')]=_0x24edd0['id'];if(_0x25159e[_0x269a('0x32')][_0x269a('0x3e')]){_0x3f6245['where']=_[_0x269a('0x3f')](_0x3f6245[_0x269a('0x3b')],{'$or':_['map'](_0x3f6245[_0x269a('0x35')],function(_0x1760ab){var _0x2d6ee9={};_0x2d6ee9[_0x1760ab]={'$like':'%'+_0x25159e[_0x269a('0x32')][_0x269a('0x3e')]+'%'};return _0x2d6ee9;})});}_0x3f6245=_[_0x269a('0x3f')]({},_0x3f6245,_0x25159e[_0x269a('0x40')]);return db[_0x269a('0x4e')][_0x269a('0x21')]({'where':_0x3f6245[_0x269a('0x3b')]})[_0x269a('0x27')](function(_0x547bf5){_0x523155[_0x269a('0x21')]=_0x547bf5;if(_0x25159e['query'][_0x269a('0x41')]){_0x3f6245[_0x269a('0x42')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0x269a('0x51')](_0x3f6245);})[_0x269a('0x27')](function(_0x3a0492){_0x523155['rows']=_0x3a0492;return _0x523155;});}})['then'](respondWithFilteredResult(_0x3653c2,_0x3f6245))[_0x269a('0x44')](handleError(_0x3653c2,null));};