Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / api / squareReport / squareReport.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 _0x26c2=['fieldName','key','model','query','keys','filters','intersection','attributes','fields','order','sort','where','pick','filter','type','options','includeAll','include','findAll','rows','catch','params','length','create','find','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','then','send','render','merge','body','contact','message','interaction','account','map','SquareReport','rawAttributes'];(function(_0x5b3b2e,_0x1481c2){var _0x4fa8d0=function(_0x50638b){while(--_0x50638b){_0x5b3b2e['push'](_0x5b3b2e['shift']());}};_0x4fa8d0(++_0x1481c2);}(_0x26c2,0x1d6));var _0x226c=function(_0x36ef25,_0x4d81a2){_0x36ef25=_0x36ef25-0x0;var _0x284425=_0x26c2[_0x36ef25];return _0x284425;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x226c('0x0'));var zipdir=require(_0x226c('0x1'));var jsonpatch=require(_0x226c('0x2'));var rp=require(_0x226c('0x3'));var moment=require('moment');var BPromise=require(_0x226c('0x4'));var Mustache=require('mustache');var util=require(_0x226c('0x5'));var path=require(_0x226c('0x6'));var sox=require(_0x226c('0x7'));var csv=require(_0x226c('0x8'));var ejs=require(_0x226c('0x9'));var fs=require('fs');var fs_extra=require(_0x226c('0xa'));var _=require(_0x226c('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x226c('0xc'));var toCsv=require(_0x226c('0x8'));var querystring=require('querystring');var Papa=require(_0x226c('0xd'));var Redis=require(_0x226c('0xe'));var authService=require(_0x226c('0xf'));var qs=require(_0x226c('0x10'));var as=require(_0x226c('0x11'));var hardwareService=require(_0x226c('0x12'));var logger=require(_0x226c('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x226c('0x14'));var licenseUtil=require(_0x226c('0x15'));var db=require(_0x226c('0x16'))['db'];function respondWithStatusCode(_0xa2f997,_0x593335){_0x593335=_0x593335||0xcc;return function(_0x48e142){if(_0x48e142){return _0xa2f997[_0x226c('0x17')](_0x593335);}return _0xa2f997[_0x226c('0x18')](_0x593335)[_0x226c('0x19')]();};}function respondWithResult(_0x1650e8,_0x665c7d){_0x665c7d=_0x665c7d||0xc8;return function(_0x5ab641){if(_0x5ab641){return _0x1650e8[_0x226c('0x18')](_0x665c7d)[_0x226c('0x1a')](_0x5ab641);}};}function respondWithFilteredResult(_0x2550db,_0x4b542b){return function(_0x19d62d){if(_0x19d62d){var _0x34489a=typeof _0x4b542b[_0x226c('0x1b')]===_0x226c('0x1c')&&typeof _0x4b542b[_0x226c('0x1d')]===_0x226c('0x1c');var _0x35d7d7=_0x19d62d[_0x226c('0x1e')];var _0x17e360=_0x34489a?0x0:_0x4b542b[_0x226c('0x1b')];var _0x2e51f4=_0x34489a?_0x19d62d[_0x226c('0x1e')]:_0x4b542b[_0x226c('0x1b')]+_0x4b542b['limit'];var _0x34242a;if(_0x2e51f4>=_0x35d7d7){_0x2e51f4=_0x35d7d7;_0x34242a=0xc8;}else{_0x34242a=0xce;}_0x2550db[_0x226c('0x18')](_0x34242a);return _0x2550db[_0x226c('0x1f')]('Content-Range',_0x17e360+'-'+_0x2e51f4+'/'+_0x35d7d7)[_0x226c('0x1a')](_0x19d62d);}return null;};}function patchUpdates(_0x9fae06){return function(_0x5b7a02){try{jsonpatch[_0x226c('0x20')](_0x5b7a02,_0x9fae06,!![]);}catch(_0x29c441){return BPromise[_0x226c('0x21')](_0x29c441);}return _0x5b7a02[_0x226c('0x22')]();};}function saveUpdates(_0x290542,_0x242a67){return function(_0x49e476){if(_0x49e476){return _0x49e476[_0x226c('0x23')](_0x290542)[_0x226c('0x24')](function(_0x17ab5f){return _0x17ab5f;});}return null;};}function removeEntity(_0x3f2643,_0x392717){return function(_0x6a80){if(_0x6a80){return _0x6a80['destroy']()[_0x226c('0x24')](function(){_0x3f2643[_0x226c('0x18')](0xcc)[_0x226c('0x19')]();});}};}function handleEntityNotFound(_0x4a371f,_0x1a720f){return function(_0x544d41){if(!_0x544d41){_0x4a371f[_0x226c('0x17')](0x194);}return _0x544d41;};}function handleError(_0x1d5259,_0x1a9454){_0x1a9454=_0x1a9454||0x1f4;return function(_0x343eec){logger['error'](_0x343eec['stack']);if(_0x343eec['name']){delete _0x343eec['name'];}_0x1d5259['status'](_0x1a9454)[_0x226c('0x25')](_0x343eec);};}function getMustacheRender(_0x8ed8b6,_0x58b2c9){return Mustache[_0x226c('0x26')](_0x8ed8b6,_[_0x226c('0x27')](_0x58b2c9[_0x226c('0x28')],{'contact':_0x58b2c9[_0x226c('0x29')],'message':_0x58b2c9[_0x226c('0x2a')],'agent':_0x58b2c9['agent'],'interaction':_0x58b2c9[_0x226c('0x2b')],'account':_0x58b2c9[_0x226c('0x2c')]}))||'';}exports['index']=function(_0x260bb5,_0x160f9e){var _0x3632ae={},_0x47f333={},_0x116263={'count':0x0,'rows':[]};var _0x311bc0=_[_0x226c('0x2d')](db[_0x226c('0x2e')][_0x226c('0x2f')],function(_0x8756b7){return{'name':_0x8756b7[_0x226c('0x30')],'type':_0x8756b7['type'][_0x226c('0x31')]};});_0x47f333[_0x226c('0x32')]=_[_0x226c('0x2d')](_0x311bc0,'name');_0x47f333[_0x226c('0x33')]=_[_0x226c('0x34')](_0x260bb5[_0x226c('0x33')]);_0x47f333[_0x226c('0x35')]=_[_0x226c('0x36')](_0x47f333[_0x226c('0x32')],_0x47f333[_0x226c('0x33')]);_0x3632ae[_0x226c('0x37')]=_['intersection'](_0x47f333[_0x226c('0x32')],qs[_0x226c('0x38')](_0x260bb5[_0x226c('0x33')][_0x226c('0x38')]));_0x3632ae[_0x226c('0x37')]=_0x3632ae['attributes']['length']?_0x3632ae[_0x226c('0x37')]:_0x47f333[_0x226c('0x32')];if(!_0x260bb5[_0x226c('0x33')]['hasOwnProperty']('nolimit')){_0x3632ae[_0x226c('0x1d')]=qs[_0x226c('0x1d')](_0x260bb5[_0x226c('0x33')]['limit']);_0x3632ae[_0x226c('0x1b')]=qs['offset'](_0x260bb5[_0x226c('0x33')]['offset']);}_0x3632ae[_0x226c('0x39')]=qs[_0x226c('0x3a')](_0x260bb5[_0x226c('0x33')]['sort']);_0x3632ae[_0x226c('0x3b')]=qs['filters'](_[_0x226c('0x3c')](_0x260bb5[_0x226c('0x33')],_0x47f333[_0x226c('0x35')]),_0x311bc0);if(_0x260bb5['query'][_0x226c('0x3d')]){_0x3632ae['where']=_[_0x226c('0x27')](_0x3632ae[_0x226c('0x3b')],{'$or':_[_0x226c('0x2d')](_0x311bc0,function(_0x38541c){if(_0x38541c[_0x226c('0x3e')]!=='VIRTUAL'){var _0x2abab7={};_0x2abab7[_0x38541c['name']]={'$like':'%'+_0x260bb5[_0x226c('0x33')][_0x226c('0x3d')]+'%'};return _0x2abab7;}})});}_0x3632ae=_[_0x226c('0x27')]({},_0x3632ae,_0x260bb5[_0x226c('0x3f')]);var _0x49a3ea={'where':_0x3632ae['where']};return db['SquareReport'][_0x226c('0x1e')](_0x49a3ea)['then'](function(_0x505407){_0x116263[_0x226c('0x1e')]=_0x505407;if(_0x260bb5[_0x226c('0x33')][_0x226c('0x40')]){_0x3632ae[_0x226c('0x41')]=[{'all':!![]}];}return db[_0x226c('0x2e')][_0x226c('0x42')](_0x3632ae);})[_0x226c('0x24')](function(_0x5a076a){_0x116263[_0x226c('0x43')]=_0x5a076a;return _0x116263;})[_0x226c('0x24')](respondWithFilteredResult(_0x160f9e,_0x3632ae))[_0x226c('0x44')](handleError(_0x160f9e,null));};exports['show']=function(_0x900ec,_0x7dd731){var _0x46923f={'raw':!![],'where':{'id':_0x900ec[_0x226c('0x45')]['id']}},_0x15f5e5={};_0x15f5e5[_0x226c('0x32')]=_['keys'](db[_0x226c('0x2e')][_0x226c('0x2f')]);_0x15f5e5[_0x226c('0x33')]=_[_0x226c('0x34')](_0x900ec[_0x226c('0x33')]);_0x15f5e5[_0x226c('0x35')]=_[_0x226c('0x36')](_0x15f5e5['model'],_0x15f5e5['query']);_0x46923f[_0x226c('0x37')]=_[_0x226c('0x36')](_0x15f5e5[_0x226c('0x32')],qs['fields'](_0x900ec['query'][_0x226c('0x38')]));_0x46923f[_0x226c('0x37')]=_0x46923f[_0x226c('0x37')][_0x226c('0x46')]?_0x46923f[_0x226c('0x37')]:_0x15f5e5[_0x226c('0x32')];if(_0x900ec[_0x226c('0x33')][_0x226c('0x40')]){_0x46923f[_0x226c('0x41')]=[{'all':!![]}];}_0x46923f=_[_0x226c('0x27')]({},_0x46923f,_0x900ec[_0x226c('0x3f')]);return db['SquareReport']['find'](_0x46923f)[_0x226c('0x24')](handleEntityNotFound(_0x7dd731,null))[_0x226c('0x24')](respondWithResult(_0x7dd731,null))[_0x226c('0x44')](handleError(_0x7dd731,null));};exports[_0x226c('0x47')]=function(_0x1aed90,_0x1508be){return db[_0x226c('0x2e')][_0x226c('0x47')](_0x1aed90[_0x226c('0x28')],{})[_0x226c('0x24')](respondWithResult(_0x1508be,0xc9))[_0x226c('0x44')](handleError(_0x1508be,null));};exports[_0x226c('0x23')]=function(_0x139901,_0xa52a81){if(_0x139901[_0x226c('0x28')]['id']){delete _0x139901['body']['id'];}return db['SquareReport'][_0x226c('0x48')]({'where':{'id':_0x139901[_0x226c('0x45')]['id']}})['then'](handleEntityNotFound(_0xa52a81,null))[_0x226c('0x24')](saveUpdates(_0x139901[_0x226c('0x28')],null))[_0x226c('0x24')](respondWithResult(_0xa52a81,null))['catch'](handleError(_0xa52a81,null));};exports['destroy']=function(_0xc4bb92,_0x4a30a5){return db[_0x226c('0x2e')][_0x226c('0x48')]({'where':{'id':_0xc4bb92['params']['id']}})[_0x226c('0x24')](handleEntityNotFound(_0x4a30a5,null))[_0x226c('0x24')](removeEntity(_0x4a30a5,null))['catch'](handleError(_0x4a30a5,null));};exports[_0x226c('0x49')]=function(_0x416f8f,_0x3c701e){return db['SquareReport']['describe']()[_0x226c('0x24')](respondWithResult(_0x3c701e,null))[_0x226c('0x44')](handleError(_0x3c701e,null));};