04b91986821eb0125f902455e8e495edc560f7c3
[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 _0x5d93=['find','create','body','describe','html-pdf','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','map','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','includeAll','include','SquareReport','rows','catch','show','params','rawAttributes'];(function(_0x28a578,_0x5f5d31){var _0x1a22d5=function(_0x3b8e81){while(--_0x3b8e81){_0x28a578['push'](_0x28a578['shift']());}};_0x1a22d5(++_0x5f5d31);}(_0x5d93,0x98));var _0x35d9=function(_0xfa634c,_0x414e0e){_0xfa634c=_0xfa634c-0x0;var _0x73e478=_0x5d93[_0xfa634c];return _0x73e478;};'use strict';var pdf=require(_0x35d9('0x0'));var emlformat=require(_0x35d9('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x35d9('0x2'));var rp=require(_0x35d9('0x3'));var moment=require(_0x35d9('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x35d9('0x5'));var util=require(_0x35d9('0x6'));var path=require(_0x35d9('0x7'));var sox=require(_0x35d9('0x8'));var csv=require(_0x35d9('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x35d9('0xa'));var squel=require('squel');var crypto=require(_0x35d9('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x35d9('0xc'));var toCsv=require(_0x35d9('0x9'));var querystring=require(_0x35d9('0xd'));var Papa=require('papaparse');var Redis=require(_0x35d9('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x35d9('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x35d9('0x10'));var logger=require(_0x35d9('0x11'))(_0x35d9('0x12'));var utils=require(_0x35d9('0x13'));var config=require(_0x35d9('0x14'));var db=require(_0x35d9('0x15'))['db'];function respondWithStatusCode(_0x4c9905,_0x5ea3b2){_0x5ea3b2=_0x5ea3b2||0xcc;return function(_0xcd1c40){if(_0xcd1c40){return _0x4c9905[_0x35d9('0x16')](_0x5ea3b2);}return _0x4c9905[_0x35d9('0x17')](_0x5ea3b2)[_0x35d9('0x18')]();};}function respondWithResult(_0xbb1dfa,_0x4dd16b){_0x4dd16b=_0x4dd16b||0xc8;return function(_0x4d8af6){if(_0x4d8af6){return _0xbb1dfa['status'](_0x4dd16b)[_0x35d9('0x19')](_0x4d8af6);}};}function respondWithFilteredResult(_0x17948e,_0x33049f){return function(_0x50e686){if(_0x50e686){var _0x467fc4=_0x50e686[_0x35d9('0x1a')],_0xa94a7e=_0x33049f[_0x35d9('0x1b')],_0x503570=_0x33049f['offset']+_0x33049f[_0x35d9('0x1c')],_0x3326dc;if(_0x503570>=_0x467fc4){_0x503570=_0x467fc4;_0x3326dc=0xc8;}else{_0x3326dc=0xce;}_0x17948e['status'](_0x3326dc);return _0x17948e['set'](_0x35d9('0x1d'),_0xa94a7e+'-'+_0x503570+'/'+_0x467fc4)[_0x35d9('0x19')](_0x50e686);}return null;};}function patchUpdates(_0x33b0d7){return function(_0x2d6184){try{jsonpatch['apply'](_0x2d6184,_0x33b0d7,!![]);}catch(_0x1ff3d9){return BPromise[_0x35d9('0x1e')](_0x1ff3d9);}return _0x2d6184[_0x35d9('0x1f')]();};}function saveUpdates(_0x322ca1,_0x2b4495){return function(_0x145a3f){if(_0x145a3f){return _0x145a3f[_0x35d9('0x20')](_0x322ca1)[_0x35d9('0x21')](function(_0x2b5c4c){return _0x2b5c4c;});}return null;};}function removeEntity(_0x2b5f3e,_0x51c9e9){return function(_0x487f52){if(_0x487f52){return _0x487f52[_0x35d9('0x22')]()[_0x35d9('0x21')](function(){_0x2b5f3e[_0x35d9('0x17')](0xcc)[_0x35d9('0x18')]();});}};}function handleEntityNotFound(_0x5b3051,_0x1838f0){return function(_0xc7d288){if(!_0xc7d288){_0x5b3051[_0x35d9('0x16')](0x194);}return _0xc7d288;};}function handleError(_0x3a2b27,_0x155e9f){_0x155e9f=_0x155e9f||0x1f4;return function(_0x1b6d2b){logger[_0x35d9('0x23')](_0x1b6d2b[_0x35d9('0x24')]);if(_0x1b6d2b[_0x35d9('0x25')]){delete _0x1b6d2b['name'];}_0x3a2b27['status'](_0x155e9f)[_0x35d9('0x26')](_0x1b6d2b);};}exports[_0x35d9('0x27')]=function(_0x5afe7b,_0x2ffdd6){var _0x3ad421={},_0x2179d4={},_0x483d0e={'count':0x0,'rows':[]};var _0x1b4e2d=_[_0x35d9('0x28')](db['SquareReport']['rawAttributes'],function(_0x4a769c){return{'name':_0x4a769c[_0x35d9('0x29')],'type':_0x4a769c['type'][_0x35d9('0x2a')]};});_0x2179d4[_0x35d9('0x2b')]=_['map'](_0x1b4e2d,'name');_0x2179d4[_0x35d9('0x2c')]=_[_0x35d9('0x2d')](_0x5afe7b['query']);_0x2179d4[_0x35d9('0x2e')]=_[_0x35d9('0x2f')](_0x2179d4[_0x35d9('0x2b')],_0x2179d4[_0x35d9('0x2c')]);_0x3ad421[_0x35d9('0x30')]=_[_0x35d9('0x2f')](_0x2179d4[_0x35d9('0x2b')],qs[_0x35d9('0x31')](_0x5afe7b[_0x35d9('0x2c')][_0x35d9('0x31')]));_0x3ad421[_0x35d9('0x30')]=_0x3ad421[_0x35d9('0x30')][_0x35d9('0x32')]?_0x3ad421[_0x35d9('0x30')]:_0x2179d4[_0x35d9('0x2b')];if(!_0x5afe7b['query'][_0x35d9('0x33')](_0x35d9('0x34'))){_0x3ad421[_0x35d9('0x1c')]=qs['limit'](_0x5afe7b['query'][_0x35d9('0x1c')]);_0x3ad421[_0x35d9('0x1b')]=qs['offset'](_0x5afe7b[_0x35d9('0x2c')][_0x35d9('0x1b')]);}_0x3ad421[_0x35d9('0x35')]=qs[_0x35d9('0x36')](_0x5afe7b[_0x35d9('0x2c')]['sort']);_0x3ad421[_0x35d9('0x37')]=qs[_0x35d9('0x2e')](_[_0x35d9('0x38')](_0x5afe7b[_0x35d9('0x2c')],_0x2179d4[_0x35d9('0x2e')]),_0x1b4e2d);if(_0x5afe7b['query'][_0x35d9('0x39')]){_0x3ad421[_0x35d9('0x37')]=_['merge'](_0x3ad421['where'],{'$or':_[_0x35d9('0x28')](_0x1b4e2d,function(_0x5bfa11){if(_0x5bfa11[_0x35d9('0x3a')]!==_0x35d9('0x3b')){var _0x3e1d49={};_0x3e1d49[_0x5bfa11[_0x35d9('0x25')]]={'$like':'%'+_0x5afe7b[_0x35d9('0x2c')][_0x35d9('0x39')]+'%'};return _0x3e1d49;}})});}_0x3ad421=_[_0x35d9('0x3c')]({},_0x3ad421,_0x5afe7b[_0x35d9('0x3d')]);var _0x8cbc6b={'where':_0x3ad421['where']};return db['SquareReport']['count'](_0x8cbc6b)[_0x35d9('0x21')](function(_0x419643){_0x483d0e[_0x35d9('0x1a')]=_0x419643;if(_0x5afe7b[_0x35d9('0x2c')][_0x35d9('0x3e')]){_0x3ad421[_0x35d9('0x3f')]=[{'all':!![]}];}return db[_0x35d9('0x40')]['findAll'](_0x3ad421);})[_0x35d9('0x21')](function(_0x145ba6){_0x483d0e[_0x35d9('0x41')]=_0x145ba6;return _0x483d0e;})['then'](respondWithFilteredResult(_0x2ffdd6,_0x3ad421))[_0x35d9('0x42')](handleError(_0x2ffdd6,null));};exports[_0x35d9('0x43')]=function(_0x15693c,_0xa9a832){var _0x185222={'raw':!![],'where':{'id':_0x15693c[_0x35d9('0x44')]['id']}},_0x2a871f={};_0x2a871f[_0x35d9('0x2b')]=_[_0x35d9('0x2d')](db['SquareReport'][_0x35d9('0x45')]);_0x2a871f['query']=_[_0x35d9('0x2d')](_0x15693c[_0x35d9('0x2c')]);_0x2a871f[_0x35d9('0x2e')]=_[_0x35d9('0x2f')](_0x2a871f['model'],_0x2a871f[_0x35d9('0x2c')]);_0x185222[_0x35d9('0x30')]=_['intersection'](_0x2a871f[_0x35d9('0x2b')],qs[_0x35d9('0x31')](_0x15693c[_0x35d9('0x2c')][_0x35d9('0x31')]));_0x185222[_0x35d9('0x30')]=_0x185222['attributes'][_0x35d9('0x32')]?_0x185222['attributes']:_0x2a871f[_0x35d9('0x2b')];if(_0x15693c[_0x35d9('0x2c')][_0x35d9('0x3e')]){_0x185222[_0x35d9('0x3f')]=[{'all':!![]}];}_0x185222=_['merge']({},_0x185222,_0x15693c[_0x35d9('0x3d')]);return db[_0x35d9('0x40')][_0x35d9('0x46')](_0x185222)['then'](handleEntityNotFound(_0xa9a832,null))['then'](respondWithResult(_0xa9a832,null))[_0x35d9('0x42')](handleError(_0xa9a832,null));};exports[_0x35d9('0x47')]=function(_0x17a809,_0x103f18){return db[_0x35d9('0x40')][_0x35d9('0x47')](_0x17a809[_0x35d9('0x48')],{})['then'](respondWithResult(_0x103f18,0xc9))[_0x35d9('0x42')](handleError(_0x103f18,null));};exports[_0x35d9('0x20')]=function(_0x5758a4,_0x502444){if(_0x5758a4[_0x35d9('0x48')]['id']){delete _0x5758a4['body']['id'];}return db[_0x35d9('0x40')][_0x35d9('0x46')]({'where':{'id':_0x5758a4[_0x35d9('0x44')]['id']}})[_0x35d9('0x21')](handleEntityNotFound(_0x502444,null))[_0x35d9('0x21')](saveUpdates(_0x5758a4['body'],null))[_0x35d9('0x21')](respondWithResult(_0x502444,null))[_0x35d9('0x42')](handleError(_0x502444,null));};exports['destroy']=function(_0x117a16,_0x40f488){return db[_0x35d9('0x40')][_0x35d9('0x46')]({'where':{'id':_0x117a16[_0x35d9('0x44')]['id']}})[_0x35d9('0x21')](handleEntityNotFound(_0x40f488,null))['then'](removeEntity(_0x40f488,null))[_0x35d9('0x42')](handleError(_0x40f488,null));};exports[_0x35d9('0x49')]=function(_0x4fbb50,_0x19948e){return db[_0x35d9('0x40')]['describe']()[_0x35d9('0x21')](respondWithResult(_0x19948e,null))[_0x35d9('0x42')](handleError(_0x19948e,null));};