Built motion from commit 67e5df37.|2.0.66
[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 _0xfa28=['order','sort','pick','day','add','merge','filter','where','includeAll','include','rows','catch','show','params','options','find','create','body','describe','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','stack','name','index','model','keys','SquareReport','rawAttributes','query','dateStart','dateEnd','filters','intersection','fields','attributes','length','nolimit','limit'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0xfa28,0xdf));var _0x8fa2=function(_0x3c8e9a,_0x384306){_0x3c8e9a=_0x3c8e9a-0x0;var _0x2d4c57=_0xfa28[_0x3c8e9a];return _0x2d4c57;};'use strict';var jsonpatch=require('fast-json-patch');var rp=require(_0x8fa2('0x0'));var moment=require(_0x8fa2('0x1'));var BPromise=require(_0x8fa2('0x2'));var Mustache=require(_0x8fa2('0x3'));var util=require(_0x8fa2('0x4'));var path=require('path');var sox=require('sox');var csv=require(_0x8fa2('0x5'));var ejs=require(_0x8fa2('0x6'));var fs=require('fs');var _=require(_0x8fa2('0x7'));var squel=require(_0x8fa2('0x8'));var crypto=require(_0x8fa2('0x9'));var jsforce=require(_0x8fa2('0xa'));var deskjs=require(_0x8fa2('0xb'));var toCsv=require(_0x8fa2('0x5'));var querystring=require(_0x8fa2('0xc'));var Papa=require(_0x8fa2('0xd'));var qs=require('../../components/parsers/qs');var logger=require(_0x8fa2('0xe'))('api');var utils=require(_0x8fa2('0xf'));var config=require(_0x8fa2('0x10'));var db=require(_0x8fa2('0x11'))['db'];function respondWithStatusCode(_0x3d0cae,_0x2d0624){_0x2d0624=_0x2d0624||0xcc;return function(_0x234b29){if(_0x234b29){return _0x3d0cae[_0x8fa2('0x12')](_0x2d0624);}return _0x3d0cae[_0x8fa2('0x13')](_0x2d0624)[_0x8fa2('0x14')]();};}function respondWithResult(_0x43263a,_0x44f424){_0x44f424=_0x44f424||0xc8;return function(_0x5ed819){if(_0x5ed819){return _0x43263a[_0x8fa2('0x13')](_0x44f424)['json'](_0x5ed819);}};}function respondWithFilteredResult(_0x5edce8,_0x2bea00){return function(_0x574edc){if(_0x574edc){var _0x3bef69=_0x574edc[_0x8fa2('0x15')],_0x18fb13=_0x2bea00[_0x8fa2('0x16')],_0x230397=_0x2bea00[_0x8fa2('0x16')]+_0x2bea00['limit'],_0x5e7d3c;if(_0x230397>=_0x3bef69){_0x230397=_0x3bef69;_0x5e7d3c=0xc8;}else{_0x5e7d3c=0xce;}_0x5edce8['status'](_0x5e7d3c);return _0x5edce8[_0x8fa2('0x17')](_0x8fa2('0x18'),_0x18fb13+'-'+_0x230397+'/'+_0x3bef69)[_0x8fa2('0x19')](_0x574edc);}return null;};}function patchUpdates(_0x3a9c64){return function(_0x54dd35){try{jsonpatch[_0x8fa2('0x1a')](_0x54dd35,_0x3a9c64,!![]);}catch(_0x2b201f){return BPromise[_0x8fa2('0x1b')](_0x2b201f);}return _0x54dd35[_0x8fa2('0x1c')]();};}function saveUpdates(_0x1e28d6,_0xd9f184){return function(_0x1e61eb){if(_0x1e61eb){return _0x1e61eb[_0x8fa2('0x1d')](_0x1e28d6)[_0x8fa2('0x1e')](function(_0x551c38){return _0x551c38;});}return null;};}function removeEntity(_0x34d375,_0x2b0989){return function(_0xa4b433){if(_0xa4b433){return _0xa4b433[_0x8fa2('0x1f')]()[_0x8fa2('0x1e')](function(){_0x34d375[_0x8fa2('0x13')](0xcc)[_0x8fa2('0x14')]();});}};}function handleEntityNotFound(_0x239e76,_0x422b49){return function(_0x4f6b5d){if(!_0x4f6b5d){_0x239e76[_0x8fa2('0x12')](0x194);}return _0x4f6b5d;};}function handleError(_0x5e8ce2,_0x5cf188){_0x5cf188=_0x5cf188||0x1f4;return function(_0x39acf6){logger['error'](_0x39acf6[_0x8fa2('0x20')]);if(_0x39acf6[_0x8fa2('0x21')]){delete _0x39acf6[_0x8fa2('0x21')];}_0x5e8ce2['status'](_0x5cf188)['send'](_0x39acf6);};}exports[_0x8fa2('0x22')]=function(_0x5c5063,_0x259985){var _0x2302d2={},_0x34abc8={},_0x784d54={'count':0x0,'rows':[]};_0x34abc8[_0x8fa2('0x23')]=_[_0x8fa2('0x24')](db[_0x8fa2('0x25')][_0x8fa2('0x26')]);var _0x2c9cf5={'dateStart':_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x28')],'dateEnd':_0x5c5063[_0x8fa2('0x27')]['dateEnd']};delete _0x5c5063['query'][_0x8fa2('0x28')];delete _0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x29')];_0x34abc8['query']=_[_0x8fa2('0x24')](_0x5c5063['query']);_0x34abc8[_0x8fa2('0x2a')]=_[_0x8fa2('0x2b')](_0x34abc8[_0x8fa2('0x23')],_0x34abc8[_0x8fa2('0x27')]);_0x2302d2['attributes']=_[_0x8fa2('0x2b')](_0x34abc8[_0x8fa2('0x23')],qs[_0x8fa2('0x2c')](_0x5c5063['query'][_0x8fa2('0x2c')]));_0x2302d2[_0x8fa2('0x2d')]=_0x2302d2[_0x8fa2('0x2d')][_0x8fa2('0x2e')]?_0x2302d2[_0x8fa2('0x2d')]:_0x34abc8[_0x8fa2('0x23')];if(!_0x5c5063[_0x8fa2('0x27')]['hasOwnProperty'](_0x8fa2('0x2f'))){_0x2302d2[_0x8fa2('0x30')]=qs[_0x8fa2('0x30')](_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x30')]);_0x2302d2[_0x8fa2('0x16')]=qs[_0x8fa2('0x16')](_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x16')]);}_0x2302d2[_0x8fa2('0x31')]=qs[_0x8fa2('0x32')](_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x32')]);_0x2302d2['where']=qs['filters'](_[_0x8fa2('0x33')](_0x5c5063['query'],_0x34abc8[_0x8fa2('0x2a')]));if(_0x2c9cf5[_0x8fa2('0x28')]){if(_0x2c9cf5[_0x8fa2('0x29')]){_0x2c9cf5[_0x8fa2('0x29')]=moment(_0x2c9cf5[_0x8fa2('0x29')])['add'](0x1,_0x8fa2('0x34'));}else{_0x2c9cf5[_0x8fa2('0x29')]=moment(_0x2c9cf5[_0x8fa2('0x28')])[_0x8fa2('0x35')](0x1,_0x8fa2('0x34'));}_[_0x8fa2('0x36')](_0x2302d2['where'],{'createdAt':{'$gte':_0x2c9cf5['dateStart'],'$lte':_0x2c9cf5[_0x8fa2('0x29')]}});}if(_0x5c5063['query'][_0x8fa2('0x37')]){_0x2302d2[_0x8fa2('0x38')]=_[_0x8fa2('0x36')](_0x2302d2[_0x8fa2('0x38')],{'$or':_['map'](_0x2302d2[_0x8fa2('0x2d')],function(_0x10990b){var _0x304a74={};_0x304a74[_0x10990b]={'$like':'%'+_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x37')]+'%'};return _0x304a74;})});}_0x2302d2=_[_0x8fa2('0x36')]({},_0x2302d2,_0x5c5063['options']);var _0xebf252={'where':_0x2302d2['where']};return db[_0x8fa2('0x25')][_0x8fa2('0x15')](_0xebf252)[_0x8fa2('0x1e')](function(_0x373532){_0x784d54[_0x8fa2('0x15')]=_0x373532;if(_0x5c5063[_0x8fa2('0x27')][_0x8fa2('0x39')]){_0x2302d2[_0x8fa2('0x3a')]=[{'all':!![]}];}return db['SquareReport']['findAll'](_0x2302d2);})[_0x8fa2('0x1e')](function(_0x1593aa){_0x784d54[_0x8fa2('0x3b')]=_0x1593aa;return _0x784d54;})[_0x8fa2('0x1e')](respondWithFilteredResult(_0x259985,_0x2302d2))[_0x8fa2('0x3c')](handleError(_0x259985,null));};exports[_0x8fa2('0x3d')]=function(_0x2d3c5a,_0x4b9fa7){var _0x59570e={'raw':!![],'where':{'id':_0x2d3c5a[_0x8fa2('0x3e')]['id']}},_0xa583b5={};_0xa583b5[_0x8fa2('0x23')]=_[_0x8fa2('0x24')](db['SquareReport'][_0x8fa2('0x26')]);_0xa583b5[_0x8fa2('0x27')]=_[_0x8fa2('0x24')](_0x2d3c5a[_0x8fa2('0x27')]);_0xa583b5[_0x8fa2('0x2a')]=_[_0x8fa2('0x2b')](_0xa583b5['model'],_0xa583b5[_0x8fa2('0x27')]);_0x59570e[_0x8fa2('0x2d')]=_[_0x8fa2('0x2b')](_0xa583b5[_0x8fa2('0x23')],qs['fields'](_0x2d3c5a[_0x8fa2('0x27')]['fields']));_0x59570e[_0x8fa2('0x2d')]=_0x59570e[_0x8fa2('0x2d')]['length']?_0x59570e[_0x8fa2('0x2d')]:_0xa583b5[_0x8fa2('0x23')];if(_0x2d3c5a[_0x8fa2('0x27')][_0x8fa2('0x39')]){_0x59570e[_0x8fa2('0x3a')]=[{'all':!![]}];}_0x59570e=_['merge']({},_0x59570e,_0x2d3c5a[_0x8fa2('0x3f')]);return db[_0x8fa2('0x25')][_0x8fa2('0x40')](_0x59570e)[_0x8fa2('0x1e')](handleEntityNotFound(_0x4b9fa7,null))[_0x8fa2('0x1e')](respondWithResult(_0x4b9fa7,null))[_0x8fa2('0x3c')](handleError(_0x4b9fa7,null));};exports[_0x8fa2('0x41')]=function(_0x2106f5,_0x46d735){return db[_0x8fa2('0x25')][_0x8fa2('0x41')](_0x2106f5[_0x8fa2('0x42')],{})[_0x8fa2('0x1e')](respondWithResult(_0x46d735,0xc9))[_0x8fa2('0x3c')](handleError(_0x46d735,null));};exports[_0x8fa2('0x1d')]=function(_0x4b4834,_0x286b80){if(_0x4b4834[_0x8fa2('0x42')]['id']){delete _0x4b4834[_0x8fa2('0x42')]['id'];}return db['SquareReport']['find']({'where':{'id':_0x4b4834[_0x8fa2('0x3e')]['id']}})[_0x8fa2('0x1e')](handleEntityNotFound(_0x286b80,null))[_0x8fa2('0x1e')](saveUpdates(_0x4b4834[_0x8fa2('0x42')],null))[_0x8fa2('0x1e')](respondWithResult(_0x286b80,null))[_0x8fa2('0x3c')](handleError(_0x286b80,null));};exports[_0x8fa2('0x1f')]=function(_0xd4d625,_0x2978a5){return db[_0x8fa2('0x25')][_0x8fa2('0x40')]({'where':{'id':_0xd4d625[_0x8fa2('0x3e')]['id']}})[_0x8fa2('0x1e')](handleEntityNotFound(_0x2978a5,null))[_0x8fa2('0x1e')](removeEntity(_0x2978a5,null))[_0x8fa2('0x3c')](handleError(_0x2978a5,null));};exports['describe']=function(_0x378f28,_0x3ce5a0){return db['SquareReport'][_0x8fa2('0x43')]()['then'](respondWithResult(_0x3ce5a0,null))[_0x8fa2('0x3c')](handleError(_0x3ce5a0,null));};