b2017a8c2379b7db127d259046c2eaf434cefdc7
[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 _0x3795=['rows','catch','show','params','rawAttributes','create','body','find','destroy','describe','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','update','error','stack','name','send','index','map','SquareReport','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','merge','filter','options','includeAll','include','findAll','then'];(function(_0x47a7d0,_0x4e182d){var _0xb9bd08=function(_0x588ee2){while(--_0x588ee2){_0x47a7d0['push'](_0x47a7d0['shift']());}};_0xb9bd08(++_0x4e182d);}(_0x3795,0x1ba));var _0x5379=function(_0x167cc1,_0x56ef5a){_0x167cc1=_0x167cc1-0x0;var _0x10bc4b=_0x3795[_0x167cc1];return _0x10bc4b;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x5379('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5379('0x1'));var rp=require('request-promise');var moment=require(_0x5379('0x2'));var BPromise=require(_0x5379('0x3'));var Mustache=require(_0x5379('0x4'));var util=require(_0x5379('0x5'));var path=require('path');var sox=require(_0x5379('0x6'));var csv=require(_0x5379('0x7'));var ejs=require(_0x5379('0x8'));var fs=require('fs');var _=require('lodash');var squel=require(_0x5379('0x9'));var crypto=require('crypto');var jsforce=require(_0x5379('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x5379('0x7'));var querystring=require(_0x5379('0xb'));var Papa=require('papaparse');var Redis=require(_0x5379('0xc'));var authService=require(_0x5379('0xd'));var qs=require(_0x5379('0xe'));var as=require(_0x5379('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5379('0x10'))(_0x5379('0x11'));var utils=require(_0x5379('0x12'));var config=require(_0x5379('0x13'));var db=require(_0x5379('0x14'))['db'];function respondWithStatusCode(_0x13d0e8,_0x480ec4){_0x480ec4=_0x480ec4||0xcc;return function(_0x40a401){if(_0x40a401){return _0x13d0e8[_0x5379('0x15')](_0x480ec4);}return _0x13d0e8[_0x5379('0x16')](_0x480ec4)[_0x5379('0x17')]();};}function respondWithResult(_0x30a576,_0x1978b5){_0x1978b5=_0x1978b5||0xc8;return function(_0x255346){if(_0x255346){return _0x30a576[_0x5379('0x16')](_0x1978b5)[_0x5379('0x18')](_0x255346);}};}function respondWithFilteredResult(_0x1f04dc,_0x1f9235){return function(_0x1e1324){if(_0x1e1324){var _0x5c767f=_0x1e1324[_0x5379('0x19')],_0x518063=_0x1f9235[_0x5379('0x1a')],_0x54cf5d=_0x1f9235[_0x5379('0x1a')]+_0x1f9235['limit'],_0x37b6ed;if(_0x54cf5d>=_0x5c767f){_0x54cf5d=_0x5c767f;_0x37b6ed=0xc8;}else{_0x37b6ed=0xce;}_0x1f04dc['status'](_0x37b6ed);return _0x1f04dc[_0x5379('0x1b')](_0x5379('0x1c'),_0x518063+'-'+_0x54cf5d+'/'+_0x5c767f)['json'](_0x1e1324);}return null;};}function patchUpdates(_0x3bf814){return function(_0x59e9b1){try{jsonpatch[_0x5379('0x1d')](_0x59e9b1,_0x3bf814,!![]);}catch(_0xac529f){return BPromise[_0x5379('0x1e')](_0xac529f);}return _0x59e9b1['save']();};}function saveUpdates(_0x286582,_0x211113){return function(_0x1c2054){if(_0x1c2054){return _0x1c2054[_0x5379('0x1f')](_0x286582)['then'](function(_0x17516c){return _0x17516c;});}return null;};}function removeEntity(_0x1ced6b,_0x198555){return function(_0x11f397){if(_0x11f397){return _0x11f397['destroy']()['then'](function(){_0x1ced6b['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x33fa3d,_0x59f21b){return function(_0x586542){if(!_0x586542){_0x33fa3d[_0x5379('0x15')](0x194);}return _0x586542;};}function handleError(_0xaff401,_0x3231fc){_0x3231fc=_0x3231fc||0x1f4;return function(_0x1c3b85){logger[_0x5379('0x20')](_0x1c3b85[_0x5379('0x21')]);if(_0x1c3b85[_0x5379('0x22')]){delete _0x1c3b85[_0x5379('0x22')];}_0xaff401[_0x5379('0x16')](_0x3231fc)[_0x5379('0x23')](_0x1c3b85);};}exports[_0x5379('0x24')]=function(_0x1d8b54,_0x4de276){var _0x3a0b0e={},_0x2f9c15={},_0x50b3d8={'count':0x0,'rows':[]};var _0x1f9ef9=_[_0x5379('0x25')](db[_0x5379('0x26')]['rawAttributes'],function(_0x1adf80){return{'name':_0x1adf80['fieldName'],'type':_0x1adf80['type'][_0x5379('0x27')]};});_0x2f9c15['model']=_['map'](_0x1f9ef9,_0x5379('0x22'));_0x2f9c15['query']=_[_0x5379('0x28')](_0x1d8b54[_0x5379('0x29')]);_0x2f9c15[_0x5379('0x2a')]=_[_0x5379('0x2b')](_0x2f9c15[_0x5379('0x2c')],_0x2f9c15[_0x5379('0x29')]);_0x3a0b0e[_0x5379('0x2d')]=_[_0x5379('0x2b')](_0x2f9c15[_0x5379('0x2c')],qs['fields'](_0x1d8b54['query'][_0x5379('0x2e')]));_0x3a0b0e[_0x5379('0x2d')]=_0x3a0b0e[_0x5379('0x2d')][_0x5379('0x2f')]?_0x3a0b0e[_0x5379('0x2d')]:_0x2f9c15[_0x5379('0x2c')];if(!_0x1d8b54[_0x5379('0x29')][_0x5379('0x30')](_0x5379('0x31'))){_0x3a0b0e[_0x5379('0x32')]=qs[_0x5379('0x32')](_0x1d8b54['query'][_0x5379('0x32')]);_0x3a0b0e[_0x5379('0x1a')]=qs['offset'](_0x1d8b54[_0x5379('0x29')][_0x5379('0x1a')]);}_0x3a0b0e[_0x5379('0x33')]=qs[_0x5379('0x34')](_0x1d8b54['query']['sort']);_0x3a0b0e['where']=qs[_0x5379('0x2a')](_[_0x5379('0x35')](_0x1d8b54[_0x5379('0x29')],_0x2f9c15[_0x5379('0x2a')]),_0x1f9ef9);if(_0x1d8b54['query']['filter']){_0x3a0b0e[_0x5379('0x36')]=_[_0x5379('0x37')](_0x3a0b0e['where'],{'$or':_[_0x5379('0x25')](_0x1f9ef9,function(_0x56cbe1){if(_0x56cbe1['type']!=='VIRTUAL'){var _0x5e2afc={};_0x5e2afc[_0x56cbe1[_0x5379('0x22')]]={'$like':'%'+_0x1d8b54['query'][_0x5379('0x38')]+'%'};return _0x5e2afc;}})});}_0x3a0b0e=_[_0x5379('0x37')]({},_0x3a0b0e,_0x1d8b54[_0x5379('0x39')]);var _0x39b040={'where':_0x3a0b0e[_0x5379('0x36')]};return db['SquareReport'][_0x5379('0x19')](_0x39b040)['then'](function(_0x408465){_0x50b3d8[_0x5379('0x19')]=_0x408465;if(_0x1d8b54['query'][_0x5379('0x3a')]){_0x3a0b0e[_0x5379('0x3b')]=[{'all':!![]}];}return db[_0x5379('0x26')][_0x5379('0x3c')](_0x3a0b0e);})[_0x5379('0x3d')](function(_0x3ff622){_0x50b3d8[_0x5379('0x3e')]=_0x3ff622;return _0x50b3d8;})[_0x5379('0x3d')](respondWithFilteredResult(_0x4de276,_0x3a0b0e))[_0x5379('0x3f')](handleError(_0x4de276,null));};exports[_0x5379('0x40')]=function(_0x163827,_0x49bea4){var _0x11e12a={'raw':!![],'where':{'id':_0x163827[_0x5379('0x41')]['id']}},_0x36522a={};_0x36522a[_0x5379('0x2c')]=_[_0x5379('0x28')](db[_0x5379('0x26')][_0x5379('0x42')]);_0x36522a[_0x5379('0x29')]=_[_0x5379('0x28')](_0x163827[_0x5379('0x29')]);_0x36522a[_0x5379('0x2a')]=_[_0x5379('0x2b')](_0x36522a['model'],_0x36522a[_0x5379('0x29')]);_0x11e12a['attributes']=_[_0x5379('0x2b')](_0x36522a[_0x5379('0x2c')],qs['fields'](_0x163827['query'][_0x5379('0x2e')]));_0x11e12a['attributes']=_0x11e12a['attributes']['length']?_0x11e12a[_0x5379('0x2d')]:_0x36522a[_0x5379('0x2c')];if(_0x163827[_0x5379('0x29')][_0x5379('0x3a')]){_0x11e12a['include']=[{'all':!![]}];}_0x11e12a=_['merge']({},_0x11e12a,_0x163827[_0x5379('0x39')]);return db[_0x5379('0x26')]['find'](_0x11e12a)[_0x5379('0x3d')](handleEntityNotFound(_0x49bea4,null))[_0x5379('0x3d')](respondWithResult(_0x49bea4,null))[_0x5379('0x3f')](handleError(_0x49bea4,null));};exports[_0x5379('0x43')]=function(_0x301ec5,_0x52b72c){return db[_0x5379('0x26')][_0x5379('0x43')](_0x301ec5['body'],{})['then'](respondWithResult(_0x52b72c,0xc9))[_0x5379('0x3f')](handleError(_0x52b72c,null));};exports['update']=function(_0x28bcb6,_0x88bb73){if(_0x28bcb6[_0x5379('0x44')]['id']){delete _0x28bcb6[_0x5379('0x44')]['id'];}return db['SquareReport'][_0x5379('0x45')]({'where':{'id':_0x28bcb6['params']['id']}})['then'](handleEntityNotFound(_0x88bb73,null))[_0x5379('0x3d')](saveUpdates(_0x28bcb6[_0x5379('0x44')],null))[_0x5379('0x3d')](respondWithResult(_0x88bb73,null))[_0x5379('0x3f')](handleError(_0x88bb73,null));};exports[_0x5379('0x46')]=function(_0x5d95b3,_0xcb354){return db[_0x5379('0x26')][_0x5379('0x45')]({'where':{'id':_0x5d95b3['params']['id']}})[_0x5379('0x3d')](handleEntityNotFound(_0xcb354,null))[_0x5379('0x3d')](removeEntity(_0xcb354,null))['catch'](handleError(_0xcb354,null));};exports[_0x5379('0x47')]=function(_0x4c62c5,_0x19ab43){return db[_0x5379('0x26')][_0x5379('0x47')]()['then'](respondWithResult(_0x19ab43,null))[_0x5379('0x3f')](handleError(_0x19ab43,null));};