Built motion from commit ab870f9e.|2.5.44
[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 _0x2eba=['limit','count','status','set','Content-Range','reject','save','update','then','destroy','ODBC','UserProfileResource','end','sendStatus','stack','name','send','SquareOdbc','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','include','rows','catch','show','params','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','test','dsn','odbc','openSync','closeSync','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','json','offset','undefined'];(function(_0x44c905,_0x51ea3f){var _0x5d9975=function(_0x6ac62c){while(--_0x6ac62c){_0x44c905['push'](_0x44c905['shift']());}};_0x5d9975(++_0x51ea3f);}(_0x2eba,0xf2));var _0xa2eb=function(_0x5030fa,_0x3f86d3){_0x5030fa=_0x5030fa-0x0;var _0x463471=_0x2eba[_0x5030fa];return _0x463471;};'use strict';var emlformat=require(_0xa2eb('0x0'));var rimraf=require(_0xa2eb('0x1'));var zipdir=require(_0xa2eb('0x2'));var jsonpatch=require(_0xa2eb('0x3'));var rp=require(_0xa2eb('0x4'));var moment=require(_0xa2eb('0x5'));var BPromise=require(_0xa2eb('0x6'));var Mustache=require(_0xa2eb('0x7'));var util=require(_0xa2eb('0x8'));var path=require(_0xa2eb('0x9'));var sox=require(_0xa2eb('0xa'));var csv=require(_0xa2eb('0xb'));var ejs=require(_0xa2eb('0xc'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa2eb('0xd'));var squel=require(_0xa2eb('0xe'));var crypto=require('crypto');var jsforce=require(_0xa2eb('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xa2eb('0xb'));var querystring=require(_0xa2eb('0x10'));var Papa=require('papaparse');var Redis=require(_0xa2eb('0x11'));var authService=require(_0xa2eb('0x12'));var qs=require(_0xa2eb('0x13'));var as=require(_0xa2eb('0x14'));var hardwareService=require(_0xa2eb('0x15'));var logger=require(_0xa2eb('0x16'))(_0xa2eb('0x17'));var utils=require(_0xa2eb('0x18'));var config=require(_0xa2eb('0x19'));var licenseUtil=require(_0xa2eb('0x1a'));var db=require(_0xa2eb('0x1b'))['db'];function respondWithStatusCode(_0x21ea1a,_0x520e07){_0x520e07=_0x520e07||0xcc;return function(_0x5ed1cc){if(_0x5ed1cc){return _0x21ea1a['sendStatus'](_0x520e07);}return _0x21ea1a['status'](_0x520e07)['end']();};}function respondWithResult(_0x2ab9d4,_0x1cafad){_0x1cafad=_0x1cafad||0xc8;return function(_0x578e53){if(_0x578e53){return _0x2ab9d4['status'](_0x1cafad)[_0xa2eb('0x1c')](_0x578e53);}};}function respondWithFilteredResult(_0x14b6cc,_0x3d6dbc){return function(_0x586ba0){if(_0x586ba0){var _0x510dea=typeof _0x3d6dbc[_0xa2eb('0x1d')]===_0xa2eb('0x1e')&&typeof _0x3d6dbc[_0xa2eb('0x1f')]===_0xa2eb('0x1e');var _0x48b356=_0x586ba0[_0xa2eb('0x20')];var _0x4115db=_0x510dea?0x0:_0x3d6dbc['offset'];var _0x5f032b=_0x510dea?_0x586ba0['count']:_0x3d6dbc[_0xa2eb('0x1d')]+_0x3d6dbc[_0xa2eb('0x1f')];var _0x246285;if(_0x5f032b>=_0x48b356){_0x5f032b=_0x48b356;_0x246285=0xc8;}else{_0x246285=0xce;}_0x14b6cc[_0xa2eb('0x21')](_0x246285);return _0x14b6cc[_0xa2eb('0x22')](_0xa2eb('0x23'),_0x4115db+'-'+_0x5f032b+'/'+_0x48b356)['json'](_0x586ba0);}return null;};}function patchUpdates(_0x23c9b7){return function(_0x53e747){try{jsonpatch['apply'](_0x53e747,_0x23c9b7,!![]);}catch(_0x23911c){return BPromise[_0xa2eb('0x24')](_0x23911c);}return _0x53e747[_0xa2eb('0x25')]();};}function saveUpdates(_0x202ef6,_0x5931fa){return function(_0x31f54f){if(_0x31f54f){return _0x31f54f[_0xa2eb('0x26')](_0x202ef6)[_0xa2eb('0x27')](function(_0x5036ee){return _0x5036ee;});}return null;};}function removeEntity(_0xdf16a6,_0x48a569){return function(_0x4a2589){if(_0x4a2589){return _0x4a2589[_0xa2eb('0x28')]()[_0xa2eb('0x27')](function(){var _0x3078e8=_0x4a2589['get']({'plain':!![]});var _0x180967=_0xa2eb('0x29');return db[_0xa2eb('0x2a')][_0xa2eb('0x28')]({'where':{'type':_0x180967,'resourceId':_0x3078e8['id']}})['then'](function(){return _0x4a2589;});})[_0xa2eb('0x27')](function(){_0xdf16a6[_0xa2eb('0x21')](0xcc)[_0xa2eb('0x2b')]();});}};}function handleEntityNotFound(_0x3a5b76,_0x47d857){return function(_0xbf18f5){if(!_0xbf18f5){_0x3a5b76[_0xa2eb('0x2c')](0x194);}return _0xbf18f5;};}function handleError(_0x69b23,_0xe036dd){_0xe036dd=_0xe036dd||0x1f4;return function(_0xcf05a3){logger['error'](_0xcf05a3[_0xa2eb('0x2d')]);if(_0xcf05a3['name']){delete _0xcf05a3[_0xa2eb('0x2e')];}_0x69b23[_0xa2eb('0x21')](_0xe036dd)[_0xa2eb('0x2f')](_0xcf05a3);};}exports['index']=function(_0x5ebfd4,_0x156ffa){var _0x51754f={},_0x1a5507={},_0x1803d6={'count':0x0,'rows':[]};var _0x10ae9e=_['map'](db[_0xa2eb('0x30')][_0xa2eb('0x31')],function(_0x16d219){return{'name':_0x16d219[_0xa2eb('0x32')],'type':_0x16d219[_0xa2eb('0x33')][_0xa2eb('0x34')]};});_0x1a5507[_0xa2eb('0x35')]=_[_0xa2eb('0x36')](_0x10ae9e,'name');_0x1a5507[_0xa2eb('0x37')]=_[_0xa2eb('0x38')](_0x5ebfd4[_0xa2eb('0x37')]);_0x1a5507[_0xa2eb('0x39')]=_[_0xa2eb('0x3a')](_0x1a5507[_0xa2eb('0x35')],_0x1a5507['query']);_0x51754f['attributes']=_[_0xa2eb('0x3a')](_0x1a5507[_0xa2eb('0x35')],qs[_0xa2eb('0x3b')](_0x5ebfd4['query'][_0xa2eb('0x3b')]));_0x51754f[_0xa2eb('0x3c')]=_0x51754f[_0xa2eb('0x3c')][_0xa2eb('0x3d')]?_0x51754f[_0xa2eb('0x3c')]:_0x1a5507[_0xa2eb('0x35')];if(!_0x5ebfd4['query'][_0xa2eb('0x3e')](_0xa2eb('0x3f'))){_0x51754f[_0xa2eb('0x1f')]=qs[_0xa2eb('0x1f')](_0x5ebfd4['query']['limit']);_0x51754f[_0xa2eb('0x1d')]=qs['offset'](_0x5ebfd4['query'][_0xa2eb('0x1d')]);}_0x51754f['order']=qs[_0xa2eb('0x40')](_0x5ebfd4['query']['sort']);_0x51754f[_0xa2eb('0x41')]=qs[_0xa2eb('0x39')](_[_0xa2eb('0x42')](_0x5ebfd4[_0xa2eb('0x37')],_0x1a5507['filters']),_0x10ae9e);if(_0x5ebfd4[_0xa2eb('0x37')][_0xa2eb('0x43')]){_0x51754f[_0xa2eb('0x41')]=_[_0xa2eb('0x44')](_0x51754f['where'],{'$or':_[_0xa2eb('0x36')](_0x10ae9e,function(_0x43a0ee){if(_0x43a0ee['type']!=='VIRTUAL'){var _0x3fdaba={};_0x3fdaba[_0x43a0ee[_0xa2eb('0x2e')]]={'$like':'%'+_0x5ebfd4[_0xa2eb('0x37')][_0xa2eb('0x43')]+'%'};return _0x3fdaba;}})});}_0x51754f=_[_0xa2eb('0x44')]({},_0x51754f,_0x5ebfd4[_0xa2eb('0x45')]);var _0xff8aa8={'where':_0x51754f[_0xa2eb('0x41')]};return db['SquareOdbc'][_0xa2eb('0x20')](_0xff8aa8)['then'](function(_0x16ea7c){_0x1803d6['count']=_0x16ea7c;if(_0x5ebfd4[_0xa2eb('0x37')]['includeAll']){_0x51754f[_0xa2eb('0x46')]=[{'all':!![]}];}return db[_0xa2eb('0x30')]['findAll'](_0x51754f);})['then'](function(_0x1943d7){_0x1803d6[_0xa2eb('0x47')]=_0x1943d7;return _0x1803d6;})[_0xa2eb('0x27')](respondWithFilteredResult(_0x156ffa,_0x51754f))[_0xa2eb('0x48')](handleError(_0x156ffa,null));};exports[_0xa2eb('0x49')]=function(_0xced3f2,_0x510c1b){var _0x3271df={'raw':!![],'where':{'id':_0xced3f2[_0xa2eb('0x4a')]['id']}},_0x9738f0={};_0x9738f0[_0xa2eb('0x35')]=_['keys'](db['SquareOdbc'][_0xa2eb('0x31')]);_0x9738f0['query']=_[_0xa2eb('0x38')](_0xced3f2[_0xa2eb('0x37')]);_0x9738f0[_0xa2eb('0x39')]=_[_0xa2eb('0x3a')](_0x9738f0['model'],_0x9738f0[_0xa2eb('0x37')]);_0x3271df[_0xa2eb('0x3c')]=_['intersection'](_0x9738f0[_0xa2eb('0x35')],qs[_0xa2eb('0x3b')](_0xced3f2['query'][_0xa2eb('0x3b')]));_0x3271df[_0xa2eb('0x3c')]=_0x3271df['attributes'][_0xa2eb('0x3d')]?_0x3271df[_0xa2eb('0x3c')]:_0x9738f0[_0xa2eb('0x35')];if(_0xced3f2['query'][_0xa2eb('0x4b')]){_0x3271df['include']=[{'all':!![]}];}_0x3271df=_[_0xa2eb('0x44')]({},_0x3271df,_0xced3f2[_0xa2eb('0x45')]);return db[_0xa2eb('0x30')][_0xa2eb('0x4c')](_0x3271df)['then'](handleEntityNotFound(_0x510c1b,null))['then'](respondWithResult(_0x510c1b,null))[_0xa2eb('0x48')](handleError(_0x510c1b,null));};exports[_0xa2eb('0x4d')]=function(_0x3ec6d2,_0x24bdbb){return db['SquareOdbc'][_0xa2eb('0x4d')](_0x3ec6d2[_0xa2eb('0x4e')],{})[_0xa2eb('0x27')](function(_0x1e7c57){var _0x522ba4=_0x3ec6d2[_0xa2eb('0x4f')][_0xa2eb('0x50')]({'plain':!![]});if(!_0x522ba4)throw new Error(_0xa2eb('0x51'));if(_0x522ba4['role']===_0xa2eb('0x4f')){var _0x4c93cd=_0x1e7c57[_0xa2eb('0x50')]({'plain':!![]});var _0x313db6=_0xa2eb('0x29');return db[_0xa2eb('0x52')][_0xa2eb('0x4c')]({'where':{'name':_0x313db6,'userProfileId':_0x522ba4['userProfileId']},'raw':!![]})[_0xa2eb('0x27')](function(_0x2c6c04){if(_0x2c6c04&&_0x2c6c04[_0xa2eb('0x53')]===0x0){return db[_0xa2eb('0x2a')]['create']({'name':_0x4c93cd[_0xa2eb('0x2e')],'resourceId':_0x4c93cd['id'],'type':_0x2c6c04[_0xa2eb('0x2e')],'sectionId':_0x2c6c04['id']},{})[_0xa2eb('0x27')](function(){return _0x1e7c57;});}else{return _0x1e7c57;}})['catch'](function(_0x587ba1){logger[_0xa2eb('0x54')](_0xa2eb('0x55'),_0x587ba1);throw _0x587ba1;});}return _0x1e7c57;})[_0xa2eb('0x27')](respondWithResult(_0x24bdbb,0xc9))[_0xa2eb('0x48')](handleError(_0x24bdbb,null));};exports[_0xa2eb('0x26')]=function(_0x2e0d36,_0xc2ea75){if(_0x2e0d36[_0xa2eb('0x4e')]['id']){delete _0x2e0d36[_0xa2eb('0x4e')]['id'];}return db[_0xa2eb('0x30')][_0xa2eb('0x4c')]({'where':{'id':_0x2e0d36[_0xa2eb('0x4a')]['id']}})[_0xa2eb('0x27')](handleEntityNotFound(_0xc2ea75,null))[_0xa2eb('0x27')](saveUpdates(_0x2e0d36[_0xa2eb('0x4e')],null))[_0xa2eb('0x27')](respondWithResult(_0xc2ea75,null))[_0xa2eb('0x48')](handleError(_0xc2ea75,null));};exports['destroy']=function(_0x19fe41,_0x279a58){return db[_0xa2eb('0x30')]['find']({'where':{'id':_0x19fe41[_0xa2eb('0x4a')]['id']}})[_0xa2eb('0x27')](handleEntityNotFound(_0x279a58,null))[_0xa2eb('0x27')](removeEntity(_0x279a58,null))[_0xa2eb('0x48')](handleError(_0x279a58,null));};exports[_0xa2eb('0x56')]=function(_0x3dbe8d,_0x45d732,_0x21eba0){var _0x9b78b0;return db[_0xa2eb('0x30')][_0xa2eb('0x4c')]({'where':{'id':_0x3dbe8d[_0xa2eb('0x4a')]['id']},'attributes':['id',_0xa2eb('0x57')]})[_0xa2eb('0x27')](handleEntityNotFound(_0x45d732,null))[_0xa2eb('0x27')](function(_0x10ee4b){if(_0x10ee4b){var _0x1c57cd=require(_0xa2eb('0x58'))();_0x1c57cd[_0xa2eb('0x59')](_0x10ee4b[_0xa2eb('0x57')]);_0x1c57cd[_0xa2eb('0x5a')]();return _0x10ee4b;}})['then'](respondWithResult(_0x45d732,null))[_0xa2eb('0x48')](handleError(_0x45d732,null));};