Built motion from commit bab6f49e.|2.6.17
[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 _0xc9bf=['params','rawAttributes','create','body','find','describe','eml-format','rimraf','request-promise','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','undefined','count','limit','reject','save','update','then','destroy','end','stack','name','send','index','fieldName','key','model','map','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','SquareReport','findAll','rows','catch','show'];(function(_0x2c3869,_0x21269c){var _0xf7ef10=function(_0x165435){while(--_0x165435){_0x2c3869['push'](_0x2c3869['shift']());}};_0xf7ef10(++_0x21269c);}(_0xc9bf,0x94));var _0xfc9b=function(_0x16597d,_0x570f93){_0x16597d=_0x16597d-0x0;var _0x1c79bb=_0xc9bf[_0x16597d];return _0x1c79bb;};'use strict';var emlformat=require(_0xfc9b('0x0'));var rimraf=require(_0xfc9b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfc9b('0x2'));var moment=require('moment');var BPromise=require(_0xfc9b('0x3'));var Mustache=require(_0xfc9b('0x4'));var util=require('util');var path=require('path');var sox=require(_0xfc9b('0x5'));var csv=require(_0xfc9b('0x6'));var ejs=require(_0xfc9b('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfc9b('0x8'));var squel=require(_0xfc9b('0x9'));var crypto=require(_0xfc9b('0xa'));var jsforce=require(_0xfc9b('0xb'));var deskjs=require(_0xfc9b('0xc'));var toCsv=require(_0xfc9b('0x6'));var querystring=require(_0xfc9b('0xd'));var Papa=require(_0xfc9b('0xe'));var Redis=require('ioredis');var authService=require(_0xfc9b('0xf'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xfc9b('0x10'))(_0xfc9b('0x11'));var utils=require(_0xfc9b('0x12'));var config=require(_0xfc9b('0x13'));var licenseUtil=require(_0xfc9b('0x14'));var db=require(_0xfc9b('0x15'))['db'];function respondWithStatusCode(_0x34d524,_0x577ffb){_0x577ffb=_0x577ffb||0xcc;return function(_0x213cb8){if(_0x213cb8){return _0x34d524['sendStatus'](_0x577ffb);}return _0x34d524[_0xfc9b('0x16')](_0x577ffb)['end']();};}function respondWithResult(_0x140290,_0xa444ec){_0xa444ec=_0xa444ec||0xc8;return function(_0xedb28f){if(_0xedb28f){return _0x140290[_0xfc9b('0x16')](_0xa444ec)[_0xfc9b('0x17')](_0xedb28f);}};}function respondWithFilteredResult(_0x243e84,_0x4bcbeb){return function(_0x5cccbe){if(_0x5cccbe){var _0x47221b=typeof _0x4bcbeb[_0xfc9b('0x18')]===_0xfc9b('0x19')&&typeof _0x4bcbeb['limit']===_0xfc9b('0x19');var _0x1a8747=_0x5cccbe[_0xfc9b('0x1a')];var _0x1a541f=_0x47221b?0x0:_0x4bcbeb[_0xfc9b('0x18')];var _0x5e19da=_0x47221b?_0x5cccbe[_0xfc9b('0x1a')]:_0x4bcbeb[_0xfc9b('0x18')]+_0x4bcbeb[_0xfc9b('0x1b')];var _0x15ff11;if(_0x5e19da>=_0x1a8747){_0x5e19da=_0x1a8747;_0x15ff11=0xc8;}else{_0x15ff11=0xce;}_0x243e84[_0xfc9b('0x16')](_0x15ff11);return _0x243e84['set']('Content-Range',_0x1a541f+'-'+_0x5e19da+'/'+_0x1a8747)[_0xfc9b('0x17')](_0x5cccbe);}return null;};}function patchUpdates(_0x2fe33b){return function(_0x59a8db){try{jsonpatch['apply'](_0x59a8db,_0x2fe33b,!![]);}catch(_0x5698a0){return BPromise[_0xfc9b('0x1c')](_0x5698a0);}return _0x59a8db[_0xfc9b('0x1d')]();};}function saveUpdates(_0x401f93,_0x5bc148){return function(_0x552ad9){if(_0x552ad9){return _0x552ad9[_0xfc9b('0x1e')](_0x401f93)[_0xfc9b('0x1f')](function(_0x4979ab){return _0x4979ab;});}return null;};}function removeEntity(_0x25aa81,_0x3191fd){return function(_0x17d64a){if(_0x17d64a){return _0x17d64a[_0xfc9b('0x20')]()[_0xfc9b('0x1f')](function(){_0x25aa81[_0xfc9b('0x16')](0xcc)[_0xfc9b('0x21')]();});}};}function handleEntityNotFound(_0x567557,_0x58b125){return function(_0x406359){if(!_0x406359){_0x567557['sendStatus'](0x194);}return _0x406359;};}function handleError(_0x2093e4,_0x1d86e9){_0x1d86e9=_0x1d86e9||0x1f4;return function(_0x1bb846){logger['error'](_0x1bb846[_0xfc9b('0x22')]);if(_0x1bb846[_0xfc9b('0x23')]){delete _0x1bb846[_0xfc9b('0x23')];}_0x2093e4[_0xfc9b('0x16')](_0x1d86e9)[_0xfc9b('0x24')](_0x1bb846);};}exports[_0xfc9b('0x25')]=function(_0x3175fb,_0x103bb3){var _0x4d905f={},_0x1e652c={},_0x4e6a39={'count':0x0,'rows':[]};var _0x405dfd=_['map'](db['SquareReport']['rawAttributes'],function(_0x841329){return{'name':_0x841329[_0xfc9b('0x26')],'type':_0x841329['type'][_0xfc9b('0x27')]};});_0x1e652c[_0xfc9b('0x28')]=_[_0xfc9b('0x29')](_0x405dfd,_0xfc9b('0x23'));_0x1e652c[_0xfc9b('0x2a')]=_[_0xfc9b('0x2b')](_0x3175fb[_0xfc9b('0x2a')]);_0x1e652c['filters']=_[_0xfc9b('0x2c')](_0x1e652c[_0xfc9b('0x28')],_0x1e652c[_0xfc9b('0x2a')]);_0x4d905f[_0xfc9b('0x2d')]=_[_0xfc9b('0x2c')](_0x1e652c['model'],qs[_0xfc9b('0x2e')](_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x2e')]));_0x4d905f[_0xfc9b('0x2d')]=_0x4d905f[_0xfc9b('0x2d')][_0xfc9b('0x2f')]?_0x4d905f['attributes']:_0x1e652c[_0xfc9b('0x28')];if(!_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x30')](_0xfc9b('0x31'))){_0x4d905f[_0xfc9b('0x1b')]=qs[_0xfc9b('0x1b')](_0x3175fb[_0xfc9b('0x2a')]['limit']);_0x4d905f['offset']=qs[_0xfc9b('0x18')](_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x18')]);}_0x4d905f['order']=qs[_0xfc9b('0x32')](_0x3175fb['query']['sort']);_0x4d905f[_0xfc9b('0x33')]=qs[_0xfc9b('0x34')](_[_0xfc9b('0x35')](_0x3175fb['query'],_0x1e652c[_0xfc9b('0x34')]),_0x405dfd);if(_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x36')]){_0x4d905f[_0xfc9b('0x33')]=_['merge'](_0x4d905f['where'],{'$or':_[_0xfc9b('0x29')](_0x405dfd,function(_0x1e89a6){if(_0x1e89a6['type']!==_0xfc9b('0x37')){var _0x1b4610={};_0x1b4610[_0x1e89a6[_0xfc9b('0x23')]]={'$like':'%'+_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x36')]+'%'};return _0x1b4610;}})});}_0x4d905f=_[_0xfc9b('0x38')]({},_0x4d905f,_0x3175fb[_0xfc9b('0x39')]);var _0x5ccaec={'where':_0x4d905f['where']};return db['SquareReport'][_0xfc9b('0x1a')](_0x5ccaec)[_0xfc9b('0x1f')](function(_0x5e343f){_0x4e6a39[_0xfc9b('0x1a')]=_0x5e343f;if(_0x3175fb[_0xfc9b('0x2a')][_0xfc9b('0x3a')]){_0x4d905f[_0xfc9b('0x3b')]=[{'all':!![]}];}return db[_0xfc9b('0x3c')][_0xfc9b('0x3d')](_0x4d905f);})['then'](function(_0x898c55){_0x4e6a39[_0xfc9b('0x3e')]=_0x898c55;return _0x4e6a39;})['then'](respondWithFilteredResult(_0x103bb3,_0x4d905f))[_0xfc9b('0x3f')](handleError(_0x103bb3,null));};exports[_0xfc9b('0x40')]=function(_0x1e6508,_0x4c1755){var _0x985866={'raw':!![],'where':{'id':_0x1e6508[_0xfc9b('0x41')]['id']}},_0x551466={};_0x551466[_0xfc9b('0x28')]=_['keys'](db[_0xfc9b('0x3c')][_0xfc9b('0x42')]);_0x551466['query']=_[_0xfc9b('0x2b')](_0x1e6508[_0xfc9b('0x2a')]);_0x551466[_0xfc9b('0x34')]=_[_0xfc9b('0x2c')](_0x551466['model'],_0x551466[_0xfc9b('0x2a')]);_0x985866[_0xfc9b('0x2d')]=_[_0xfc9b('0x2c')](_0x551466[_0xfc9b('0x28')],qs['fields'](_0x1e6508[_0xfc9b('0x2a')][_0xfc9b('0x2e')]));_0x985866[_0xfc9b('0x2d')]=_0x985866[_0xfc9b('0x2d')]['length']?_0x985866[_0xfc9b('0x2d')]:_0x551466[_0xfc9b('0x28')];if(_0x1e6508['query']['includeAll']){_0x985866[_0xfc9b('0x3b')]=[{'all':!![]}];}_0x985866=_[_0xfc9b('0x38')]({},_0x985866,_0x1e6508[_0xfc9b('0x39')]);return db['SquareReport']['find'](_0x985866)[_0xfc9b('0x1f')](handleEntityNotFound(_0x4c1755,null))[_0xfc9b('0x1f')](respondWithResult(_0x4c1755,null))[_0xfc9b('0x3f')](handleError(_0x4c1755,null));};exports['create']=function(_0x1bc567,_0x549d9d){return db['SquareReport'][_0xfc9b('0x43')](_0x1bc567[_0xfc9b('0x44')],{})['then'](respondWithResult(_0x549d9d,0xc9))['catch'](handleError(_0x549d9d,null));};exports[_0xfc9b('0x1e')]=function(_0x5a84b5,_0x3d843d){if(_0x5a84b5[_0xfc9b('0x44')]['id']){delete _0x5a84b5['body']['id'];}return db[_0xfc9b('0x3c')][_0xfc9b('0x45')]({'where':{'id':_0x5a84b5[_0xfc9b('0x41')]['id']}})[_0xfc9b('0x1f')](handleEntityNotFound(_0x3d843d,null))[_0xfc9b('0x1f')](saveUpdates(_0x5a84b5['body'],null))['then'](respondWithResult(_0x3d843d,null))['catch'](handleError(_0x3d843d,null));};exports[_0xfc9b('0x20')]=function(_0x4d9d67,_0x47ae55){return db[_0xfc9b('0x3c')][_0xfc9b('0x45')]({'where':{'id':_0x4d9d67[_0xfc9b('0x41')]['id']}})['then'](handleEntityNotFound(_0x47ae55,null))[_0xfc9b('0x1f')](removeEntity(_0x47ae55,null))[_0xfc9b('0x3f')](handleError(_0x47ae55,null));};exports[_0xfc9b('0x46')]=function(_0x4e0466,_0x3bcead){return db[_0xfc9b('0x3c')]['describe']()[_0xfc9b('0x1f')](respondWithResult(_0x3bcead,null))[_0xfc9b('0x3f')](handleError(_0x3bcead,null));};