c555ae5bed67d8ee1aacd0b522f9c6541d4929fd
[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 _0x980b=['rimraf','fast-json-patch','request-promise','moment','mustache','sox','ejs','crypto','jsforce','querystring','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','then','error','stack','name','fieldName','type','model','map','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filters','where','merge','VIRTUAL','filter','options','JscriptySessionReport','findAll','rows','catch','show','rawAttributes','includeAll','find','create','body','params','getQuestions','findOne','JscriptyQuestionReport','html-pdf','eml-format'];(function(_0x126558,_0x143c9a){var _0x1f6d14=function(_0x2b0eea){while(--_0x2b0eea){_0x126558['push'](_0x126558['shift']());}};_0x1f6d14(++_0x143c9a);}(_0x980b,0x1e1));var _0xb980=function(_0x247e28,_0x4e1eb7){_0x247e28=_0x247e28-0x0;var _0x5579b0=_0x980b[_0x247e28];return _0x5579b0;};'use strict';var pdf=require(_0xb980('0x0'));var emlformat=require(_0xb980('0x1'));var rimraf=require(_0xb980('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb980('0x3'));var rp=require(_0xb980('0x4'));var moment=require(_0xb980('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb980('0x6'));var util=require('util');var path=require('path');var sox=require(_0xb980('0x7'));var csv=require('to-csv');var ejs=require(_0xb980('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0xb980('0x9'));var jsforce=require(_0xb980('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb980('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xb980('0xc'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb980('0xd'));var logger=require(_0xb980('0xe'))('api');var utils=require(_0xb980('0xf'));var config=require(_0xb980('0x10'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b80a8,_0x3db893){_0x3db893=_0x3db893||0xcc;return function(_0x256eac){if(_0x256eac){return _0x4b80a8[_0xb980('0x11')](_0x3db893);}return _0x4b80a8[_0xb980('0x12')](_0x3db893)[_0xb980('0x13')]();};}function respondWithResult(_0xe4dd8e,_0x53fda3){_0x53fda3=_0x53fda3||0xc8;return function(_0x5c00dc){if(_0x5c00dc){return _0xe4dd8e[_0xb980('0x12')](_0x53fda3)[_0xb980('0x14')](_0x5c00dc);}};}function respondWithFilteredResult(_0x3d1dd0,_0x38a029){return function(_0x3670c6){if(_0x3670c6){var _0x55c729=_0x3670c6[_0xb980('0x15')],_0x42be45=_0x38a029[_0xb980('0x16')],_0x4e424b=_0x38a029['offset']+_0x38a029[_0xb980('0x17')],_0x37c3ef;if(_0x4e424b>=_0x55c729){_0x4e424b=_0x55c729;_0x37c3ef=0xc8;}else{_0x37c3ef=0xce;}_0x3d1dd0[_0xb980('0x12')](_0x37c3ef);return _0x3d1dd0[_0xb980('0x18')](_0xb980('0x19'),_0x42be45+'-'+_0x4e424b+'/'+_0x55c729)[_0xb980('0x14')](_0x3670c6);}return null;};}function patchUpdates(_0x57c1d8){return function(_0x15d7a3){try{jsonpatch[_0xb980('0x1a')](_0x15d7a3,_0x57c1d8,!![]);}catch(_0x145091){return BPromise[_0xb980('0x1b')](_0x145091);}return _0x15d7a3['save']();};}function saveUpdates(_0x473193,_0x4d6af9){return function(_0x119176){if(_0x119176){return _0x119176[_0xb980('0x1c')](_0x473193)['then'](function(_0x3792ea){return _0x3792ea;});}return null;};}function removeEntity(_0x10b699,_0x374314){return function(_0x4c80b6){if(_0x4c80b6){return _0x4c80b6[_0xb980('0x1d')]()[_0xb980('0x1e')](function(){_0x10b699[_0xb980('0x12')](0xcc)[_0xb980('0x13')]();});}};}function handleEntityNotFound(_0x143d27,_0x515178){return function(_0x2287d7){if(!_0x2287d7){_0x143d27[_0xb980('0x11')](0x194);}return _0x2287d7;};}function handleError(_0x8502a9,_0x414863){_0x414863=_0x414863||0x1f4;return function(_0x5bbbc3){logger[_0xb980('0x1f')](_0x5bbbc3[_0xb980('0x20')]);if(_0x5bbbc3[_0xb980('0x21')]){delete _0x5bbbc3['name'];}_0x8502a9[_0xb980('0x12')](_0x414863)['send'](_0x5bbbc3);};}exports['index']=function(_0x3e8595,_0x2464c1){var _0x14f32d={},_0x4db293={},_0x3c7a83={'count':0x0,'rows':[]};var _0x1d457f=_['map'](db['JscriptySessionReport']['rawAttributes'],function(_0x2492e3){return{'name':_0x2492e3[_0xb980('0x22')],'type':_0x2492e3[_0xb980('0x23')]['key']};});_0x4db293[_0xb980('0x24')]=_[_0xb980('0x25')](_0x1d457f,_0xb980('0x21'));_0x4db293[_0xb980('0x26')]=_[_0xb980('0x27')](_0x3e8595[_0xb980('0x26')]);_0x4db293['filters']=_['intersection'](_0x4db293['model'],_0x4db293[_0xb980('0x26')]);_0x14f32d[_0xb980('0x28')]=_[_0xb980('0x29')](_0x4db293[_0xb980('0x24')],qs[_0xb980('0x2a')](_0x3e8595[_0xb980('0x26')][_0xb980('0x2a')]));_0x14f32d[_0xb980('0x28')]=_0x14f32d[_0xb980('0x28')][_0xb980('0x2b')]?_0x14f32d[_0xb980('0x28')]:_0x4db293['model'];if(!_0x3e8595[_0xb980('0x26')][_0xb980('0x2c')](_0xb980('0x2d'))){_0x14f32d[_0xb980('0x17')]=qs[_0xb980('0x17')](_0x3e8595[_0xb980('0x26')][_0xb980('0x17')]);_0x14f32d['offset']=qs[_0xb980('0x16')](_0x3e8595[_0xb980('0x26')][_0xb980('0x16')]);}_0x14f32d[_0xb980('0x2e')]=qs[_0xb980('0x2f')](_0x3e8595[_0xb980('0x26')][_0xb980('0x2f')]);_0x14f32d['where']=qs['filters'](_[_0xb980('0x30')](_0x3e8595[_0xb980('0x26')],_0x4db293[_0xb980('0x31')]));if(_0x3e8595['query']['filter']){_0x14f32d[_0xb980('0x32')]=_[_0xb980('0x33')](_0x14f32d[_0xb980('0x32')],{'$or':_[_0xb980('0x25')](_0x1d457f,function(_0x23dc89){if(_0x23dc89[_0xb980('0x23')]!==_0xb980('0x34')){var _0xacb7aa={};_0xacb7aa[_0x23dc89[_0xb980('0x21')]]={'$like':'%'+_0x3e8595[_0xb980('0x26')][_0xb980('0x35')]+'%'};return _0xacb7aa;}})});}_0x14f32d=_[_0xb980('0x33')]({},_0x14f32d,_0x3e8595[_0xb980('0x36')]);var _0x578602={'where':_0x14f32d[_0xb980('0x32')]};return db[_0xb980('0x37')][_0xb980('0x15')](_0x578602)[_0xb980('0x1e')](function(_0x48a177){_0x3c7a83[_0xb980('0x15')]=_0x48a177;if(_0x3e8595[_0xb980('0x26')]['includeAll']){_0x14f32d['include']=[{'all':!![]}];}return db['JscriptySessionReport'][_0xb980('0x38')](_0x14f32d);})[_0xb980('0x1e')](function(_0x34d9d2){_0x3c7a83[_0xb980('0x39')]=_0x34d9d2;return _0x3c7a83;})['then'](respondWithFilteredResult(_0x2464c1,_0x14f32d))[_0xb980('0x3a')](handleError(_0x2464c1,null));};exports[_0xb980('0x3b')]=function(_0x16d965,_0x27caa5){var _0x4dcdac={'raw':!![],'where':{'id':_0x16d965['params']['id']}},_0x155577={};_0x155577['model']=_[_0xb980('0x27')](db[_0xb980('0x37')][_0xb980('0x3c')]);_0x155577[_0xb980('0x26')]=_[_0xb980('0x27')](_0x16d965[_0xb980('0x26')]);_0x155577['filters']=_[_0xb980('0x29')](_0x155577[_0xb980('0x24')],_0x155577['query']);_0x4dcdac[_0xb980('0x28')]=_[_0xb980('0x29')](_0x155577['model'],qs[_0xb980('0x2a')](_0x16d965[_0xb980('0x26')]['fields']));_0x4dcdac['attributes']=_0x4dcdac[_0xb980('0x28')][_0xb980('0x2b')]?_0x4dcdac[_0xb980('0x28')]:_0x155577[_0xb980('0x24')];if(_0x16d965[_0xb980('0x26')][_0xb980('0x3d')]){_0x4dcdac['include']=[{'all':!![]}];}_0x4dcdac=_[_0xb980('0x33')]({},_0x4dcdac,_0x16d965['options']);return db[_0xb980('0x37')][_0xb980('0x3e')](_0x4dcdac)[_0xb980('0x1e')](handleEntityNotFound(_0x27caa5,null))[_0xb980('0x1e')](respondWithResult(_0x27caa5,null))[_0xb980('0x3a')](handleError(_0x27caa5,null));};exports[_0xb980('0x3f')]=function(_0x5730df,_0xe5e09c){return db[_0xb980('0x37')][_0xb980('0x3f')](_0x5730df[_0xb980('0x40')],{})[_0xb980('0x1e')](respondWithResult(_0xe5e09c,0xc9))[_0xb980('0x3a')](handleError(_0xe5e09c,null));};exports[_0xb980('0x1c')]=function(_0x59e3d3,_0x3710f8){if(_0x59e3d3[_0xb980('0x40')]['id']){delete _0x59e3d3[_0xb980('0x40')]['id'];}return db['JscriptySessionReport'][_0xb980('0x3e')]({'where':{'id':_0x59e3d3['params']['id']}})[_0xb980('0x1e')](handleEntityNotFound(_0x3710f8,null))['then'](saveUpdates(_0x59e3d3[_0xb980('0x40')],null))[_0xb980('0x1e')](respondWithResult(_0x3710f8,null))[_0xb980('0x3a')](handleError(_0x3710f8,null));};exports['destroy']=function(_0x14fc4b,_0x2adf3b){return db[_0xb980('0x37')][_0xb980('0x3e')]({'where':{'id':_0x14fc4b[_0xb980('0x41')]['id']}})[_0xb980('0x1e')](handleEntityNotFound(_0x2adf3b,null))['then'](removeEntity(_0x2adf3b,null))[_0xb980('0x3a')](handleError(_0x2adf3b,null));};exports['describe']=function(_0xb77497,_0x3c37f2){return db['JscriptySessionReport']['describe']()[_0xb980('0x1e')](respondWithResult(_0x3c37f2,null))['catch'](handleError(_0x3c37f2,null));};exports[_0xb980('0x42')]=function(_0x47b995,_0x3dd1a9,_0x344137){var _0x69900c={'raw':!![],'where':{}};var _0x1af3bd={};var _0x3e4bac={'count':0x0,'rows':[]};return db[_0xb980('0x37')][_0xb980('0x43')]({'where':{'id':_0x47b995['params']['id']}})[_0xb980('0x1e')](handleEntityNotFound(_0x3dd1a9,null))[_0xb980('0x1e')](function(_0x11323b){if(_0x11323b){_0x1af3bd['model']=_[_0xb980('0x27')](db[_0xb980('0x44')][_0xb980('0x3c')]);_0x1af3bd[_0xb980('0x26')]=_[_0xb980('0x27')](_0x47b995['query']);_0x1af3bd[_0xb980('0x31')]=_[_0xb980('0x29')](_0x1af3bd[_0xb980('0x24')],_0x1af3bd[_0xb980('0x26')]);_0x69900c[_0xb980('0x28')]=_[_0xb980('0x29')](_0x1af3bd[_0xb980('0x24')],qs[_0xb980('0x2a')](_0x47b995[_0xb980('0x26')][_0xb980('0x2a')]));_0x69900c[_0xb980('0x28')]=_0x69900c[_0xb980('0x28')]['length']?_0x69900c[_0xb980('0x28')]:_0x1af3bd[_0xb980('0x24')];if(!_0x47b995[_0xb980('0x26')]['hasOwnProperty'](_0xb980('0x2d'))){_0x69900c[_0xb980('0x17')]=qs[_0xb980('0x17')](_0x47b995['query'][_0xb980('0x17')]);_0x69900c[_0xb980('0x16')]=qs[_0xb980('0x16')](_0x47b995[_0xb980('0x26')][_0xb980('0x16')]);}_0x69900c[_0xb980('0x2e')]=qs[_0xb980('0x2f')](_0x47b995[_0xb980('0x26')][_0xb980('0x2f')]);_0x69900c[_0xb980('0x32')]=qs['filters'](_[_0xb980('0x30')](_0x47b995[_0xb980('0x26')],_0x1af3bd['filters']));_0x69900c[_0xb980('0x32')]['SessionId']=_0x11323b['id'];if(_0x47b995['query'][_0xb980('0x35')]){_0x69900c[_0xb980('0x32')]=_['merge'](_0x69900c[_0xb980('0x32')],{'$or':_[_0xb980('0x25')](_0x69900c[_0xb980('0x28')],function(_0x428149){var _0x4634dc={};_0x4634dc[_0x428149]={'$like':'%'+_0x47b995[_0xb980('0x26')][_0xb980('0x35')]+'%'};return _0x4634dc;})});}_0x69900c=_['merge']({},_0x69900c,_0x47b995['options']);return db[_0xb980('0x44')][_0xb980('0x15')]({'where':_0x69900c[_0xb980('0x32')]})['then'](function(_0x38cda3){_0x3e4bac['count']=_0x38cda3;if(_0x47b995['query'][_0xb980('0x3d')]){_0x69900c['include']=[{'all':!![]}];}return db[_0xb980('0x44')][_0xb980('0x38')](_0x69900c);})[_0xb980('0x1e')](function(_0x53828d){_0x3e4bac['rows']=_0x53828d;return _0x3e4bac;});}})[_0xb980('0x1e')](respondWithFilteredResult(_0x3dd1a9,_0x69900c))['catch'](handleError(_0x3dd1a9,null));};