Built motion from commit 1fa89557.|2.6.10
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.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 _0x2187=['AnalyticFieldReport','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','order','sort','where','pick','merge','filter','options','include','findAll','rows','catch','params','fields','includeAll','find','create','body','bulkCreate','update','bulkDestroy','destroy','addFields','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','then','error','stack','name','send','index','map'];(function(_0x404c12,_0x41fd2b){var _0x224c7e=function(_0x39250b){while(--_0x39250b){_0x404c12['push'](_0x404c12['shift']());}};_0x224c7e(++_0x41fd2b);}(_0x2187,0x1ad));var _0x7218=function(_0x44a8c7,_0x56f284){_0x44a8c7=_0x44a8c7-0x0;var _0x4f70cd=_0x2187[_0x44a8c7];return _0x4f70cd;};'use strict';var emlformat=require(_0x7218('0x0'));var rimraf=require(_0x7218('0x1'));var zipdir=require(_0x7218('0x2'));var jsonpatch=require(_0x7218('0x3'));var rp=require(_0x7218('0x4'));var moment=require(_0x7218('0x5'));var BPromise=require(_0x7218('0x6'));var Mustache=require(_0x7218('0x7'));var util=require(_0x7218('0x8'));var path=require('path');var sox=require(_0x7218('0x9'));var csv=require(_0x7218('0xa'));var ejs=require(_0x7218('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x7218('0xc'));var crypto=require(_0x7218('0xd'));var jsforce=require(_0x7218('0xe'));var deskjs=require(_0x7218('0xf'));var toCsv=require(_0x7218('0xa'));var querystring=require(_0x7218('0x10'));var Papa=require('papaparse');var Redis=require(_0x7218('0x11'));var authService=require(_0x7218('0x12'));var qs=require(_0x7218('0x13'));var as=require(_0x7218('0x14'));var hardwareService=require(_0x7218('0x15'));var logger=require(_0x7218('0x16'))(_0x7218('0x17'));var utils=require(_0x7218('0x18'));var config=require(_0x7218('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x7218('0x1a'))['db'];function respondWithStatusCode(_0x30f134,_0x17fc52){_0x17fc52=_0x17fc52||0xcc;return function(_0x378d06){if(_0x378d06){return _0x30f134[_0x7218('0x1b')](_0x17fc52);}return _0x30f134[_0x7218('0x1c')](_0x17fc52)[_0x7218('0x1d')]();};}function respondWithResult(_0x35cf31,_0x30983c){_0x30983c=_0x30983c||0xc8;return function(_0x3416ab){if(_0x3416ab){return _0x35cf31['status'](_0x30983c)[_0x7218('0x1e')](_0x3416ab);}};}function respondWithFilteredResult(_0x411dbd,_0x3452b2){return function(_0x3b5af9){if(_0x3b5af9){var _0xc6331a=typeof _0x3452b2[_0x7218('0x1f')]===_0x7218('0x20')&&typeof _0x3452b2[_0x7218('0x21')]===_0x7218('0x20');var _0x5568f6=_0x3b5af9['count'];var _0x16d910=_0xc6331a?0x0:_0x3452b2[_0x7218('0x1f')];var _0x566e85=_0xc6331a?_0x3b5af9[_0x7218('0x22')]:_0x3452b2['offset']+_0x3452b2[_0x7218('0x21')];var _0x4883ca;if(_0x566e85>=_0x5568f6){_0x566e85=_0x5568f6;_0x4883ca=0xc8;}else{_0x4883ca=0xce;}_0x411dbd['status'](_0x4883ca);return _0x411dbd[_0x7218('0x23')](_0x7218('0x24'),_0x16d910+'-'+_0x566e85+'/'+_0x5568f6)[_0x7218('0x1e')](_0x3b5af9);}return null;};}function patchUpdates(_0x1b9820){return function(_0x3ac223){try{jsonpatch['apply'](_0x3ac223,_0x1b9820,!![]);}catch(_0x32690f){return BPromise[_0x7218('0x25')](_0x32690f);}return _0x3ac223['save']();};}function saveUpdates(_0x14c2fa,_0x5af56c){return function(_0x1b690f){if(_0x1b690f){return _0x1b690f['update'](_0x14c2fa)[_0x7218('0x26')](function(_0xaff75b){return _0xaff75b;});}return null;};}function removeEntity(_0x471333,_0x293b68){return function(_0x537b6a){if(_0x537b6a){return _0x537b6a['destroy']()[_0x7218('0x26')](function(){_0x471333[_0x7218('0x1c')](0xcc)[_0x7218('0x1d')]();});}};}function handleEntityNotFound(_0x3dce2b,_0x17d8fd){return function(_0x144be9){if(!_0x144be9){_0x3dce2b[_0x7218('0x1b')](0x194);}return _0x144be9;};}function handleError(_0x18d9a4,_0x408a25){_0x408a25=_0x408a25||0x1f4;return function(_0x4bd163){logger[_0x7218('0x27')](_0x4bd163[_0x7218('0x28')]);if(_0x4bd163[_0x7218('0x29')]){delete _0x4bd163[_0x7218('0x29')];}_0x18d9a4['status'](_0x408a25)[_0x7218('0x2a')](_0x4bd163);};}exports[_0x7218('0x2b')]=function(_0x203b2d,_0x4b0e25){var _0x46b275={},_0x10e219={},_0x19b9c3={'count':0x0,'rows':[]};var _0x1e5872=_[_0x7218('0x2c')](db[_0x7218('0x2d')]['rawAttributes'],function(_0x4e237e){return{'name':_0x4e237e['fieldName'],'type':_0x4e237e[_0x7218('0x2e')][_0x7218('0x2f')]};});_0x10e219[_0x7218('0x30')]=_[_0x7218('0x2c')](_0x1e5872,_0x7218('0x29'));_0x10e219[_0x7218('0x31')]=_[_0x7218('0x32')](_0x203b2d[_0x7218('0x31')]);_0x10e219[_0x7218('0x33')]=_[_0x7218('0x34')](_0x10e219[_0x7218('0x30')],_0x10e219[_0x7218('0x31')]);_0x46b275[_0x7218('0x35')]=_['intersection'](_0x10e219['model'],qs['fields'](_0x203b2d[_0x7218('0x31')]['fields']));_0x46b275['attributes']=_0x46b275[_0x7218('0x35')][_0x7218('0x36')]?_0x46b275['attributes']:_0x10e219[_0x7218('0x30')];if(!_0x203b2d[_0x7218('0x31')][_0x7218('0x37')]('nolimit')){_0x46b275['limit']=qs[_0x7218('0x21')](_0x203b2d[_0x7218('0x31')]['limit']);_0x46b275[_0x7218('0x1f')]=qs[_0x7218('0x1f')](_0x203b2d[_0x7218('0x31')][_0x7218('0x1f')]);}_0x46b275[_0x7218('0x38')]=qs[_0x7218('0x39')](_0x203b2d[_0x7218('0x31')][_0x7218('0x39')]);_0x46b275[_0x7218('0x3a')]=qs['filters'](_[_0x7218('0x3b')](_0x203b2d[_0x7218('0x31')],_0x10e219['filters']),_0x1e5872);if(_0x203b2d['query']['filter']){_0x46b275[_0x7218('0x3a')]=_[_0x7218('0x3c')](_0x46b275[_0x7218('0x3a')],{'$or':_['map'](_0x1e5872,function(_0x52790e){if(_0x52790e[_0x7218('0x2e')]!=='VIRTUAL'){var _0x54734a={};_0x54734a[_0x52790e[_0x7218('0x29')]]={'$like':'%'+_0x203b2d['query'][_0x7218('0x3d')]+'%'};return _0x54734a;}})});}_0x46b275=_[_0x7218('0x3c')]({},_0x46b275,_0x203b2d[_0x7218('0x3e')]);var _0x14fe16={'where':_0x46b275['where']};return db['AnalyticFieldReport'][_0x7218('0x22')](_0x14fe16)[_0x7218('0x26')](function(_0x1d26bb){_0x19b9c3[_0x7218('0x22')]=_0x1d26bb;if(_0x203b2d['query']['includeAll']){_0x46b275[_0x7218('0x3f')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x7218('0x40')](_0x46b275);})[_0x7218('0x26')](function(_0x27f38c){_0x19b9c3[_0x7218('0x41')]=_0x27f38c;return _0x19b9c3;})[_0x7218('0x26')](respondWithFilteredResult(_0x4b0e25,_0x46b275))[_0x7218('0x42')](handleError(_0x4b0e25,null));};exports['show']=function(_0x1886eb,_0x3be1bb){var _0x23011d={'raw':![],'where':{'id':_0x1886eb[_0x7218('0x43')]['id']}},_0x176e71={};_0x176e71[_0x7218('0x30')]=_[_0x7218('0x32')](db[_0x7218('0x2d')]['rawAttributes']);_0x176e71[_0x7218('0x31')]=_[_0x7218('0x32')](_0x1886eb[_0x7218('0x31')]);_0x176e71[_0x7218('0x33')]=_['intersection'](_0x176e71[_0x7218('0x30')],_0x176e71[_0x7218('0x31')]);_0x23011d[_0x7218('0x35')]=_[_0x7218('0x34')](_0x176e71[_0x7218('0x30')],qs[_0x7218('0x44')](_0x1886eb[_0x7218('0x31')]['fields']));_0x23011d[_0x7218('0x35')]=_0x23011d[_0x7218('0x35')][_0x7218('0x36')]?_0x23011d[_0x7218('0x35')]:_0x176e71[_0x7218('0x30')];if(_0x1886eb['query'][_0x7218('0x45')]){_0x23011d[_0x7218('0x3f')]=[{'all':!![]}];}_0x23011d=_[_0x7218('0x3c')]({},_0x23011d,_0x1886eb[_0x7218('0x3e')]);return db['AnalyticFieldReport'][_0x7218('0x46')](_0x23011d)['then'](handleEntityNotFound(_0x3be1bb,null))[_0x7218('0x26')](respondWithResult(_0x3be1bb,null))['catch'](handleError(_0x3be1bb,null));};exports[_0x7218('0x47')]=function(_0x38eba6,_0x3bd9fe){return db['AnalyticFieldReport'][_0x7218('0x47')](_0x38eba6[_0x7218('0x48')],{})['then'](respondWithResult(_0x3bd9fe,0xc9))[_0x7218('0x42')](handleError(_0x3bd9fe,null));};exports[_0x7218('0x49')]=function(_0x3e0da9,_0x37f696){return db[_0x7218('0x2d')][_0x7218('0x49')](_0x3e0da9[_0x7218('0x48')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x37f696,0xc9))['catch'](handleError(_0x37f696,null));};exports[_0x7218('0x4a')]=function(_0x48dd02,_0x479159){if(_0x48dd02[_0x7218('0x48')]['id']){delete _0x48dd02['body']['id'];}return db[_0x7218('0x2d')][_0x7218('0x46')]({'where':{'id':_0x48dd02[_0x7218('0x43')]['id']}})['then'](handleEntityNotFound(_0x479159,null))[_0x7218('0x26')](saveUpdates(_0x48dd02['body'],null))[_0x7218('0x26')](respondWithResult(_0x479159,null))[_0x7218('0x42')](handleError(_0x479159,null));};exports['destroy']=function(_0x382fc2,_0x270d0c){return db[_0x7218('0x2d')][_0x7218('0x46')]({'where':{'id':_0x382fc2[_0x7218('0x43')]['id']}})['then'](handleEntityNotFound(_0x270d0c,null))[_0x7218('0x26')](removeEntity(_0x270d0c,null))['catch'](handleError(_0x270d0c,null));};exports[_0x7218('0x4b')]=function(_0x15fc0e,_0x34d502){return db[_0x7218('0x2d')][_0x7218('0x4c')]({'where':{'id':_0x15fc0e[_0x7218('0x31')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x7218('0x26')](respondWithResult(_0x34d502,0xcc))[_0x7218('0x42')](handleError(_0x34d502,null));};exports[_0x7218('0x4d')]=function(_0x2e2781,_0x5120b2,_0x1d6587){return db['AnalyticCustomReport']['findOne']({'where':{'id':_0x2e2781[_0x7218('0x43')]['id']}})['then'](handleEntityNotFound(_0x5120b2,null))[_0x7218('0x26')](function(_0x20469a){if(_0x20469a){return db['sequelize']['transaction'](function(_0x46db96){return db[_0x7218('0x2d')][_0x7218('0x4c')]({'where':{'CustomReportId':_0x2e2781[_0x7218('0x43')]['id']},'transaction':_0x46db96})['then'](function(_0x8e8fdf){var _0x55687a=_['map'](_0x2e2781['body'],function(_0x5aad8e){delete _0x5aad8e['id'];_0x5aad8e[_0x7218('0x4e')]=_0x2e2781[_0x7218('0x43')]['id'];return _0x5aad8e;});return db[_0x7218('0x2d')][_0x7218('0x49')](_0x55687a,{'transaction':_0x46db96});});})[_0x7218('0x26')](function(){return db[_0x7218('0x2d')][_0x7218('0x40')]({'where':{'CustomReportId':_0x2e2781[_0x7218('0x43')]['id']}});});}})[_0x7218('0x26')](respondWithResult(_0x5120b2,null))[_0x7218('0x42')](handleError(_0x5120b2,null));};