Built motion from commit 953226e6.|2.6.32
[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 _0x6957=['get','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','destroy','dsn','odbc','openSync','closeSync','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','offset','count','set','Content-Range','apply','reject','save','then','ODBC','UserProfileResource','error','stack','name','send','map','SquareOdbc','rawAttributes','fieldName','key','model','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','merge','type','VIRTUAL','filter','options','includeAll','findAll','rows','params','include','find','catch','create','body'];(function(_0x583b14,_0x59fe86){var _0x8214dc=function(_0x5954a2){while(--_0x5954a2){_0x583b14['push'](_0x583b14['shift']());}};_0x8214dc(++_0x59fe86);}(_0x6957,0x1c4));var _0x7695=function(_0x4a917a,_0x26796a){_0x4a917a=_0x4a917a-0x0;var _0x368330=_0x6957[_0x4a917a];return _0x368330;};'use strict';var emlformat=require(_0x7695('0x0'));var rimraf=require(_0x7695('0x1'));var zipdir=require(_0x7695('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7695('0x3'));var moment=require(_0x7695('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x7695('0x5'));var util=require(_0x7695('0x6'));var path=require(_0x7695('0x7'));var sox=require(_0x7695('0x8'));var csv=require(_0x7695('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7695('0xa'));var _=require('lodash');var squel=require(_0x7695('0xb'));var crypto=require(_0x7695('0xc'));var jsforce=require(_0x7695('0xd'));var deskjs=require(_0x7695('0xe'));var toCsv=require('to-csv');var querystring=require(_0x7695('0xf'));var Papa=require(_0x7695('0x10'));var Redis=require(_0x7695('0x11'));var authService=require(_0x7695('0x12'));var qs=require(_0x7695('0x13'));var as=require(_0x7695('0x14'));var hardwareService=require(_0x7695('0x15'));var logger=require('../../config/logger')(_0x7695('0x16'));var utils=require(_0x7695('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x7695('0x18'));var db=require(_0x7695('0x19'))['db'];function respondWithStatusCode(_0x14d693,_0x518957){_0x518957=_0x518957||0xcc;return function(_0x173517){if(_0x173517){return _0x14d693[_0x7695('0x1a')](_0x518957);}return _0x14d693[_0x7695('0x1b')](_0x518957)[_0x7695('0x1c')]();};}function respondWithResult(_0x122250,_0x30abc6){_0x30abc6=_0x30abc6||0xc8;return function(_0xedc539){if(_0xedc539){return _0x122250[_0x7695('0x1b')](_0x30abc6)[_0x7695('0x1d')](_0xedc539);}};}function respondWithFilteredResult(_0x5b80c4,_0x40e033){return function(_0x3cd17b){if(_0x3cd17b){var _0x513d78=typeof _0x40e033['offset']==='undefined'&&typeof _0x40e033[_0x7695('0x1e')]==='undefined';var _0x824b53=_0x3cd17b['count'];var _0xdacb0b=_0x513d78?0x0:_0x40e033[_0x7695('0x1f')];var _0x14e033=_0x513d78?_0x3cd17b[_0x7695('0x20')]:_0x40e033[_0x7695('0x1f')]+_0x40e033[_0x7695('0x1e')];var _0x3a0d63;if(_0x14e033>=_0x824b53){_0x14e033=_0x824b53;_0x3a0d63=0xc8;}else{_0x3a0d63=0xce;}_0x5b80c4['status'](_0x3a0d63);return _0x5b80c4[_0x7695('0x21')](_0x7695('0x22'),_0xdacb0b+'-'+_0x14e033+'/'+_0x824b53)[_0x7695('0x1d')](_0x3cd17b);}return null;};}function patchUpdates(_0x16cf04){return function(_0x2938f2){try{jsonpatch[_0x7695('0x23')](_0x2938f2,_0x16cf04,!![]);}catch(_0x101e5c){return BPromise[_0x7695('0x24')](_0x101e5c);}return _0x2938f2[_0x7695('0x25')]();};}function saveUpdates(_0x2d4582,_0x147467){return function(_0xa3624e){if(_0xa3624e){return _0xa3624e['update'](_0x2d4582)['then'](function(_0x24a811){return _0x24a811;});}return null;};}function removeEntity(_0x3a6615,_0x544d1c){return function(_0x4f7b41){if(_0x4f7b41){return _0x4f7b41['destroy']()[_0x7695('0x26')](function(){var _0x526016=_0x4f7b41['get']({'plain':!![]});var _0x565437=_0x7695('0x27');return db[_0x7695('0x28')]['destroy']({'where':{'type':_0x565437,'resourceId':_0x526016['id']}})[_0x7695('0x26')](function(){return _0x4f7b41;});})[_0x7695('0x26')](function(){_0x3a6615[_0x7695('0x1b')](0xcc)[_0x7695('0x1c')]();});}};}function handleEntityNotFound(_0x1cf6c8,_0x4eb4bc){return function(_0xa4177d){if(!_0xa4177d){_0x1cf6c8['sendStatus'](0x194);}return _0xa4177d;};}function handleError(_0x2a31fe,_0x2a70ac){_0x2a70ac=_0x2a70ac||0x1f4;return function(_0x4444fa){logger[_0x7695('0x29')](_0x4444fa[_0x7695('0x2a')]);if(_0x4444fa[_0x7695('0x2b')]){delete _0x4444fa[_0x7695('0x2b')];}_0x2a31fe[_0x7695('0x1b')](_0x2a70ac)[_0x7695('0x2c')](_0x4444fa);};}exports['index']=function(_0x5d4476,_0x5a385c){var _0x3ff9f1={},_0x3d2266={},_0x4668e4={'count':0x0,'rows':[]};var _0x2cb407=_[_0x7695('0x2d')](db[_0x7695('0x2e')][_0x7695('0x2f')],function(_0x20b403){return{'name':_0x20b403[_0x7695('0x30')],'type':_0x20b403['type'][_0x7695('0x31')]};});_0x3d2266[_0x7695('0x32')]=_['map'](_0x2cb407,'name');_0x3d2266[_0x7695('0x33')]=_[_0x7695('0x34')](_0x5d4476[_0x7695('0x33')]);_0x3d2266['filters']=_[_0x7695('0x35')](_0x3d2266[_0x7695('0x32')],_0x3d2266[_0x7695('0x33')]);_0x3ff9f1['attributes']=_[_0x7695('0x35')](_0x3d2266['model'],qs[_0x7695('0x36')](_0x5d4476[_0x7695('0x33')]['fields']));_0x3ff9f1[_0x7695('0x37')]=_0x3ff9f1[_0x7695('0x37')][_0x7695('0x38')]?_0x3ff9f1[_0x7695('0x37')]:_0x3d2266['model'];if(!_0x5d4476[_0x7695('0x33')][_0x7695('0x39')](_0x7695('0x3a'))){_0x3ff9f1[_0x7695('0x1e')]=qs[_0x7695('0x1e')](_0x5d4476[_0x7695('0x33')]['limit']);_0x3ff9f1[_0x7695('0x1f')]=qs[_0x7695('0x1f')](_0x5d4476[_0x7695('0x33')][_0x7695('0x1f')]);}_0x3ff9f1['order']=qs[_0x7695('0x3b')](_0x5d4476['query']['sort']);_0x3ff9f1[_0x7695('0x3c')]=qs[_0x7695('0x3d')](_['pick'](_0x5d4476[_0x7695('0x33')],_0x3d2266[_0x7695('0x3d')]),_0x2cb407);if(_0x5d4476[_0x7695('0x33')]['filter']){_0x3ff9f1[_0x7695('0x3c')]=_[_0x7695('0x3e')](_0x3ff9f1[_0x7695('0x3c')],{'$or':_[_0x7695('0x2d')](_0x2cb407,function(_0x44882a){if(_0x44882a[_0x7695('0x3f')]!==_0x7695('0x40')){var _0x5e1d40={};_0x5e1d40[_0x44882a['name']]={'$like':'%'+_0x5d4476[_0x7695('0x33')][_0x7695('0x41')]+'%'};return _0x5e1d40;}})});}_0x3ff9f1=_[_0x7695('0x3e')]({},_0x3ff9f1,_0x5d4476[_0x7695('0x42')]);var _0x163830={'where':_0x3ff9f1[_0x7695('0x3c')]};return db[_0x7695('0x2e')][_0x7695('0x20')](_0x163830)[_0x7695('0x26')](function(_0x2ed799){_0x4668e4[_0x7695('0x20')]=_0x2ed799;if(_0x5d4476[_0x7695('0x33')][_0x7695('0x43')]){_0x3ff9f1['include']=[{'all':!![]}];}return db['SquareOdbc'][_0x7695('0x44')](_0x3ff9f1);})[_0x7695('0x26')](function(_0x40d000){_0x4668e4[_0x7695('0x45')]=_0x40d000;return _0x4668e4;})['then'](respondWithFilteredResult(_0x5a385c,_0x3ff9f1))['catch'](handleError(_0x5a385c,null));};exports['show']=function(_0x150b51,_0x3c16b0){var _0x10bb77={'raw':!![],'where':{'id':_0x150b51[_0x7695('0x46')]['id']}},_0x31f493={};_0x31f493[_0x7695('0x32')]=_[_0x7695('0x34')](db[_0x7695('0x2e')][_0x7695('0x2f')]);_0x31f493[_0x7695('0x33')]=_[_0x7695('0x34')](_0x150b51[_0x7695('0x33')]);_0x31f493['filters']=_[_0x7695('0x35')](_0x31f493[_0x7695('0x32')],_0x31f493[_0x7695('0x33')]);_0x10bb77[_0x7695('0x37')]=_[_0x7695('0x35')](_0x31f493[_0x7695('0x32')],qs[_0x7695('0x36')](_0x150b51['query'][_0x7695('0x36')]));_0x10bb77[_0x7695('0x37')]=_0x10bb77[_0x7695('0x37')]['length']?_0x10bb77[_0x7695('0x37')]:_0x31f493[_0x7695('0x32')];if(_0x150b51['query']['includeAll']){_0x10bb77[_0x7695('0x47')]=[{'all':!![]}];}_0x10bb77=_[_0x7695('0x3e')]({},_0x10bb77,_0x150b51['options']);return db[_0x7695('0x2e')][_0x7695('0x48')](_0x10bb77)[_0x7695('0x26')](handleEntityNotFound(_0x3c16b0,null))[_0x7695('0x26')](respondWithResult(_0x3c16b0,null))[_0x7695('0x49')](handleError(_0x3c16b0,null));};exports[_0x7695('0x4a')]=function(_0xd01c7c,_0x550dbb){return db['SquareOdbc'][_0x7695('0x4a')](_0xd01c7c[_0x7695('0x4b')],{})[_0x7695('0x26')](function(_0x22738f){var _0x524779=_0xd01c7c['user'][_0x7695('0x4c')]({'plain':!![]});if(!_0x524779)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x524779['role']===_0x7695('0x4d')){var _0xa0d070=_0x22738f['get']({'plain':!![]});var _0x317c04=_0x7695('0x27');return db[_0x7695('0x4e')]['find']({'where':{'name':_0x317c04,'userProfileId':_0x524779[_0x7695('0x4f')]},'raw':!![]})['then'](function(_0x40634d){if(_0x40634d&&_0x40634d[_0x7695('0x50')]===0x0){return db[_0x7695('0x28')][_0x7695('0x4a')]({'name':_0xa0d070['name'],'resourceId':_0xa0d070['id'],'type':_0x40634d['name'],'sectionId':_0x40634d['id']},{})[_0x7695('0x26')](function(){return _0x22738f;});}else{return _0x22738f;}})[_0x7695('0x49')](function(_0x48e538){logger[_0x7695('0x29')](_0x7695('0x51'),_0x48e538);throw _0x48e538;});}return _0x22738f;})['then'](respondWithResult(_0x550dbb,0xc9))['catch'](handleError(_0x550dbb,null));};exports[_0x7695('0x52')]=function(_0x61adb5,_0x5b5968){if(_0x61adb5[_0x7695('0x4b')]['id']){delete _0x61adb5[_0x7695('0x4b')]['id'];}return db[_0x7695('0x2e')][_0x7695('0x48')]({'where':{'id':_0x61adb5[_0x7695('0x46')]['id']}})[_0x7695('0x26')](handleEntityNotFound(_0x5b5968,null))[_0x7695('0x26')](saveUpdates(_0x61adb5[_0x7695('0x4b')],null))[_0x7695('0x26')](respondWithResult(_0x5b5968,null))[_0x7695('0x49')](handleError(_0x5b5968,null));};exports[_0x7695('0x53')]=function(_0x1a5ca6,_0x3c877f){return db['SquareOdbc']['find']({'where':{'id':_0x1a5ca6[_0x7695('0x46')]['id']}})[_0x7695('0x26')](handleEntityNotFound(_0x3c877f,null))['then'](removeEntity(_0x3c877f,null))[_0x7695('0x49')](handleError(_0x3c877f,null));};exports['test']=function(_0x16a7a8,_0x18e17b,_0x3c64b6){var _0x1b7585;return db[_0x7695('0x2e')][_0x7695('0x48')]({'where':{'id':_0x16a7a8[_0x7695('0x46')]['id']},'attributes':['id',_0x7695('0x54')]})['then'](handleEntityNotFound(_0x18e17b,null))[_0x7695('0x26')](function(_0x399e90){if(_0x399e90){var _0x5325e8=require(_0x7695('0x55'))();_0x5325e8[_0x7695('0x56')](_0x399e90[_0x7695('0x54')]);_0x5325e8[_0x7695('0x57')]();return _0x399e90;}})['then'](respondWithResult(_0x18e17b,null))[_0x7695('0x49')](handleError(_0x18e17b,null));};