1479b62f448926cb0344460309c502b99a23dff1
[motion2.git] / server / api / jscriptyQuestionReport / jscriptyQuestionReport.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 _0xcee8=['params','rawAttributes','fields','includeAll','create','body','destroy','find','describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','offset','undefined','limit','count','json','apply','reject','save','update','then','sendStatus','name','index','JscriptyQuestionReport','fieldName','type','key','keys','query','filters','intersection','model','attributes','length','nolimit','order','sort','filter','where','merge','map','VIRTUAL','options','include','findAll','rows','catch','show'];(function(_0x5184fc,_0x114b95){var _0x1b52af=function(_0x21b1f2){while(--_0x21b1f2){_0x5184fc['push'](_0x5184fc['shift']());}};_0x1b52af(++_0x114b95);}(_0xcee8,0x9d));var _0x8cee=function(_0x316f8b,_0x3aa4d8){_0x316f8b=_0x316f8b-0x0;var _0x550407=_0xcee8[_0x316f8b];return _0x550407;};'use strict';var emlformat=require(_0x8cee('0x0'));var rimraf=require(_0x8cee('0x1'));var zipdir=require(_0x8cee('0x2'));var jsonpatch=require(_0x8cee('0x3'));var rp=require(_0x8cee('0x4'));var moment=require(_0x8cee('0x5'));var BPromise=require(_0x8cee('0x6'));var Mustache=require(_0x8cee('0x7'));var util=require('util');var path=require(_0x8cee('0x8'));var sox=require('sox');var csv=require(_0x8cee('0x9'));var ejs=require(_0x8cee('0xa'));var fs=require('fs');var fs_extra=require(_0x8cee('0xb'));var _=require('lodash');var squel=require(_0x8cee('0xc'));var crypto=require('crypto');var jsforce=require(_0x8cee('0xd'));var deskjs=require(_0x8cee('0xe'));var toCsv=require('to-csv');var querystring=require(_0x8cee('0xf'));var Papa=require(_0x8cee('0x10'));var Redis=require('ioredis');var authService=require(_0x8cee('0x11'));var qs=require(_0x8cee('0x12'));var as=require(_0x8cee('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x8cee('0x14'))(_0x8cee('0x15'));var utils=require(_0x8cee('0x16'));var config=require(_0x8cee('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x8cee('0x18'))['db'];function respondWithStatusCode(_0x217204,_0xecc391){_0xecc391=_0xecc391||0xcc;return function(_0x9dfbf0){if(_0x9dfbf0){return _0x217204['sendStatus'](_0xecc391);}return _0x217204[_0x8cee('0x19')](_0xecc391)[_0x8cee('0x1a')]();};}function respondWithResult(_0x43bb07,_0x515cc4){_0x515cc4=_0x515cc4||0xc8;return function(_0xf1eb04){if(_0xf1eb04){return _0x43bb07[_0x8cee('0x19')](_0x515cc4)['json'](_0xf1eb04);}};}function respondWithFilteredResult(_0x574437,_0x35ad47){return function(_0x27d8d6){if(_0x27d8d6){var _0x58bb62=typeof _0x35ad47[_0x8cee('0x1b')]===_0x8cee('0x1c')&&typeof _0x35ad47[_0x8cee('0x1d')]===_0x8cee('0x1c');var _0x58f6f5=_0x27d8d6[_0x8cee('0x1e')];var _0x50d39e=_0x58bb62?0x0:_0x35ad47[_0x8cee('0x1b')];var _0x7e5fd0=_0x58bb62?_0x27d8d6[_0x8cee('0x1e')]:_0x35ad47[_0x8cee('0x1b')]+_0x35ad47[_0x8cee('0x1d')];var _0x37ed6a;if(_0x7e5fd0>=_0x58f6f5){_0x7e5fd0=_0x58f6f5;_0x37ed6a=0xc8;}else{_0x37ed6a=0xce;}_0x574437['status'](_0x37ed6a);return _0x574437['set']('Content-Range',_0x50d39e+'-'+_0x7e5fd0+'/'+_0x58f6f5)[_0x8cee('0x1f')](_0x27d8d6);}return null;};}function patchUpdates(_0x2fd233){return function(_0x2c6b02){try{jsonpatch[_0x8cee('0x20')](_0x2c6b02,_0x2fd233,!![]);}catch(_0x13cc8d){return BPromise[_0x8cee('0x21')](_0x13cc8d);}return _0x2c6b02[_0x8cee('0x22')]();};}function saveUpdates(_0x2daa37,_0x1fb72c){return function(_0x822c59){if(_0x822c59){return _0x822c59[_0x8cee('0x23')](_0x2daa37)[_0x8cee('0x24')](function(_0x101d1d){return _0x101d1d;});}return null;};}function removeEntity(_0x3b5c6f,_0x23ea32){return function(_0x32e925){if(_0x32e925){return _0x32e925['destroy']()[_0x8cee('0x24')](function(){_0x3b5c6f[_0x8cee('0x19')](0xcc)[_0x8cee('0x1a')]();});}};}function handleEntityNotFound(_0x3c210c,_0x240133){return function(_0x46a4fb){if(!_0x46a4fb){_0x3c210c[_0x8cee('0x25')](0x194);}return _0x46a4fb;};}function handleError(_0x56932b,_0xd9ec0e){_0xd9ec0e=_0xd9ec0e||0x1f4;return function(_0x536989){logger['error'](_0x536989['stack']);if(_0x536989[_0x8cee('0x26')]){delete _0x536989[_0x8cee('0x26')];}_0x56932b['status'](_0xd9ec0e)['send'](_0x536989);};}exports[_0x8cee('0x27')]=function(_0x291cd8,_0x2e9c06){var _0xe545b0={},_0x5e5c9c={},_0x2b6500={'count':0x0,'rows':[]};var _0xb78fe1=_['map'](db[_0x8cee('0x28')]['rawAttributes'],function(_0x248325){return{'name':_0x248325[_0x8cee('0x29')],'type':_0x248325[_0x8cee('0x2a')][_0x8cee('0x2b')]};});_0x5e5c9c['model']=_['map'](_0xb78fe1,_0x8cee('0x26'));_0x5e5c9c['query']=_[_0x8cee('0x2c')](_0x291cd8[_0x8cee('0x2d')]);_0x5e5c9c[_0x8cee('0x2e')]=_[_0x8cee('0x2f')](_0x5e5c9c[_0x8cee('0x30')],_0x5e5c9c[_0x8cee('0x2d')]);_0xe545b0[_0x8cee('0x31')]=_['intersection'](_0x5e5c9c[_0x8cee('0x30')],qs['fields'](_0x291cd8[_0x8cee('0x2d')]['fields']));_0xe545b0['attributes']=_0xe545b0[_0x8cee('0x31')][_0x8cee('0x32')]?_0xe545b0[_0x8cee('0x31')]:_0x5e5c9c['model'];if(!_0x291cd8[_0x8cee('0x2d')]['hasOwnProperty'](_0x8cee('0x33'))){_0xe545b0[_0x8cee('0x1d')]=qs[_0x8cee('0x1d')](_0x291cd8['query'][_0x8cee('0x1d')]);_0xe545b0[_0x8cee('0x1b')]=qs['offset'](_0x291cd8['query'][_0x8cee('0x1b')]);}_0xe545b0[_0x8cee('0x34')]=qs['sort'](_0x291cd8[_0x8cee('0x2d')][_0x8cee('0x35')]);_0xe545b0['where']=qs['filters'](_['pick'](_0x291cd8[_0x8cee('0x2d')],_0x5e5c9c[_0x8cee('0x2e')]),_0xb78fe1);if(_0x291cd8[_0x8cee('0x2d')][_0x8cee('0x36')]){_0xe545b0[_0x8cee('0x37')]=_[_0x8cee('0x38')](_0xe545b0[_0x8cee('0x37')],{'$or':_[_0x8cee('0x39')](_0xb78fe1,function(_0x3ec80b){if(_0x3ec80b['type']!==_0x8cee('0x3a')){var _0x1f33c8={};_0x1f33c8[_0x3ec80b[_0x8cee('0x26')]]={'$like':'%'+_0x291cd8['query']['filter']+'%'};return _0x1f33c8;}})});}_0xe545b0=_[_0x8cee('0x38')]({},_0xe545b0,_0x291cd8[_0x8cee('0x3b')]);var _0x58a36a={'where':_0xe545b0['where']};return db['JscriptyQuestionReport'][_0x8cee('0x1e')](_0x58a36a)[_0x8cee('0x24')](function(_0x5ca789){_0x2b6500[_0x8cee('0x1e')]=_0x5ca789;if(_0x291cd8[_0x8cee('0x2d')]['includeAll']){_0xe545b0[_0x8cee('0x3c')]=[{'all':!![]}];}return db['JscriptyQuestionReport'][_0x8cee('0x3d')](_0xe545b0);})['then'](function(_0x5d8ebb){_0x2b6500[_0x8cee('0x3e')]=_0x5d8ebb;return _0x2b6500;})[_0x8cee('0x24')](respondWithFilteredResult(_0x2e9c06,_0xe545b0))[_0x8cee('0x3f')](handleError(_0x2e9c06,null));};exports[_0x8cee('0x40')]=function(_0x242355,_0x57c194){var _0x1e813b={'raw':!![],'where':{'id':_0x242355[_0x8cee('0x41')]['id']}},_0x510cfa={};_0x510cfa['model']=_[_0x8cee('0x2c')](db['JscriptyQuestionReport'][_0x8cee('0x42')]);_0x510cfa[_0x8cee('0x2d')]=_['keys'](_0x242355[_0x8cee('0x2d')]);_0x510cfa[_0x8cee('0x2e')]=_[_0x8cee('0x2f')](_0x510cfa[_0x8cee('0x30')],_0x510cfa[_0x8cee('0x2d')]);_0x1e813b[_0x8cee('0x31')]=_[_0x8cee('0x2f')](_0x510cfa[_0x8cee('0x30')],qs[_0x8cee('0x43')](_0x242355[_0x8cee('0x2d')][_0x8cee('0x43')]));_0x1e813b[_0x8cee('0x31')]=_0x1e813b[_0x8cee('0x31')]['length']?_0x1e813b['attributes']:_0x510cfa[_0x8cee('0x30')];if(_0x242355[_0x8cee('0x2d')][_0x8cee('0x44')]){_0x1e813b['include']=[{'all':!![]}];}_0x1e813b=_[_0x8cee('0x38')]({},_0x1e813b,_0x242355[_0x8cee('0x3b')]);return db['JscriptyQuestionReport']['find'](_0x1e813b)[_0x8cee('0x24')](handleEntityNotFound(_0x57c194,null))[_0x8cee('0x24')](respondWithResult(_0x57c194,null))[_0x8cee('0x3f')](handleError(_0x57c194,null));};exports[_0x8cee('0x45')]=function(_0x56498f,_0x514e02){return db['JscriptyQuestionReport']['create'](_0x56498f[_0x8cee('0x46')],{})[_0x8cee('0x24')](respondWithResult(_0x514e02,0xc9))[_0x8cee('0x3f')](handleError(_0x514e02,null));};exports[_0x8cee('0x23')]=function(_0x4c658d,_0x2a24a1){if(_0x4c658d[_0x8cee('0x46')]['id']){delete _0x4c658d[_0x8cee('0x46')]['id'];}return db[_0x8cee('0x28')]['find']({'where':{'id':_0x4c658d[_0x8cee('0x41')]['id']}})[_0x8cee('0x24')](handleEntityNotFound(_0x2a24a1,null))[_0x8cee('0x24')](saveUpdates(_0x4c658d['body'],null))['then'](respondWithResult(_0x2a24a1,null))[_0x8cee('0x3f')](handleError(_0x2a24a1,null));};exports[_0x8cee('0x47')]=function(_0x26362a,_0x3c7e87){return db[_0x8cee('0x28')][_0x8cee('0x48')]({'where':{'id':_0x26362a[_0x8cee('0x41')]['id']}})[_0x8cee('0x24')](handleEntityNotFound(_0x3c7e87,null))['then'](removeEntity(_0x3c7e87,null))[_0x8cee('0x3f')](handleError(_0x3c7e87,null));};exports[_0x8cee('0x49')]=function(_0x411361,_0x20e0f7){return db[_0x8cee('0x28')]['describe']()['then'](respondWithResult(_0x20e0f7,null))[_0x8cee('0x3f')](handleError(_0x20e0f7,null));};