Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / api / squareOdbc / squareOdbc.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 _0x7a5b=['querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','../../config/utils','sendStatus','status','end','json','count','offset','limit','set','apply','update','then','destroy','get','ODBC','error','stack','name','send','index','map','SquareOdbc','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','pick','filter','merge','options','include','findAll','rows','catch','show','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','test','odbc','dsn','closeSync','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','squel','crypto','jsforce','desk.js'];(function(_0x556347,_0x2538f7){var _0x1633ca=function(_0x39a297){while(--_0x39a297){_0x556347['push'](_0x556347['shift']());}};_0x1633ca(++_0x2538f7);}(_0x7a5b,0x1d7));var _0xb7a5=function(_0x3e7b39,_0x2c2110){_0x3e7b39=_0x3e7b39-0x0;var _0x4ad001=_0x7a5b[_0x3e7b39];return _0x4ad001;};'use strict';var pdf=require(_0xb7a5('0x0'));var emlformat=require(_0xb7a5('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xb7a5('0x2'));var jsonpatch=require(_0xb7a5('0x3'));var rp=require(_0xb7a5('0x4'));var moment=require(_0xb7a5('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb7a5('0x6'));var util=require(_0xb7a5('0x7'));var path=require('path');var sox=require(_0xb7a5('0x8'));var csv=require(_0xb7a5('0x9'));var ejs=require(_0xb7a5('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xb7a5('0xb'));var crypto=require(_0xb7a5('0xc'));var jsforce=require(_0xb7a5('0xd'));var deskjs=require(_0xb7a5('0xe'));var toCsv=require(_0xb7a5('0x9'));var querystring=require(_0xb7a5('0xf'));var Papa=require(_0xb7a5('0x10'));var Redis=require(_0xb7a5('0x11'));var authService=require(_0xb7a5('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xb7a5('0x13'))('api');var utils=require(_0xb7a5('0x14'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x59505e,_0x2d89e6){_0x2d89e6=_0x2d89e6||0xcc;return function(_0x47d1b6){if(_0x47d1b6){return _0x59505e[_0xb7a5('0x15')](_0x2d89e6);}return _0x59505e[_0xb7a5('0x16')](_0x2d89e6)[_0xb7a5('0x17')]();};}function respondWithResult(_0x4d6bad,_0x746f12){_0x746f12=_0x746f12||0xc8;return function(_0x203651){if(_0x203651){return _0x4d6bad[_0xb7a5('0x16')](_0x746f12)[_0xb7a5('0x18')](_0x203651);}};}function respondWithFilteredResult(_0x3995b5,_0x1f0139){return function(_0x3c435c){if(_0x3c435c){var _0x237d38=_0x3c435c[_0xb7a5('0x19')],_0x19b5e9=_0x1f0139[_0xb7a5('0x1a')],_0x2f5514=_0x1f0139[_0xb7a5('0x1a')]+_0x1f0139[_0xb7a5('0x1b')],_0x3065aa;if(_0x2f5514>=_0x237d38){_0x2f5514=_0x237d38;_0x3065aa=0xc8;}else{_0x3065aa=0xce;}_0x3995b5[_0xb7a5('0x16')](_0x3065aa);return _0x3995b5[_0xb7a5('0x1c')]('Content-Range',_0x19b5e9+'-'+_0x2f5514+'/'+_0x237d38)[_0xb7a5('0x18')](_0x3c435c);}return null;};}function patchUpdates(_0x172609){return function(_0xfc969b){try{jsonpatch[_0xb7a5('0x1d')](_0xfc969b,_0x172609,!![]);}catch(_0x43e223){return BPromise['reject'](_0x43e223);}return _0xfc969b['save']();};}function saveUpdates(_0x3ba101,_0x34da52){return function(_0x2845f8){if(_0x2845f8){return _0x2845f8[_0xb7a5('0x1e')](_0x3ba101)[_0xb7a5('0x1f')](function(_0x169d9e){return _0x169d9e;});}return null;};}function removeEntity(_0x9ef749,_0x2bc8d3){return function(_0x420877){if(_0x420877){return _0x420877[_0xb7a5('0x20')]()['then'](function(){var _0x51dec9=_0x420877[_0xb7a5('0x21')]({'plain':!![]});var _0x263ebb=_0xb7a5('0x22');return db['UserProfileResource']['destroy']({'where':{'type':_0x263ebb,'resourceId':_0x51dec9['id']}})[_0xb7a5('0x1f')](function(){return _0x420877;});})[_0xb7a5('0x1f')](function(){_0x9ef749[_0xb7a5('0x16')](0xcc)[_0xb7a5('0x17')]();});}};}function handleEntityNotFound(_0x334491,_0x1a2a04){return function(_0x2a6855){if(!_0x2a6855){_0x334491[_0xb7a5('0x15')](0x194);}return _0x2a6855;};}function handleError(_0x3e5d18,_0x445210){_0x445210=_0x445210||0x1f4;return function(_0x2e48ec){logger[_0xb7a5('0x23')](_0x2e48ec[_0xb7a5('0x24')]);if(_0x2e48ec[_0xb7a5('0x25')]){delete _0x2e48ec[_0xb7a5('0x25')];}_0x3e5d18[_0xb7a5('0x16')](_0x445210)[_0xb7a5('0x26')](_0x2e48ec);};}exports[_0xb7a5('0x27')]=function(_0x1f540e,_0x5156a6){var _0x3ea81d={},_0x1b0136={},_0x15adba={'count':0x0,'rows':[]};var _0x1c96b1=_[_0xb7a5('0x28')](db[_0xb7a5('0x29')][_0xb7a5('0x2a')],function(_0x3f5272){return{'name':_0x3f5272[_0xb7a5('0x2b')],'type':_0x3f5272[_0xb7a5('0x2c')][_0xb7a5('0x2d')]};});_0x1b0136[_0xb7a5('0x2e')]=_[_0xb7a5('0x28')](_0x1c96b1,_0xb7a5('0x25'));_0x1b0136[_0xb7a5('0x2f')]=_[_0xb7a5('0x30')](_0x1f540e[_0xb7a5('0x2f')]);_0x1b0136[_0xb7a5('0x31')]=_[_0xb7a5('0x32')](_0x1b0136[_0xb7a5('0x2e')],_0x1b0136['query']);_0x3ea81d['attributes']=_['intersection'](_0x1b0136[_0xb7a5('0x2e')],qs[_0xb7a5('0x33')](_0x1f540e[_0xb7a5('0x2f')][_0xb7a5('0x33')]));_0x3ea81d[_0xb7a5('0x34')]=_0x3ea81d[_0xb7a5('0x34')][_0xb7a5('0x35')]?_0x3ea81d[_0xb7a5('0x34')]:_0x1b0136[_0xb7a5('0x2e')];if(!_0x1f540e[_0xb7a5('0x2f')]['hasOwnProperty']('nolimit')){_0x3ea81d[_0xb7a5('0x1b')]=qs[_0xb7a5('0x1b')](_0x1f540e[_0xb7a5('0x2f')][_0xb7a5('0x1b')]);_0x3ea81d[_0xb7a5('0x1a')]=qs[_0xb7a5('0x1a')](_0x1f540e[_0xb7a5('0x2f')][_0xb7a5('0x1a')]);}_0x3ea81d[_0xb7a5('0x36')]=qs[_0xb7a5('0x37')](_0x1f540e[_0xb7a5('0x2f')]['sort']);_0x3ea81d[_0xb7a5('0x38')]=qs['filters'](_[_0xb7a5('0x39')](_0x1f540e[_0xb7a5('0x2f')],_0x1b0136['filters']));if(_0x1f540e[_0xb7a5('0x2f')][_0xb7a5('0x3a')]){_0x3ea81d['where']=_[_0xb7a5('0x3b')](_0x3ea81d[_0xb7a5('0x38')],{'$or':_[_0xb7a5('0x28')](_0x1c96b1,function(_0x21a645){if(_0x21a645[_0xb7a5('0x2c')]!=='VIRTUAL'){var _0x44471a={};_0x44471a[_0x21a645[_0xb7a5('0x25')]]={'$like':'%'+_0x1f540e[_0xb7a5('0x2f')][_0xb7a5('0x3a')]+'%'};return _0x44471a;}})});}_0x3ea81d=_['merge']({},_0x3ea81d,_0x1f540e[_0xb7a5('0x3c')]);var _0x4a33da={'where':_0x3ea81d[_0xb7a5('0x38')]};return db[_0xb7a5('0x29')][_0xb7a5('0x19')](_0x4a33da)['then'](function(_0x307382){_0x15adba[_0xb7a5('0x19')]=_0x307382;if(_0x1f540e[_0xb7a5('0x2f')]['includeAll']){_0x3ea81d[_0xb7a5('0x3d')]=[{'all':!![]}];}return db[_0xb7a5('0x29')][_0xb7a5('0x3e')](_0x3ea81d);})[_0xb7a5('0x1f')](function(_0xa16737){_0x15adba[_0xb7a5('0x3f')]=_0xa16737;return _0x15adba;})[_0xb7a5('0x1f')](respondWithFilteredResult(_0x5156a6,_0x3ea81d))[_0xb7a5('0x40')](handleError(_0x5156a6,null));};exports[_0xb7a5('0x41')]=function(_0x23e2de,_0x46ec42){var _0x33f83a={'raw':!![],'where':{'id':_0x23e2de['params']['id']}},_0x24303d={};_0x24303d['model']=_[_0xb7a5('0x30')](db[_0xb7a5('0x29')][_0xb7a5('0x2a')]);_0x24303d['query']=_['keys'](_0x23e2de[_0xb7a5('0x2f')]);_0x24303d[_0xb7a5('0x31')]=_['intersection'](_0x24303d[_0xb7a5('0x2e')],_0x24303d[_0xb7a5('0x2f')]);_0x33f83a[_0xb7a5('0x34')]=_[_0xb7a5('0x32')](_0x24303d[_0xb7a5('0x2e')],qs[_0xb7a5('0x33')](_0x23e2de[_0xb7a5('0x2f')][_0xb7a5('0x33')]));_0x33f83a['attributes']=_0x33f83a[_0xb7a5('0x34')][_0xb7a5('0x35')]?_0x33f83a['attributes']:_0x24303d['model'];if(_0x23e2de['query'][_0xb7a5('0x42')]){_0x33f83a[_0xb7a5('0x3d')]=[{'all':!![]}];}_0x33f83a=_['merge']({},_0x33f83a,_0x23e2de[_0xb7a5('0x3c')]);return db[_0xb7a5('0x29')][_0xb7a5('0x43')](_0x33f83a)[_0xb7a5('0x1f')](handleEntityNotFound(_0x46ec42,null))['then'](respondWithResult(_0x46ec42,null))[_0xb7a5('0x40')](handleError(_0x46ec42,null));};exports[_0xb7a5('0x44')]=function(_0x31ddee,_0x331f2c){return db[_0xb7a5('0x29')]['create'](_0x31ddee[_0xb7a5('0x45')],{})[_0xb7a5('0x1f')](function(_0x52a9c2){var _0x226f1a=_0x31ddee[_0xb7a5('0x46')][_0xb7a5('0x21')]({'plain':!![]});if(!_0x226f1a)throw new Error(_0xb7a5('0x47'));if(_0x226f1a[_0xb7a5('0x48')]==='user'){var _0x4283d7=_0x52a9c2[_0xb7a5('0x21')]({'plain':!![]});var _0x452470=_0xb7a5('0x22');return db[_0xb7a5('0x49')][_0xb7a5('0x43')]({'where':{'name':_0x452470,'userProfileId':_0x226f1a['userProfileId']},'raw':!![]})[_0xb7a5('0x1f')](function(_0x1021b5){if(_0x1021b5&&_0x1021b5['autoAssociation']===0x0){return db[_0xb7a5('0x4a')]['create']({'name':_0x4283d7[_0xb7a5('0x25')],'resourceId':_0x4283d7['id'],'type':_0x1021b5['name'],'sectionId':_0x1021b5['id']},{})[_0xb7a5('0x1f')](function(){return _0x52a9c2;});}else{return _0x52a9c2;}})['catch'](function(_0xc0add4){logger[_0xb7a5('0x23')](_0xb7a5('0x4b'),_0xc0add4);throw _0xc0add4;});}return _0x52a9c2;})[_0xb7a5('0x1f')](respondWithResult(_0x331f2c,0xc9))[_0xb7a5('0x40')](handleError(_0x331f2c,null));};exports[_0xb7a5('0x1e')]=function(_0xdb0ab,_0x4e6bc5){if(_0xdb0ab[_0xb7a5('0x45')]['id']){delete _0xdb0ab[_0xb7a5('0x45')]['id'];}return db['SquareOdbc'][_0xb7a5('0x43')]({'where':{'id':_0xdb0ab[_0xb7a5('0x4c')]['id']}})['then'](handleEntityNotFound(_0x4e6bc5,null))[_0xb7a5('0x1f')](saveUpdates(_0xdb0ab[_0xb7a5('0x45')],null))[_0xb7a5('0x1f')](respondWithResult(_0x4e6bc5,null))[_0xb7a5('0x40')](handleError(_0x4e6bc5,null));};exports['destroy']=function(_0x19eb22,_0x514e03){return db[_0xb7a5('0x29')][_0xb7a5('0x43')]({'where':{'id':_0x19eb22['params']['id']}})['then'](handleEntityNotFound(_0x514e03,null))[_0xb7a5('0x1f')](removeEntity(_0x514e03,null))['catch'](handleError(_0x514e03,null));};exports[_0xb7a5('0x4d')]=function(_0x5474f5,_0x32be11,_0x221e47){var _0x9c30b3;return db[_0xb7a5('0x29')][_0xb7a5('0x43')]({'where':{'id':_0x5474f5[_0xb7a5('0x4c')]['id']},'attributes':['id','dsn']})['then'](handleEntityNotFound(_0x32be11,null))[_0xb7a5('0x1f')](function(_0x1fcb2e){if(_0x1fcb2e){var _0x1a569e=require(_0xb7a5('0x4e'))();_0x1a569e['openSync'](_0x1fcb2e[_0xb7a5('0x4f')]);_0x1a569e[_0xb7a5('0x50')]();return _0x1fcb2e;}})[_0xb7a5('0x1f')](respondWithResult(_0x32be11,null))['catch'](handleError(_0x32be11,null));};