a2e860062b2fb2d087b94db1058746042f820613
[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 _0x4d79=['create','update','describe','findOne','JscriptyQuestionReport','pick','SessionId','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','render','body','contact','message','interaction','account','index','map','JscriptySessionReport','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','find'];(function(_0x163e7d,_0x221edb){var _0xf0e141=function(_0x2d0858){while(--_0x2d0858){_0x163e7d['push'](_0x163e7d['shift']());}};_0xf0e141(++_0x221edb);}(_0x4d79,0x1ba));var _0x94d7=function(_0x595b9b,_0xa58ff){_0x595b9b=_0x595b9b-0x0;var _0x3be4c6=_0x4d79[_0x595b9b];return _0x3be4c6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x94d7('0x0'));var zipdir=require(_0x94d7('0x1'));var jsonpatch=require(_0x94d7('0x2'));var rp=require(_0x94d7('0x3'));var moment=require(_0x94d7('0x4'));var BPromise=require(_0x94d7('0x5'));var Mustache=require(_0x94d7('0x6'));var util=require(_0x94d7('0x7'));var path=require(_0x94d7('0x8'));var sox=require(_0x94d7('0x9'));var csv=require(_0x94d7('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x94d7('0xb'));var _=require('lodash');var squel=require(_0x94d7('0xc'));var crypto=require(_0x94d7('0xd'));var jsforce=require(_0x94d7('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x94d7('0xa'));var querystring=require(_0x94d7('0xf'));var Papa=require(_0x94d7('0x10'));var Redis=require(_0x94d7('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x94d7('0x12'));var as=require(_0x94d7('0x13'));var hardwareService=require(_0x94d7('0x14'));var logger=require(_0x94d7('0x15'))(_0x94d7('0x16'));var utils=require(_0x94d7('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x94d7('0x18'));var db=require(_0x94d7('0x19'))['db'];function respondWithStatusCode(_0x4cb924,_0xd6d36a){_0xd6d36a=_0xd6d36a||0xcc;return function(_0x520a63){if(_0x520a63){return _0x4cb924[_0x94d7('0x1a')](_0xd6d36a);}return _0x4cb924[_0x94d7('0x1b')](_0xd6d36a)['end']();};}function respondWithResult(_0x3d9e0e,_0x3e0bba){_0x3e0bba=_0x3e0bba||0xc8;return function(_0x468736){if(_0x468736){return _0x3d9e0e[_0x94d7('0x1b')](_0x3e0bba)['json'](_0x468736);}};}function respondWithFilteredResult(_0xb5caaa,_0x20a116){return function(_0x3f495c){if(_0x3f495c){var _0x5e1d75=typeof _0x20a116[_0x94d7('0x1c')]===_0x94d7('0x1d')&&typeof _0x20a116['limit']===_0x94d7('0x1d');var _0x568fcd=_0x3f495c[_0x94d7('0x1e')];var _0x3fb270=_0x5e1d75?0x0:_0x20a116[_0x94d7('0x1c')];var _0x26be72=_0x5e1d75?_0x3f495c[_0x94d7('0x1e')]:_0x20a116['offset']+_0x20a116[_0x94d7('0x1f')];var _0x38430f;if(_0x26be72>=_0x568fcd){_0x26be72=_0x568fcd;_0x38430f=0xc8;}else{_0x38430f=0xce;}_0xb5caaa['status'](_0x38430f);return _0xb5caaa[_0x94d7('0x20')](_0x94d7('0x21'),_0x3fb270+'-'+_0x26be72+'/'+_0x568fcd)['json'](_0x3f495c);}return null;};}function patchUpdates(_0x44009e){return function(_0x6bb0c3){try{jsonpatch[_0x94d7('0x22')](_0x6bb0c3,_0x44009e,!![]);}catch(_0xb4a532){return BPromise[_0x94d7('0x23')](_0xb4a532);}return _0x6bb0c3[_0x94d7('0x24')]();};}function saveUpdates(_0x3b9e0e,_0x247e45){return function(_0x3e91cd){if(_0x3e91cd){return _0x3e91cd['update'](_0x3b9e0e)[_0x94d7('0x25')](function(_0x29087a){return _0x29087a;});}return null;};}function removeEntity(_0x1f4550,_0x3c2178){return function(_0x31bbc2){if(_0x31bbc2){return _0x31bbc2[_0x94d7('0x26')]()[_0x94d7('0x25')](function(){_0x1f4550[_0x94d7('0x1b')](0xcc)[_0x94d7('0x27')]();});}};}function handleEntityNotFound(_0x4ca12f,_0x280cc1){return function(_0x1078bb){if(!_0x1078bb){_0x4ca12f[_0x94d7('0x1a')](0x194);}return _0x1078bb;};}function handleError(_0xd570b3,_0x1fd54e){_0x1fd54e=_0x1fd54e||0x1f4;return function(_0x3417d0){logger[_0x94d7('0x28')](_0x3417d0[_0x94d7('0x29')]);if(_0x3417d0[_0x94d7('0x2a')]){delete _0x3417d0[_0x94d7('0x2a')];}_0xd570b3['status'](_0x1fd54e)['send'](_0x3417d0);};}function getMustacheRender(_0x7a0e83,_0x40b49c){return Mustache[_0x94d7('0x2b')](_0x7a0e83,_['merge'](_0x40b49c[_0x94d7('0x2c')],{'contact':_0x40b49c[_0x94d7('0x2d')],'message':_0x40b49c[_0x94d7('0x2e')],'agent':_0x40b49c['agent'],'interaction':_0x40b49c[_0x94d7('0x2f')],'account':_0x40b49c[_0x94d7('0x30')]}))||'';}exports[_0x94d7('0x31')]=function(_0x1ad612,_0x3a1c53){var _0x3358c1={},_0x15061d={},_0x5bf4b8={'count':0x0,'rows':[]};var _0x3d7f44=_[_0x94d7('0x32')](db[_0x94d7('0x33')][_0x94d7('0x34')],function(_0x5a4a3b){return{'name':_0x5a4a3b['fieldName'],'type':_0x5a4a3b[_0x94d7('0x35')][_0x94d7('0x36')]};});_0x15061d[_0x94d7('0x37')]=_[_0x94d7('0x32')](_0x3d7f44,_0x94d7('0x2a'));_0x15061d[_0x94d7('0x38')]=_[_0x94d7('0x39')](_0x1ad612[_0x94d7('0x38')]);_0x15061d[_0x94d7('0x3a')]=_['intersection'](_0x15061d[_0x94d7('0x37')],_0x15061d[_0x94d7('0x38')]);_0x3358c1[_0x94d7('0x3b')]=_[_0x94d7('0x3c')](_0x15061d['model'],qs[_0x94d7('0x3d')](_0x1ad612[_0x94d7('0x38')][_0x94d7('0x3d')]));_0x3358c1['attributes']=_0x3358c1['attributes'][_0x94d7('0x3e')]?_0x3358c1['attributes']:_0x15061d[_0x94d7('0x37')];if(!_0x1ad612[_0x94d7('0x38')][_0x94d7('0x3f')](_0x94d7('0x40'))){_0x3358c1[_0x94d7('0x1f')]=qs[_0x94d7('0x1f')](_0x1ad612[_0x94d7('0x38')][_0x94d7('0x1f')]);_0x3358c1[_0x94d7('0x1c')]=qs[_0x94d7('0x1c')](_0x1ad612['query'][_0x94d7('0x1c')]);}_0x3358c1[_0x94d7('0x41')]=qs[_0x94d7('0x42')](_0x1ad612[_0x94d7('0x38')][_0x94d7('0x42')]);_0x3358c1[_0x94d7('0x43')]=qs['filters'](_['pick'](_0x1ad612[_0x94d7('0x38')],_0x15061d[_0x94d7('0x3a')]),_0x3d7f44);if(_0x1ad612[_0x94d7('0x38')][_0x94d7('0x44')]){_0x3358c1[_0x94d7('0x43')]=_['merge'](_0x3358c1[_0x94d7('0x43')],{'$or':_[_0x94d7('0x32')](_0x3d7f44,function(_0x73aee6){if(_0x73aee6[_0x94d7('0x35')]!==_0x94d7('0x45')){var _0xa24dbd={};_0xa24dbd[_0x73aee6[_0x94d7('0x2a')]]={'$like':'%'+_0x1ad612['query'][_0x94d7('0x44')]+'%'};return _0xa24dbd;}})});}_0x3358c1=_[_0x94d7('0x46')]({},_0x3358c1,_0x1ad612[_0x94d7('0x47')]);var _0x3cfe2d={'where':_0x3358c1['where']};return db[_0x94d7('0x33')][_0x94d7('0x1e')](_0x3cfe2d)[_0x94d7('0x25')](function(_0x11d0c2){_0x5bf4b8[_0x94d7('0x1e')]=_0x11d0c2;if(_0x1ad612[_0x94d7('0x38')][_0x94d7('0x48')]){_0x3358c1[_0x94d7('0x49')]=[{'all':!![]}];}return db[_0x94d7('0x33')][_0x94d7('0x4a')](_0x3358c1);})[_0x94d7('0x25')](function(_0x41bd11){_0x5bf4b8[_0x94d7('0x4b')]=_0x41bd11;return _0x5bf4b8;})['then'](respondWithFilteredResult(_0x3a1c53,_0x3358c1))[_0x94d7('0x4c')](handleError(_0x3a1c53,null));};exports[_0x94d7('0x4d')]=function(_0x13e6a9,_0x71fdf9){var _0x51d861={'raw':!![],'where':{'id':_0x13e6a9[_0x94d7('0x4e')]['id']}},_0x5469af={};_0x5469af[_0x94d7('0x37')]=_[_0x94d7('0x39')](db[_0x94d7('0x33')][_0x94d7('0x34')]);_0x5469af[_0x94d7('0x38')]=_[_0x94d7('0x39')](_0x13e6a9['query']);_0x5469af[_0x94d7('0x3a')]=_['intersection'](_0x5469af['model'],_0x5469af[_0x94d7('0x38')]);_0x51d861[_0x94d7('0x3b')]=_[_0x94d7('0x3c')](_0x5469af[_0x94d7('0x37')],qs[_0x94d7('0x3d')](_0x13e6a9['query']['fields']));_0x51d861[_0x94d7('0x3b')]=_0x51d861['attributes'][_0x94d7('0x3e')]?_0x51d861[_0x94d7('0x3b')]:_0x5469af['model'];if(_0x13e6a9[_0x94d7('0x38')][_0x94d7('0x48')]){_0x51d861[_0x94d7('0x49')]=[{'all':!![]}];}_0x51d861=_[_0x94d7('0x46')]({},_0x51d861,_0x13e6a9[_0x94d7('0x47')]);return db[_0x94d7('0x33')][_0x94d7('0x4f')](_0x51d861)['then'](handleEntityNotFound(_0x71fdf9,null))[_0x94d7('0x25')](respondWithResult(_0x71fdf9,null))[_0x94d7('0x4c')](handleError(_0x71fdf9,null));};exports[_0x94d7('0x50')]=function(_0x541bcb,_0x1c283d){return db[_0x94d7('0x33')][_0x94d7('0x50')](_0x541bcb[_0x94d7('0x2c')],{})['then'](respondWithResult(_0x1c283d,0xc9))[_0x94d7('0x4c')](handleError(_0x1c283d,null));};exports[_0x94d7('0x51')]=function(_0x1d4699,_0x257434){if(_0x1d4699[_0x94d7('0x2c')]['id']){delete _0x1d4699[_0x94d7('0x2c')]['id'];}return db['JscriptySessionReport'][_0x94d7('0x4f')]({'where':{'id':_0x1d4699[_0x94d7('0x4e')]['id']}})[_0x94d7('0x25')](handleEntityNotFound(_0x257434,null))[_0x94d7('0x25')](saveUpdates(_0x1d4699[_0x94d7('0x2c')],null))[_0x94d7('0x25')](respondWithResult(_0x257434,null))[_0x94d7('0x4c')](handleError(_0x257434,null));};exports['destroy']=function(_0x4ba594,_0x2be9af){return db[_0x94d7('0x33')][_0x94d7('0x4f')]({'where':{'id':_0x4ba594[_0x94d7('0x4e')]['id']}})[_0x94d7('0x25')](handleEntityNotFound(_0x2be9af,null))[_0x94d7('0x25')](removeEntity(_0x2be9af,null))[_0x94d7('0x4c')](handleError(_0x2be9af,null));};exports[_0x94d7('0x52')]=function(_0x124b3c,_0x47cc98){return db[_0x94d7('0x33')]['describe']()[_0x94d7('0x25')](respondWithResult(_0x47cc98,null))['catch'](handleError(_0x47cc98,null));};exports['getQuestions']=function(_0x47169d,_0xdc560c,_0x1dee9e){var _0x1efee6={'raw':!![],'where':{}};var _0x76a799={};var _0x419571={'count':0x0,'rows':[]};return db[_0x94d7('0x33')][_0x94d7('0x53')]({'where':{'id':_0x47169d[_0x94d7('0x4e')]['id']}})[_0x94d7('0x25')](handleEntityNotFound(_0xdc560c,null))['then'](function(_0x5cf768){if(_0x5cf768){_0x76a799[_0x94d7('0x37')]=_[_0x94d7('0x39')](db[_0x94d7('0x54')][_0x94d7('0x34')]);_0x76a799[_0x94d7('0x38')]=_[_0x94d7('0x39')](_0x47169d[_0x94d7('0x38')]);_0x76a799[_0x94d7('0x3a')]=_[_0x94d7('0x3c')](_0x76a799[_0x94d7('0x37')],_0x76a799[_0x94d7('0x38')]);_0x1efee6[_0x94d7('0x3b')]=_[_0x94d7('0x3c')](_0x76a799[_0x94d7('0x37')],qs[_0x94d7('0x3d')](_0x47169d[_0x94d7('0x38')]['fields']));_0x1efee6[_0x94d7('0x3b')]=_0x1efee6[_0x94d7('0x3b')][_0x94d7('0x3e')]?_0x1efee6[_0x94d7('0x3b')]:_0x76a799[_0x94d7('0x37')];if(!_0x47169d['query'][_0x94d7('0x3f')]('nolimit')){_0x1efee6[_0x94d7('0x1f')]=qs[_0x94d7('0x1f')](_0x47169d[_0x94d7('0x38')][_0x94d7('0x1f')]);_0x1efee6[_0x94d7('0x1c')]=qs[_0x94d7('0x1c')](_0x47169d[_0x94d7('0x38')][_0x94d7('0x1c')]);}_0x1efee6[_0x94d7('0x41')]=qs[_0x94d7('0x42')](_0x47169d['query'][_0x94d7('0x42')]);_0x1efee6[_0x94d7('0x43')]=qs[_0x94d7('0x3a')](_[_0x94d7('0x55')](_0x47169d['query'],_0x76a799[_0x94d7('0x3a')]));_0x1efee6[_0x94d7('0x43')][_0x94d7('0x56')]=_0x5cf768['id'];if(_0x47169d['query']['filter']){_0x1efee6['where']=_[_0x94d7('0x46')](_0x1efee6[_0x94d7('0x43')],{'$or':_['map'](_0x1efee6[_0x94d7('0x3b')],function(_0x4f89c9){var _0x7f7ec9={};_0x7f7ec9[_0x4f89c9]={'$like':'%'+_0x47169d[_0x94d7('0x38')][_0x94d7('0x44')]+'%'};return _0x7f7ec9;})});}_0x1efee6=_[_0x94d7('0x46')]({},_0x1efee6,_0x47169d[_0x94d7('0x47')]);return db[_0x94d7('0x54')][_0x94d7('0x1e')]({'where':_0x1efee6[_0x94d7('0x43')]})[_0x94d7('0x25')](function(_0x234a69){_0x419571[_0x94d7('0x1e')]=_0x234a69;if(_0x47169d[_0x94d7('0x38')]['includeAll']){_0x1efee6[_0x94d7('0x49')]=[{'all':!![]}];}return db[_0x94d7('0x54')]['findAll'](_0x1efee6);})[_0x94d7('0x25')](function(_0x2a7748){_0x419571['rows']=_0x2a7748;return _0x419571;});}})[_0x94d7('0x25')](respondWithFilteredResult(_0xdc560c,_0x1efee6))[_0x94d7('0x4c')](handleError(_0xdc560c,null));};