Built motion from commit (unavailable).|2.5.0
[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 _0x5a64=['../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','then','end','error','stack','name','index','map','JscriptySessionReport','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','options','includeAll','include','findAll','rows','params','find','catch','create','body','describe','findOne','rawAttributes','SessionId','JscriptyQuestionReport','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs'];(function(_0x480f34,_0x2f37df){var _0x245d27=function(_0x5e5b9e){while(--_0x5e5b9e){_0x480f34['push'](_0x480f34['shift']());}};_0x245d27(++_0x2f37df);}(_0x5a64,0x8c));var _0x45a6=function(_0x5631ca,_0x4d1bf1){_0x5631ca=_0x5631ca-0x0;var _0x21a62a=_0x5a64[_0x5631ca];return _0x21a62a;};'use strict';var pdf=require(_0x45a6('0x0'));var emlformat=require(_0x45a6('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x45a6('0x2'));var jsonpatch=require(_0x45a6('0x3'));var rp=require(_0x45a6('0x4'));var moment=require(_0x45a6('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x45a6('0x6'));var util=require(_0x45a6('0x7'));var path=require(_0x45a6('0x8'));var sox=require(_0x45a6('0x9'));var csv=require(_0x45a6('0xa'));var ejs=require(_0x45a6('0xb'));var fs=require('fs');var _=require(_0x45a6('0xc'));var squel=require('squel');var crypto=require(_0x45a6('0xd'));var jsforce=require(_0x45a6('0xe'));var deskjs=require(_0x45a6('0xf'));var toCsv=require(_0x45a6('0xa'));var querystring=require('querystring');var Papa=require(_0x45a6('0x10'));var Redis=require(_0x45a6('0x11'));var authService=require(_0x45a6('0x12'));var qs=require(_0x45a6('0x13'));var as=require(_0x45a6('0x14'));var hardwareService=require(_0x45a6('0x15'));var logger=require(_0x45a6('0x16'))(_0x45a6('0x17'));var utils=require(_0x45a6('0x18'));var config=require(_0x45a6('0x19'));var db=require(_0x45a6('0x1a'))['db'];function respondWithStatusCode(_0x2c4db9,_0x2e85a4){_0x2e85a4=_0x2e85a4||0xcc;return function(_0x226ecf){if(_0x226ecf){return _0x2c4db9[_0x45a6('0x1b')](_0x2e85a4);}return _0x2c4db9[_0x45a6('0x1c')](_0x2e85a4)['end']();};}function respondWithResult(_0x54f841,_0x5f5a0e){_0x5f5a0e=_0x5f5a0e||0xc8;return function(_0x21a8bd){if(_0x21a8bd){return _0x54f841[_0x45a6('0x1c')](_0x5f5a0e)[_0x45a6('0x1d')](_0x21a8bd);}};}function respondWithFilteredResult(_0x326524,_0x156dbd){return function(_0x317119){if(_0x317119){var _0x489d37=_0x317119[_0x45a6('0x1e')],_0xd02632=_0x156dbd[_0x45a6('0x1f')],_0x19a0d4=_0x156dbd[_0x45a6('0x1f')]+_0x156dbd[_0x45a6('0x20')],_0x4b829f;if(_0x19a0d4>=_0x489d37){_0x19a0d4=_0x489d37;_0x4b829f=0xc8;}else{_0x4b829f=0xce;}_0x326524[_0x45a6('0x1c')](_0x4b829f);return _0x326524[_0x45a6('0x21')](_0x45a6('0x22'),_0xd02632+'-'+_0x19a0d4+'/'+_0x489d37)[_0x45a6('0x1d')](_0x317119);}return null;};}function patchUpdates(_0x36cb5c){return function(_0x568e88){try{jsonpatch[_0x45a6('0x23')](_0x568e88,_0x36cb5c,!![]);}catch(_0x4a3b4e){return BPromise[_0x45a6('0x24')](_0x4a3b4e);}return _0x568e88['save']();};}function saveUpdates(_0x3f1e64,_0x43d034){return function(_0x115dc3){if(_0x115dc3){return _0x115dc3[_0x45a6('0x25')](_0x3f1e64)['then'](function(_0x1acdfc){return _0x1acdfc;});}return null;};}function removeEntity(_0x7cc8a6,_0x32ff4f){return function(_0x222ce9){if(_0x222ce9){return _0x222ce9[_0x45a6('0x26')]()[_0x45a6('0x27')](function(){_0x7cc8a6[_0x45a6('0x1c')](0xcc)[_0x45a6('0x28')]();});}};}function handleEntityNotFound(_0x5cefa9,_0x3137f2){return function(_0x26ef28){if(!_0x26ef28){_0x5cefa9[_0x45a6('0x1b')](0x194);}return _0x26ef28;};}function handleError(_0x408afb,_0x4bfc69){_0x4bfc69=_0x4bfc69||0x1f4;return function(_0x37cafa){logger[_0x45a6('0x29')](_0x37cafa[_0x45a6('0x2a')]);if(_0x37cafa[_0x45a6('0x2b')]){delete _0x37cafa[_0x45a6('0x2b')];}_0x408afb[_0x45a6('0x1c')](_0x4bfc69)['send'](_0x37cafa);};}exports[_0x45a6('0x2c')]=function(_0x473cd5,_0x15db8e){var _0x569690={},_0x1c419e={},_0x59abf7={'count':0x0,'rows':[]};var _0x512044=_[_0x45a6('0x2d')](db[_0x45a6('0x2e')]['rawAttributes'],function(_0x239a7c){return{'name':_0x239a7c['fieldName'],'type':_0x239a7c[_0x45a6('0x2f')][_0x45a6('0x30')]};});_0x1c419e[_0x45a6('0x31')]=_[_0x45a6('0x2d')](_0x512044,_0x45a6('0x2b'));_0x1c419e[_0x45a6('0x32')]=_[_0x45a6('0x33')](_0x473cd5['query']);_0x1c419e[_0x45a6('0x34')]=_[_0x45a6('0x35')](_0x1c419e['model'],_0x1c419e['query']);_0x569690[_0x45a6('0x36')]=_[_0x45a6('0x35')](_0x1c419e[_0x45a6('0x31')],qs[_0x45a6('0x37')](_0x473cd5[_0x45a6('0x32')][_0x45a6('0x37')]));_0x569690[_0x45a6('0x36')]=_0x569690[_0x45a6('0x36')][_0x45a6('0x38')]?_0x569690[_0x45a6('0x36')]:_0x1c419e[_0x45a6('0x31')];if(!_0x473cd5[_0x45a6('0x32')][_0x45a6('0x39')](_0x45a6('0x3a'))){_0x569690[_0x45a6('0x20')]=qs[_0x45a6('0x20')](_0x473cd5[_0x45a6('0x32')][_0x45a6('0x20')]);_0x569690[_0x45a6('0x1f')]=qs['offset'](_0x473cd5[_0x45a6('0x32')][_0x45a6('0x1f')]);}_0x569690[_0x45a6('0x3b')]=qs[_0x45a6('0x3c')](_0x473cd5[_0x45a6('0x32')][_0x45a6('0x3c')]);_0x569690['where']=qs[_0x45a6('0x34')](_[_0x45a6('0x3d')](_0x473cd5['query'],_0x1c419e['filters']),_0x512044);if(_0x473cd5[_0x45a6('0x32')][_0x45a6('0x3e')]){_0x569690[_0x45a6('0x3f')]=_['merge'](_0x569690['where'],{'$or':_[_0x45a6('0x2d')](_0x512044,function(_0x22680c){if(_0x22680c[_0x45a6('0x2f')]!=='VIRTUAL'){var _0x2ea44c={};_0x2ea44c[_0x22680c['name']]={'$like':'%'+_0x473cd5[_0x45a6('0x32')]['filter']+'%'};return _0x2ea44c;}})});}_0x569690=_[_0x45a6('0x40')]({},_0x569690,_0x473cd5[_0x45a6('0x41')]);var _0x3b8879={'where':_0x569690[_0x45a6('0x3f')]};return db['JscriptySessionReport']['count'](_0x3b8879)[_0x45a6('0x27')](function(_0x2b3970){_0x59abf7[_0x45a6('0x1e')]=_0x2b3970;if(_0x473cd5['query'][_0x45a6('0x42')]){_0x569690[_0x45a6('0x43')]=[{'all':!![]}];}return db[_0x45a6('0x2e')][_0x45a6('0x44')](_0x569690);})[_0x45a6('0x27')](function(_0x53ba46){_0x59abf7[_0x45a6('0x45')]=_0x53ba46;return _0x59abf7;})[_0x45a6('0x27')](respondWithFilteredResult(_0x15db8e,_0x569690))['catch'](handleError(_0x15db8e,null));};exports['show']=function(_0x2f456f,_0x3c8ede){var _0x40cfb3={'raw':!![],'where':{'id':_0x2f456f[_0x45a6('0x46')]['id']}},_0xec0eb9={};_0xec0eb9[_0x45a6('0x31')]=_[_0x45a6('0x33')](db[_0x45a6('0x2e')]['rawAttributes']);_0xec0eb9[_0x45a6('0x32')]=_[_0x45a6('0x33')](_0x2f456f[_0x45a6('0x32')]);_0xec0eb9['filters']=_[_0x45a6('0x35')](_0xec0eb9[_0x45a6('0x31')],_0xec0eb9[_0x45a6('0x32')]);_0x40cfb3[_0x45a6('0x36')]=_[_0x45a6('0x35')](_0xec0eb9[_0x45a6('0x31')],qs['fields'](_0x2f456f['query']['fields']));_0x40cfb3[_0x45a6('0x36')]=_0x40cfb3['attributes']['length']?_0x40cfb3[_0x45a6('0x36')]:_0xec0eb9[_0x45a6('0x31')];if(_0x2f456f[_0x45a6('0x32')][_0x45a6('0x42')]){_0x40cfb3[_0x45a6('0x43')]=[{'all':!![]}];}_0x40cfb3=_['merge']({},_0x40cfb3,_0x2f456f[_0x45a6('0x41')]);return db['JscriptySessionReport'][_0x45a6('0x47')](_0x40cfb3)[_0x45a6('0x27')](handleEntityNotFound(_0x3c8ede,null))[_0x45a6('0x27')](respondWithResult(_0x3c8ede,null))[_0x45a6('0x48')](handleError(_0x3c8ede,null));};exports[_0x45a6('0x49')]=function(_0x5e8102,_0x160a27){return db[_0x45a6('0x2e')][_0x45a6('0x49')](_0x5e8102[_0x45a6('0x4a')],{})['then'](respondWithResult(_0x160a27,0xc9))[_0x45a6('0x48')](handleError(_0x160a27,null));};exports[_0x45a6('0x25')]=function(_0x123b84,_0x1c6ea2){if(_0x123b84[_0x45a6('0x4a')]['id']){delete _0x123b84[_0x45a6('0x4a')]['id'];}return db['JscriptySessionReport'][_0x45a6('0x47')]({'where':{'id':_0x123b84[_0x45a6('0x46')]['id']}})['then'](handleEntityNotFound(_0x1c6ea2,null))[_0x45a6('0x27')](saveUpdates(_0x123b84[_0x45a6('0x4a')],null))[_0x45a6('0x27')](respondWithResult(_0x1c6ea2,null))['catch'](handleError(_0x1c6ea2,null));};exports[_0x45a6('0x26')]=function(_0x45c1ed,_0xe14a21){return db[_0x45a6('0x2e')]['find']({'where':{'id':_0x45c1ed[_0x45a6('0x46')]['id']}})[_0x45a6('0x27')](handleEntityNotFound(_0xe14a21,null))['then'](removeEntity(_0xe14a21,null))[_0x45a6('0x48')](handleError(_0xe14a21,null));};exports[_0x45a6('0x4b')]=function(_0x567050,_0xd1004){return db[_0x45a6('0x2e')]['describe']()[_0x45a6('0x27')](respondWithResult(_0xd1004,null))[_0x45a6('0x48')](handleError(_0xd1004,null));};exports['getQuestions']=function(_0x26b407,_0x155e5e,_0x22728a){var _0x8e0c08={'raw':!![],'where':{}};var _0x837be0={};var _0x4cdb31={'count':0x0,'rows':[]};return db['JscriptySessionReport'][_0x45a6('0x4c')]({'where':{'id':_0x26b407[_0x45a6('0x46')]['id']}})[_0x45a6('0x27')](handleEntityNotFound(_0x155e5e,null))[_0x45a6('0x27')](function(_0x33790a){if(_0x33790a){_0x837be0['model']=_[_0x45a6('0x33')](db['JscriptyQuestionReport'][_0x45a6('0x4d')]);_0x837be0[_0x45a6('0x32')]=_[_0x45a6('0x33')](_0x26b407[_0x45a6('0x32')]);_0x837be0[_0x45a6('0x34')]=_[_0x45a6('0x35')](_0x837be0[_0x45a6('0x31')],_0x837be0[_0x45a6('0x32')]);_0x8e0c08[_0x45a6('0x36')]=_[_0x45a6('0x35')](_0x837be0[_0x45a6('0x31')],qs[_0x45a6('0x37')](_0x26b407[_0x45a6('0x32')][_0x45a6('0x37')]));_0x8e0c08['attributes']=_0x8e0c08[_0x45a6('0x36')][_0x45a6('0x38')]?_0x8e0c08[_0x45a6('0x36')]:_0x837be0[_0x45a6('0x31')];if(!_0x26b407[_0x45a6('0x32')][_0x45a6('0x39')](_0x45a6('0x3a'))){_0x8e0c08['limit']=qs[_0x45a6('0x20')](_0x26b407[_0x45a6('0x32')]['limit']);_0x8e0c08[_0x45a6('0x1f')]=qs[_0x45a6('0x1f')](_0x26b407[_0x45a6('0x32')][_0x45a6('0x1f')]);}_0x8e0c08[_0x45a6('0x3b')]=qs[_0x45a6('0x3c')](_0x26b407['query'][_0x45a6('0x3c')]);_0x8e0c08[_0x45a6('0x3f')]=qs['filters'](_[_0x45a6('0x3d')](_0x26b407[_0x45a6('0x32')],_0x837be0[_0x45a6('0x34')]));_0x8e0c08['where'][_0x45a6('0x4e')]=_0x33790a['id'];if(_0x26b407[_0x45a6('0x32')][_0x45a6('0x3e')]){_0x8e0c08[_0x45a6('0x3f')]=_[_0x45a6('0x40')](_0x8e0c08[_0x45a6('0x3f')],{'$or':_['map'](_0x8e0c08[_0x45a6('0x36')],function(_0x472310){var _0x4b5130={};_0x4b5130[_0x472310]={'$like':'%'+_0x26b407[_0x45a6('0x32')][_0x45a6('0x3e')]+'%'};return _0x4b5130;})});}_0x8e0c08=_[_0x45a6('0x40')]({},_0x8e0c08,_0x26b407['options']);return db[_0x45a6('0x4f')][_0x45a6('0x1e')]({'where':_0x8e0c08[_0x45a6('0x3f')]})['then'](function(_0x75a47d){_0x4cdb31[_0x45a6('0x1e')]=_0x75a47d;if(_0x26b407['query']['includeAll']){_0x8e0c08['include']=[{'all':!![]}];}return db[_0x45a6('0x4f')][_0x45a6('0x44')](_0x8e0c08);})[_0x45a6('0x27')](function(_0xfec664){_0x4cdb31[_0x45a6('0x45')]=_0xfec664;return _0x4cdb31;});}})[_0x45a6('0x27')](respondWithFilteredResult(_0x155e5e,_0x8e0c08))[_0x45a6('0x48')](handleError(_0x155e5e,null));};