Built motion from commit fda31434.|2.5.44
[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 _0x4c4b=['intersection','find','create','body','update','describe','findOne','JscriptyQuestionReport','nolimit','pick','SessionId','rows','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','count','limit','set','Content-Range','json','apply','reject','destroy','then','error','name','send','map','JscriptySessionReport','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','type','options','includeAll','include','findAll','catch','show','params'];(function(_0x9a2c13,_0x49e894){var _0x192d55=function(_0x140875){while(--_0x140875){_0x9a2c13['push'](_0x9a2c13['shift']());}};_0x192d55(++_0x49e894);}(_0x4c4b,0x1ec));var _0xb4c4=function(_0x1b3a5c,_0x2f9d5f){_0x1b3a5c=_0x1b3a5c-0x0;var _0x2ae8cb=_0x4c4b[_0x1b3a5c];return _0x2ae8cb;};'use strict';var emlformat=require(_0xb4c4('0x0'));var rimraf=require(_0xb4c4('0x1'));var zipdir=require(_0xb4c4('0x2'));var jsonpatch=require(_0xb4c4('0x3'));var rp=require(_0xb4c4('0x4'));var moment=require(_0xb4c4('0x5'));var BPromise=require(_0xb4c4('0x6'));var Mustache=require(_0xb4c4('0x7'));var util=require('util');var path=require('path');var sox=require(_0xb4c4('0x8'));var csv=require(_0xb4c4('0x9'));var ejs=require(_0xb4c4('0xa'));var fs=require('fs');var fs_extra=require(_0xb4c4('0xb'));var _=require(_0xb4c4('0xc'));var squel=require(_0xb4c4('0xd'));var crypto=require(_0xb4c4('0xe'));var jsforce=require(_0xb4c4('0xf'));var deskjs=require(_0xb4c4('0x10'));var toCsv=require('to-csv');var querystring=require(_0xb4c4('0x11'));var Papa=require('papaparse');var Redis=require(_0xb4c4('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xb4c4('0x13'));var as=require(_0xb4c4('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb4c4('0x15'))('api');var utils=require(_0xb4c4('0x16'));var config=require(_0xb4c4('0x17'));var licenseUtil=require(_0xb4c4('0x18'));var db=require(_0xb4c4('0x19'))['db'];function respondWithStatusCode(_0x48552f,_0x1da4ab){_0x1da4ab=_0x1da4ab||0xcc;return function(_0x7b2f26){if(_0x7b2f26){return _0x48552f[_0xb4c4('0x1a')](_0x1da4ab);}return _0x48552f['status'](_0x1da4ab)[_0xb4c4('0x1b')]();};}function respondWithResult(_0x32dfec,_0x3cb9ff){_0x3cb9ff=_0x3cb9ff||0xc8;return function(_0x3765ba){if(_0x3765ba){return _0x32dfec[_0xb4c4('0x1c')](_0x3cb9ff)['json'](_0x3765ba);}};}function respondWithFilteredResult(_0x27a179,_0x5e4aaa){return function(_0x1812a7){if(_0x1812a7){var _0x192ade=typeof _0x5e4aaa[_0xb4c4('0x1d')]===_0xb4c4('0x1e')&&typeof _0x5e4aaa['limit']===_0xb4c4('0x1e');var _0x33f4a5=_0x1812a7[_0xb4c4('0x1f')];var _0x450a27=_0x192ade?0x0:_0x5e4aaa[_0xb4c4('0x1d')];var _0x586c91=_0x192ade?_0x1812a7['count']:_0x5e4aaa['offset']+_0x5e4aaa[_0xb4c4('0x20')];var _0x1f06d7;if(_0x586c91>=_0x33f4a5){_0x586c91=_0x33f4a5;_0x1f06d7=0xc8;}else{_0x1f06d7=0xce;}_0x27a179[_0xb4c4('0x1c')](_0x1f06d7);return _0x27a179[_0xb4c4('0x21')](_0xb4c4('0x22'),_0x450a27+'-'+_0x586c91+'/'+_0x33f4a5)[_0xb4c4('0x23')](_0x1812a7);}return null;};}function patchUpdates(_0x32fe11){return function(_0x12c169){try{jsonpatch[_0xb4c4('0x24')](_0x12c169,_0x32fe11,!![]);}catch(_0x3a3725){return BPromise[_0xb4c4('0x25')](_0x3a3725);}return _0x12c169['save']();};}function saveUpdates(_0x45bb22,_0x42a4ee){return function(_0x5de587){if(_0x5de587){return _0x5de587['update'](_0x45bb22)['then'](function(_0x5757d1){return _0x5757d1;});}return null;};}function removeEntity(_0x1249b6,_0x1e18a3){return function(_0x2c39ce){if(_0x2c39ce){return _0x2c39ce[_0xb4c4('0x26')]()[_0xb4c4('0x27')](function(){_0x1249b6['status'](0xcc)[_0xb4c4('0x1b')]();});}};}function handleEntityNotFound(_0x438a85,_0x1b9c8c){return function(_0x33f1dc){if(!_0x33f1dc){_0x438a85[_0xb4c4('0x1a')](0x194);}return _0x33f1dc;};}function handleError(_0x5e261f,_0x43c92a){_0x43c92a=_0x43c92a||0x1f4;return function(_0x4450fb){logger[_0xb4c4('0x28')](_0x4450fb['stack']);if(_0x4450fb[_0xb4c4('0x29')]){delete _0x4450fb['name'];}_0x5e261f[_0xb4c4('0x1c')](_0x43c92a)[_0xb4c4('0x2a')](_0x4450fb);};}exports['index']=function(_0x74f853,_0x58abcc){var _0x599f22={},_0x150dc0={},_0x46285f={'count':0x0,'rows':[]};var _0x3aa2ac=_[_0xb4c4('0x2b')](db[_0xb4c4('0x2c')][_0xb4c4('0x2d')],function(_0x1a78fd){return{'name':_0x1a78fd[_0xb4c4('0x2e')],'type':_0x1a78fd['type'][_0xb4c4('0x2f')]};});_0x150dc0[_0xb4c4('0x30')]=_[_0xb4c4('0x2b')](_0x3aa2ac,'name');_0x150dc0[_0xb4c4('0x31')]=_[_0xb4c4('0x32')](_0x74f853[_0xb4c4('0x31')]);_0x150dc0[_0xb4c4('0x33')]=_['intersection'](_0x150dc0[_0xb4c4('0x30')],_0x150dc0['query']);_0x599f22[_0xb4c4('0x34')]=_['intersection'](_0x150dc0[_0xb4c4('0x30')],qs[_0xb4c4('0x35')](_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x35')]));_0x599f22[_0xb4c4('0x34')]=_0x599f22['attributes'][_0xb4c4('0x36')]?_0x599f22[_0xb4c4('0x34')]:_0x150dc0['model'];if(!_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x37')]('nolimit')){_0x599f22[_0xb4c4('0x20')]=qs[_0xb4c4('0x20')](_0x74f853['query']['limit']);_0x599f22[_0xb4c4('0x1d')]=qs[_0xb4c4('0x1d')](_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x1d')]);}_0x599f22['order']=qs[_0xb4c4('0x38')](_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x38')]);_0x599f22[_0xb4c4('0x39')]=qs[_0xb4c4('0x33')](_['pick'](_0x74f853['query'],_0x150dc0[_0xb4c4('0x33')]),_0x3aa2ac);if(_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x3a')]){_0x599f22[_0xb4c4('0x39')]=_[_0xb4c4('0x3b')](_0x599f22[_0xb4c4('0x39')],{'$or':_[_0xb4c4('0x2b')](_0x3aa2ac,function(_0x447a1a){if(_0x447a1a[_0xb4c4('0x3c')]!=='VIRTUAL'){var _0x2656bb={};_0x2656bb[_0x447a1a['name']]={'$like':'%'+_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x3a')]+'%'};return _0x2656bb;}})});}_0x599f22=_['merge']({},_0x599f22,_0x74f853[_0xb4c4('0x3d')]);var _0x1baecd={'where':_0x599f22['where']};return db[_0xb4c4('0x2c')][_0xb4c4('0x1f')](_0x1baecd)[_0xb4c4('0x27')](function(_0x3879d8){_0x46285f[_0xb4c4('0x1f')]=_0x3879d8;if(_0x74f853[_0xb4c4('0x31')][_0xb4c4('0x3e')]){_0x599f22[_0xb4c4('0x3f')]=[{'all':!![]}];}return db['JscriptySessionReport'][_0xb4c4('0x40')](_0x599f22);})[_0xb4c4('0x27')](function(_0x193aa4){_0x46285f['rows']=_0x193aa4;return _0x46285f;})[_0xb4c4('0x27')](respondWithFilteredResult(_0x58abcc,_0x599f22))[_0xb4c4('0x41')](handleError(_0x58abcc,null));};exports[_0xb4c4('0x42')]=function(_0x3aa8dc,_0x4e6303){var _0x58064c={'raw':!![],'where':{'id':_0x3aa8dc[_0xb4c4('0x43')]['id']}},_0x1caa01={};_0x1caa01[_0xb4c4('0x30')]=_[_0xb4c4('0x32')](db['JscriptySessionReport'][_0xb4c4('0x2d')]);_0x1caa01[_0xb4c4('0x31')]=_[_0xb4c4('0x32')](_0x3aa8dc['query']);_0x1caa01['filters']=_['intersection'](_0x1caa01[_0xb4c4('0x30')],_0x1caa01[_0xb4c4('0x31')]);_0x58064c[_0xb4c4('0x34')]=_[_0xb4c4('0x44')](_0x1caa01[_0xb4c4('0x30')],qs[_0xb4c4('0x35')](_0x3aa8dc[_0xb4c4('0x31')][_0xb4c4('0x35')]));_0x58064c[_0xb4c4('0x34')]=_0x58064c[_0xb4c4('0x34')][_0xb4c4('0x36')]?_0x58064c[_0xb4c4('0x34')]:_0x1caa01[_0xb4c4('0x30')];if(_0x3aa8dc['query'][_0xb4c4('0x3e')]){_0x58064c[_0xb4c4('0x3f')]=[{'all':!![]}];}_0x58064c=_[_0xb4c4('0x3b')]({},_0x58064c,_0x3aa8dc[_0xb4c4('0x3d')]);return db[_0xb4c4('0x2c')][_0xb4c4('0x45')](_0x58064c)[_0xb4c4('0x27')](handleEntityNotFound(_0x4e6303,null))['then'](respondWithResult(_0x4e6303,null))[_0xb4c4('0x41')](handleError(_0x4e6303,null));};exports[_0xb4c4('0x46')]=function(_0x5ebfb4,_0x2fc7ca){return db['JscriptySessionReport'][_0xb4c4('0x46')](_0x5ebfb4[_0xb4c4('0x47')],{})['then'](respondWithResult(_0x2fc7ca,0xc9))[_0xb4c4('0x41')](handleError(_0x2fc7ca,null));};exports[_0xb4c4('0x48')]=function(_0x1c51cd,_0x29ae11){if(_0x1c51cd[_0xb4c4('0x47')]['id']){delete _0x1c51cd[_0xb4c4('0x47')]['id'];}return db['JscriptySessionReport'][_0xb4c4('0x45')]({'where':{'id':_0x1c51cd['params']['id']}})[_0xb4c4('0x27')](handleEntityNotFound(_0x29ae11,null))[_0xb4c4('0x27')](saveUpdates(_0x1c51cd[_0xb4c4('0x47')],null))[_0xb4c4('0x27')](respondWithResult(_0x29ae11,null))[_0xb4c4('0x41')](handleError(_0x29ae11,null));};exports['destroy']=function(_0x496568,_0x4f5fec){return db[_0xb4c4('0x2c')]['find']({'where':{'id':_0x496568['params']['id']}})[_0xb4c4('0x27')](handleEntityNotFound(_0x4f5fec,null))[_0xb4c4('0x27')](removeEntity(_0x4f5fec,null))[_0xb4c4('0x41')](handleError(_0x4f5fec,null));};exports[_0xb4c4('0x49')]=function(_0x2bb928,_0x521a88){return db[_0xb4c4('0x2c')][_0xb4c4('0x49')]()[_0xb4c4('0x27')](respondWithResult(_0x521a88,null))[_0xb4c4('0x41')](handleError(_0x521a88,null));};exports['getQuestions']=function(_0xd7d927,_0x47518b,_0x191ec4){var _0xbe1a70={'raw':!![],'where':{}};var _0x57e64f={};var _0x457814={'count':0x0,'rows':[]};return db[_0xb4c4('0x2c')][_0xb4c4('0x4a')]({'where':{'id':_0xd7d927[_0xb4c4('0x43')]['id']}})[_0xb4c4('0x27')](handleEntityNotFound(_0x47518b,null))[_0xb4c4('0x27')](function(_0x3d1912){if(_0x3d1912){_0x57e64f[_0xb4c4('0x30')]=_[_0xb4c4('0x32')](db[_0xb4c4('0x4b')]['rawAttributes']);_0x57e64f['query']=_[_0xb4c4('0x32')](_0xd7d927['query']);_0x57e64f[_0xb4c4('0x33')]=_[_0xb4c4('0x44')](_0x57e64f[_0xb4c4('0x30')],_0x57e64f['query']);_0xbe1a70[_0xb4c4('0x34')]=_['intersection'](_0x57e64f['model'],qs['fields'](_0xd7d927[_0xb4c4('0x31')][_0xb4c4('0x35')]));_0xbe1a70[_0xb4c4('0x34')]=_0xbe1a70[_0xb4c4('0x34')]['length']?_0xbe1a70[_0xb4c4('0x34')]:_0x57e64f['model'];if(!_0xd7d927['query'][_0xb4c4('0x37')](_0xb4c4('0x4c'))){_0xbe1a70[_0xb4c4('0x20')]=qs['limit'](_0xd7d927[_0xb4c4('0x31')][_0xb4c4('0x20')]);_0xbe1a70[_0xb4c4('0x1d')]=qs[_0xb4c4('0x1d')](_0xd7d927[_0xb4c4('0x31')][_0xb4c4('0x1d')]);}_0xbe1a70['order']=qs[_0xb4c4('0x38')](_0xd7d927[_0xb4c4('0x31')][_0xb4c4('0x38')]);_0xbe1a70[_0xb4c4('0x39')]=qs[_0xb4c4('0x33')](_[_0xb4c4('0x4d')](_0xd7d927[_0xb4c4('0x31')],_0x57e64f[_0xb4c4('0x33')]));_0xbe1a70[_0xb4c4('0x39')][_0xb4c4('0x4e')]=_0x3d1912['id'];if(_0xd7d927[_0xb4c4('0x31')][_0xb4c4('0x3a')]){_0xbe1a70['where']=_[_0xb4c4('0x3b')](_0xbe1a70['where'],{'$or':_[_0xb4c4('0x2b')](_0xbe1a70[_0xb4c4('0x34')],function(_0x5f1dac){var _0x481def={};_0x481def[_0x5f1dac]={'$like':'%'+_0xd7d927['query']['filter']+'%'};return _0x481def;})});}_0xbe1a70=_[_0xb4c4('0x3b')]({},_0xbe1a70,_0xd7d927[_0xb4c4('0x3d')]);return db[_0xb4c4('0x4b')][_0xb4c4('0x1f')]({'where':_0xbe1a70['where']})[_0xb4c4('0x27')](function(_0x28b0ed){_0x457814[_0xb4c4('0x1f')]=_0x28b0ed;if(_0xd7d927['query']['includeAll']){_0xbe1a70[_0xb4c4('0x3f')]=[{'all':!![]}];}return db[_0xb4c4('0x4b')][_0xb4c4('0x40')](_0xbe1a70);})[_0xb4c4('0x27')](function(_0x205945){_0x457814[_0xb4c4('0x4f')]=_0x205945;return _0x457814;});}})[_0xb4c4('0x27')](respondWithFilteredResult(_0x47518b,_0xbe1a70))[_0xb4c4('0x41')](handleError(_0x47518b,null));};