fd58a6f1d913aa99fdeb270024640d54dd363442
[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 _0x5cc1=['params','fields','options','find','create','body','getQuestions','findOne','JscriptyQuestionReport','sort','SessionId','html-pdf','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','set','Content-Range','json','reject','update','then','destroy','error','stack','name','send','index','map','JscriptySessionReport','rawAttributes','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','limit','order','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x5cc1,0xa7));var _0x15cc=function(_0x25bf2b,_0x34ae18){_0x25bf2b=_0x25bf2b-0x0;var _0x30002a=_0x5cc1[_0x25bf2b];return _0x30002a;};'use strict';var pdf=require(_0x15cc('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x15cc('0x1'));var zipdir=require(_0x15cc('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x15cc('0x3'));var BPromise=require(_0x15cc('0x4'));var Mustache=require(_0x15cc('0x5'));var util=require(_0x15cc('0x6'));var path=require(_0x15cc('0x7'));var sox=require(_0x15cc('0x8'));var csv=require(_0x15cc('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x15cc('0xa'));var squel=require(_0x15cc('0xb'));var crypto=require(_0x15cc('0xc'));var jsforce=require(_0x15cc('0xd'));var deskjs=require(_0x15cc('0xe'));var toCsv=require(_0x15cc('0x9'));var querystring=require(_0x15cc('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x15cc('0x10'));var logger=require(_0x15cc('0x11'))(_0x15cc('0x12'));var utils=require(_0x15cc('0x13'));var config=require(_0x15cc('0x14'));var licenseUtil=require(_0x15cc('0x15'));var db=require(_0x15cc('0x16'))['db'];function respondWithStatusCode(_0x3ffda5,_0x2c632e){_0x2c632e=_0x2c632e||0xcc;return function(_0x234528){if(_0x234528){return _0x3ffda5[_0x15cc('0x17')](_0x2c632e);}return _0x3ffda5[_0x15cc('0x18')](_0x2c632e)[_0x15cc('0x19')]();};}function respondWithResult(_0x1dac20,_0x262696){_0x262696=_0x262696||0xc8;return function(_0x412588){if(_0x412588){return _0x1dac20[_0x15cc('0x18')](_0x262696)['json'](_0x412588);}};}function respondWithFilteredResult(_0x5d706b,_0x40cd32){return function(_0x523582){if(_0x523582){var _0x4e99dd=_0x523582[_0x15cc('0x1a')],_0x37dae9=_0x40cd32[_0x15cc('0x1b')],_0x455cac=_0x40cd32[_0x15cc('0x1b')]+_0x40cd32['limit'],_0x303f4b;if(_0x455cac>=_0x4e99dd){_0x455cac=_0x4e99dd;_0x303f4b=0xc8;}else{_0x303f4b=0xce;}_0x5d706b[_0x15cc('0x18')](_0x303f4b);return _0x5d706b[_0x15cc('0x1c')](_0x15cc('0x1d'),_0x37dae9+'-'+_0x455cac+'/'+_0x4e99dd)[_0x15cc('0x1e')](_0x523582);}return null;};}function patchUpdates(_0x2d15ee){return function(_0x19682c){try{jsonpatch['apply'](_0x19682c,_0x2d15ee,!![]);}catch(_0x186c8d){return BPromise[_0x15cc('0x1f')](_0x186c8d);}return _0x19682c['save']();};}function saveUpdates(_0x7673b8,_0x4a17fd){return function(_0x7acc3d){if(_0x7acc3d){return _0x7acc3d[_0x15cc('0x20')](_0x7673b8)[_0x15cc('0x21')](function(_0x1978ce){return _0x1978ce;});}return null;};}function removeEntity(_0xe58565,_0x40514e){return function(_0xb8dba3){if(_0xb8dba3){return _0xb8dba3[_0x15cc('0x22')]()['then'](function(){_0xe58565[_0x15cc('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x475fbe,_0x2c9a0a){return function(_0x4ac820){if(!_0x4ac820){_0x475fbe[_0x15cc('0x17')](0x194);}return _0x4ac820;};}function handleError(_0x38965a,_0x4a6cf1){_0x4a6cf1=_0x4a6cf1||0x1f4;return function(_0x48fdbf){logger[_0x15cc('0x23')](_0x48fdbf[_0x15cc('0x24')]);if(_0x48fdbf['name']){delete _0x48fdbf[_0x15cc('0x25')];}_0x38965a[_0x15cc('0x18')](_0x4a6cf1)[_0x15cc('0x26')](_0x48fdbf);};}exports[_0x15cc('0x27')]=function(_0xd9a6b9,_0x57a28d){var _0x14332b={},_0x59a0a4={},_0x576a87={'count':0x0,'rows':[]};var _0x467f67=_[_0x15cc('0x28')](db[_0x15cc('0x29')][_0x15cc('0x2a')],function(_0x3befdd){return{'name':_0x3befdd['fieldName'],'type':_0x3befdd[_0x15cc('0x2b')][_0x15cc('0x2c')]};});_0x59a0a4['model']=_['map'](_0x467f67,_0x15cc('0x25'));_0x59a0a4[_0x15cc('0x2d')]=_[_0x15cc('0x2e')](_0xd9a6b9['query']);_0x59a0a4[_0x15cc('0x2f')]=_[_0x15cc('0x30')](_0x59a0a4[_0x15cc('0x31')],_0x59a0a4[_0x15cc('0x2d')]);_0x14332b['attributes']=_[_0x15cc('0x30')](_0x59a0a4[_0x15cc('0x31')],qs['fields'](_0xd9a6b9[_0x15cc('0x2d')]['fields']));_0x14332b[_0x15cc('0x32')]=_0x14332b[_0x15cc('0x32')][_0x15cc('0x33')]?_0x14332b['attributes']:_0x59a0a4['model'];if(!_0xd9a6b9[_0x15cc('0x2d')][_0x15cc('0x34')](_0x15cc('0x35'))){_0x14332b[_0x15cc('0x36')]=qs[_0x15cc('0x36')](_0xd9a6b9[_0x15cc('0x2d')][_0x15cc('0x36')]);_0x14332b['offset']=qs[_0x15cc('0x1b')](_0xd9a6b9[_0x15cc('0x2d')]['offset']);}_0x14332b[_0x15cc('0x37')]=qs['sort'](_0xd9a6b9['query']['sort']);_0x14332b[_0x15cc('0x38')]=qs[_0x15cc('0x2f')](_[_0x15cc('0x39')](_0xd9a6b9[_0x15cc('0x2d')],_0x59a0a4[_0x15cc('0x2f')]),_0x467f67);if(_0xd9a6b9[_0x15cc('0x2d')]['filter']){_0x14332b[_0x15cc('0x38')]=_[_0x15cc('0x3a')](_0x14332b[_0x15cc('0x38')],{'$or':_['map'](_0x467f67,function(_0x605ee8){if(_0x605ee8[_0x15cc('0x2b')]!==_0x15cc('0x3b')){var _0x5b5829={};_0x5b5829[_0x605ee8[_0x15cc('0x25')]]={'$like':'%'+_0xd9a6b9[_0x15cc('0x2d')][_0x15cc('0x3c')]+'%'};return _0x5b5829;}})});}_0x14332b=_[_0x15cc('0x3a')]({},_0x14332b,_0xd9a6b9['options']);var _0x2af94d={'where':_0x14332b[_0x15cc('0x38')]};return db['JscriptySessionReport'][_0x15cc('0x1a')](_0x2af94d)[_0x15cc('0x21')](function(_0x2e276a){_0x576a87['count']=_0x2e276a;if(_0xd9a6b9['query'][_0x15cc('0x3d')]){_0x14332b[_0x15cc('0x3e')]=[{'all':!![]}];}return db[_0x15cc('0x29')][_0x15cc('0x3f')](_0x14332b);})[_0x15cc('0x21')](function(_0xbf59e){_0x576a87[_0x15cc('0x40')]=_0xbf59e;return _0x576a87;})[_0x15cc('0x21')](respondWithFilteredResult(_0x57a28d,_0x14332b))[_0x15cc('0x41')](handleError(_0x57a28d,null));};exports[_0x15cc('0x42')]=function(_0x5b1250,_0x4c7339){var _0x333af6={'raw':!![],'where':{'id':_0x5b1250[_0x15cc('0x43')]['id']}},_0x386570={};_0x386570[_0x15cc('0x31')]=_[_0x15cc('0x2e')](db[_0x15cc('0x29')][_0x15cc('0x2a')]);_0x386570['query']=_[_0x15cc('0x2e')](_0x5b1250[_0x15cc('0x2d')]);_0x386570['filters']=_[_0x15cc('0x30')](_0x386570[_0x15cc('0x31')],_0x386570[_0x15cc('0x2d')]);_0x333af6[_0x15cc('0x32')]=_[_0x15cc('0x30')](_0x386570[_0x15cc('0x31')],qs[_0x15cc('0x44')](_0x5b1250['query'][_0x15cc('0x44')]));_0x333af6[_0x15cc('0x32')]=_0x333af6['attributes']['length']?_0x333af6['attributes']:_0x386570[_0x15cc('0x31')];if(_0x5b1250[_0x15cc('0x2d')][_0x15cc('0x3d')]){_0x333af6['include']=[{'all':!![]}];}_0x333af6=_['merge']({},_0x333af6,_0x5b1250[_0x15cc('0x45')]);return db['JscriptySessionReport'][_0x15cc('0x46')](_0x333af6)[_0x15cc('0x21')](handleEntityNotFound(_0x4c7339,null))[_0x15cc('0x21')](respondWithResult(_0x4c7339,null))[_0x15cc('0x41')](handleError(_0x4c7339,null));};exports[_0x15cc('0x47')]=function(_0x4d68d4,_0x490dec){return db[_0x15cc('0x29')][_0x15cc('0x47')](_0x4d68d4[_0x15cc('0x48')],{})[_0x15cc('0x21')](respondWithResult(_0x490dec,0xc9))[_0x15cc('0x41')](handleError(_0x490dec,null));};exports[_0x15cc('0x20')]=function(_0x5d23e5,_0x55bdb4){if(_0x5d23e5[_0x15cc('0x48')]['id']){delete _0x5d23e5['body']['id'];}return db[_0x15cc('0x29')][_0x15cc('0x46')]({'where':{'id':_0x5d23e5['params']['id']}})[_0x15cc('0x21')](handleEntityNotFound(_0x55bdb4,null))[_0x15cc('0x21')](saveUpdates(_0x5d23e5[_0x15cc('0x48')],null))[_0x15cc('0x21')](respondWithResult(_0x55bdb4,null))[_0x15cc('0x41')](handleError(_0x55bdb4,null));};exports['destroy']=function(_0x13a053,_0x24399f){return db[_0x15cc('0x29')][_0x15cc('0x46')]({'where':{'id':_0x13a053[_0x15cc('0x43')]['id']}})['then'](handleEntityNotFound(_0x24399f,null))[_0x15cc('0x21')](removeEntity(_0x24399f,null))[_0x15cc('0x41')](handleError(_0x24399f,null));};exports['describe']=function(_0x910837,_0x138813){return db[_0x15cc('0x29')]['describe']()['then'](respondWithResult(_0x138813,null))['catch'](handleError(_0x138813,null));};exports[_0x15cc('0x49')]=function(_0x27e0ef,_0x2dd3c9,_0x5365df){var _0x1ef9d3={'raw':!![],'where':{}};var _0x2b71c9={};var _0x35d79e={'count':0x0,'rows':[]};return db[_0x15cc('0x29')][_0x15cc('0x4a')]({'where':{'id':_0x27e0ef[_0x15cc('0x43')]['id']}})[_0x15cc('0x21')](handleEntityNotFound(_0x2dd3c9,null))['then'](function(_0x3a0efe){if(_0x3a0efe){_0x2b71c9['model']=_['keys'](db[_0x15cc('0x4b')]['rawAttributes']);_0x2b71c9['query']=_['keys'](_0x27e0ef[_0x15cc('0x2d')]);_0x2b71c9[_0x15cc('0x2f')]=_[_0x15cc('0x30')](_0x2b71c9['model'],_0x2b71c9[_0x15cc('0x2d')]);_0x1ef9d3[_0x15cc('0x32')]=_[_0x15cc('0x30')](_0x2b71c9[_0x15cc('0x31')],qs['fields'](_0x27e0ef[_0x15cc('0x2d')]['fields']));_0x1ef9d3[_0x15cc('0x32')]=_0x1ef9d3[_0x15cc('0x32')][_0x15cc('0x33')]?_0x1ef9d3['attributes']:_0x2b71c9[_0x15cc('0x31')];if(!_0x27e0ef['query'][_0x15cc('0x34')](_0x15cc('0x35'))){_0x1ef9d3['limit']=qs[_0x15cc('0x36')](_0x27e0ef['query'][_0x15cc('0x36')]);_0x1ef9d3[_0x15cc('0x1b')]=qs[_0x15cc('0x1b')](_0x27e0ef[_0x15cc('0x2d')][_0x15cc('0x1b')]);}_0x1ef9d3[_0x15cc('0x37')]=qs[_0x15cc('0x4c')](_0x27e0ef[_0x15cc('0x2d')][_0x15cc('0x4c')]);_0x1ef9d3[_0x15cc('0x38')]=qs[_0x15cc('0x2f')](_['pick'](_0x27e0ef[_0x15cc('0x2d')],_0x2b71c9[_0x15cc('0x2f')]));_0x1ef9d3['where'][_0x15cc('0x4d')]=_0x3a0efe['id'];if(_0x27e0ef['query'][_0x15cc('0x3c')]){_0x1ef9d3['where']=_[_0x15cc('0x3a')](_0x1ef9d3[_0x15cc('0x38')],{'$or':_['map'](_0x1ef9d3[_0x15cc('0x32')],function(_0x135c20){var _0x141775={};_0x141775[_0x135c20]={'$like':'%'+_0x27e0ef['query'][_0x15cc('0x3c')]+'%'};return _0x141775;})});}_0x1ef9d3=_['merge']({},_0x1ef9d3,_0x27e0ef['options']);return db[_0x15cc('0x4b')][_0x15cc('0x1a')]({'where':_0x1ef9d3[_0x15cc('0x38')]})[_0x15cc('0x21')](function(_0x26b5f5){_0x35d79e[_0x15cc('0x1a')]=_0x26b5f5;if(_0x27e0ef['query'][_0x15cc('0x3d')]){_0x1ef9d3[_0x15cc('0x3e')]=[{'all':!![]}];}return db[_0x15cc('0x4b')][_0x15cc('0x3f')](_0x1ef9d3);})['then'](function(_0x488743){_0x35d79e['rows']=_0x488743;return _0x35d79e;});}})['then'](respondWithFilteredResult(_0x2dd3c9,_0x1ef9d3))[_0x15cc('0x41')](handleError(_0x2dd3c9,null));};