Built motion from commit (unavailable).|2.3.8
[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 _0x5a28=['intersection','fields','attributes','length','nolimit','order','sort','filters','pick','filter','where','merge','map','key','VIRTUAL','field','options','includeAll','include','findAll','catch','show','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','test','dsn','closeSync','html-pdf','eml-format','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','then','destroy','get','ODBC','UserProfileResource','error','stack','name','send','SquareOdbc','rawAttributes','model','query'];(function(_0x1ef48d,_0x203c73){var _0x450096=function(_0x1df6b9){while(--_0x1df6b9){_0x1ef48d['push'](_0x1ef48d['shift']());}};_0x450096(++_0x203c73);}(_0x5a28,0x123));var _0x85a2=function(_0x5c5c52,_0x36d085){_0x5c5c52=_0x5c5c52-0x0;var _0x4229ff=_0x5a28[_0x5c5c52];return _0x4229ff;};'use strict';var pdf=require(_0x85a2('0x0'));var emlformat=require(_0x85a2('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x85a2('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x85a2('0x3'));var moment=require('moment');var BPromise=require(_0x85a2('0x4'));var Mustache=require(_0x85a2('0x5'));var util=require(_0x85a2('0x6'));var path=require(_0x85a2('0x7'));var sox=require(_0x85a2('0x8'));var csv=require(_0x85a2('0x9'));var ejs=require(_0x85a2('0xa'));var fs=require('fs');var _=require(_0x85a2('0xb'));var squel=require(_0x85a2('0xc'));var crypto=require(_0x85a2('0xd'));var jsforce=require(_0x85a2('0xe'));var deskjs=require(_0x85a2('0xf'));var toCsv=require(_0x85a2('0x9'));var querystring=require('querystring');var Papa=require(_0x85a2('0x10'));var authService=require(_0x85a2('0x11'));var hardwareService=require(_0x85a2('0x12'));var Redis=require(_0x85a2('0x13'));var qs=require(_0x85a2('0x14'));var logger=require(_0x85a2('0x15'))(_0x85a2('0x16'));var utils=require('../../config/utils');var config=require(_0x85a2('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x296873,_0xb69afb){_0xb69afb=_0xb69afb||0xcc;return function(_0x268042){if(_0x268042){return _0x296873[_0x85a2('0x18')](_0xb69afb);}return _0x296873[_0x85a2('0x19')](_0xb69afb)[_0x85a2('0x1a')]();};}function respondWithResult(_0x424ce6,_0x53936f){_0x53936f=_0x53936f||0xc8;return function(_0x2abced){if(_0x2abced){return _0x424ce6['status'](_0x53936f)[_0x85a2('0x1b')](_0x2abced);}};}function respondWithFilteredResult(_0x27ab65,_0x53face){return function(_0x49f5ba){if(_0x49f5ba){var _0x196d73=_0x49f5ba[_0x85a2('0x1c')],_0x2f5426=_0x53face['offset'],_0x5375ce=_0x53face[_0x85a2('0x1d')]+_0x53face[_0x85a2('0x1e')],_0x208775;if(_0x5375ce>=_0x196d73){_0x5375ce=_0x196d73;_0x208775=0xc8;}else{_0x208775=0xce;}_0x27ab65['status'](_0x208775);return _0x27ab65[_0x85a2('0x1f')](_0x85a2('0x20'),_0x2f5426+'-'+_0x5375ce+'/'+_0x196d73)['json'](_0x49f5ba);}return null;};}function patchUpdates(_0x13ba6c){return function(_0x3281bd){try{jsonpatch[_0x85a2('0x21')](_0x3281bd,_0x13ba6c,!![]);}catch(_0x1d42fd){return BPromise[_0x85a2('0x22')](_0x1d42fd);}return _0x3281bd[_0x85a2('0x23')]();};}function saveUpdates(_0x3a10d0,_0x5b1533){return function(_0x16bc68){if(_0x16bc68){return _0x16bc68['update'](_0x3a10d0)[_0x85a2('0x24')](function(_0x2a2413){return _0x2a2413;});}return null;};}function removeEntity(_0x163ed1,_0x4cf645){return function(_0x3e7f57){if(_0x3e7f57){return _0x3e7f57[_0x85a2('0x25')]()[_0x85a2('0x24')](function(){var _0x4b88d9=_0x3e7f57[_0x85a2('0x26')]({'plain':!![]});var _0x1143f1=_0x85a2('0x27');return db[_0x85a2('0x28')][_0x85a2('0x25')]({'where':{'type':_0x1143f1,'resourceId':_0x4b88d9['id']}})['then'](function(){return _0x3e7f57;});})[_0x85a2('0x24')](function(){_0x163ed1[_0x85a2('0x19')](0xcc)[_0x85a2('0x1a')]();});}};}function handleEntityNotFound(_0x3d7ca1,_0x485c46){return function(_0x38deca){if(!_0x38deca){_0x3d7ca1['sendStatus'](0x194);}return _0x38deca;};}function handleError(_0x2a4e74,_0x2a7b2c){_0x2a7b2c=_0x2a7b2c||0x1f4;return function(_0x5b6d8d){logger[_0x85a2('0x29')](_0x5b6d8d[_0x85a2('0x2a')]);if(_0x5b6d8d[_0x85a2('0x2b')]){delete _0x5b6d8d[_0x85a2('0x2b')];}_0x2a4e74[_0x85a2('0x19')](_0x2a7b2c)[_0x85a2('0x2c')](_0x5b6d8d);};}exports['index']=function(_0x1534fd,_0x51dc18){var _0x5a38a9={},_0x5727c8={},_0x32629d={'count':0x0,'rows':[]};var _0x1185e6=db[_0x85a2('0x2d')][_0x85a2('0x2e')];_0x5727c8[_0x85a2('0x2f')]=_['keys'](_0x1185e6);_0x5727c8[_0x85a2('0x30')]=_['keys'](_0x1534fd[_0x85a2('0x30')]);_0x5727c8['filters']=_[_0x85a2('0x31')](_0x5727c8['model'],_0x5727c8[_0x85a2('0x30')]);_0x5a38a9['attributes']=_[_0x85a2('0x31')](_0x5727c8[_0x85a2('0x2f')],qs[_0x85a2('0x32')](_0x1534fd[_0x85a2('0x30')][_0x85a2('0x32')]));_0x5a38a9['attributes']=_0x5a38a9[_0x85a2('0x33')][_0x85a2('0x34')]?_0x5a38a9[_0x85a2('0x33')]:_0x5727c8[_0x85a2('0x2f')];if(!_0x1534fd[_0x85a2('0x30')]['hasOwnProperty'](_0x85a2('0x35'))){_0x5a38a9[_0x85a2('0x1e')]=qs[_0x85a2('0x1e')](_0x1534fd[_0x85a2('0x30')][_0x85a2('0x1e')]);_0x5a38a9['offset']=qs[_0x85a2('0x1d')](_0x1534fd[_0x85a2('0x30')]['offset']);}_0x5a38a9[_0x85a2('0x36')]=qs[_0x85a2('0x37')](_0x1534fd[_0x85a2('0x30')][_0x85a2('0x37')]);_0x5a38a9['where']=qs[_0x85a2('0x38')](_[_0x85a2('0x39')](_0x1534fd[_0x85a2('0x30')],_0x5727c8[_0x85a2('0x38')]));if(_0x1534fd[_0x85a2('0x30')][_0x85a2('0x3a')]){_0x5a38a9[_0x85a2('0x3b')]=_[_0x85a2('0x3c')](_0x5a38a9['where'],{'$or':_[_0x85a2('0x3d')](_0x1185e6,function(_0xddc8fb){if(_0xddc8fb['type'][_0x85a2('0x3e')]!==_0x85a2('0x3f')){var _0x4512b8={};_0x4512b8[_0xddc8fb[_0x85a2('0x40')]]={'$like':'%'+_0x1534fd[_0x85a2('0x30')][_0x85a2('0x3a')]+'%'};return _0x4512b8;}})});}_0x5a38a9=_[_0x85a2('0x3c')]({},_0x5a38a9,_0x1534fd[_0x85a2('0x41')]);var _0x368451={'where':_0x5a38a9['where']};return db[_0x85a2('0x2d')][_0x85a2('0x1c')](_0x368451)['then'](function(_0x57f7ad){_0x32629d[_0x85a2('0x1c')]=_0x57f7ad;if(_0x1534fd[_0x85a2('0x30')][_0x85a2('0x42')]){_0x5a38a9[_0x85a2('0x43')]=[{'all':!![]}];}return db['SquareOdbc'][_0x85a2('0x44')](_0x5a38a9);})[_0x85a2('0x24')](function(_0x5c38e5){_0x32629d['rows']=_0x5c38e5;return _0x32629d;})[_0x85a2('0x24')](respondWithFilteredResult(_0x51dc18,_0x5a38a9))[_0x85a2('0x45')](handleError(_0x51dc18,null));};exports[_0x85a2('0x46')]=function(_0x6777da,_0x53ec24){var _0x316bb9={'raw':!![],'where':{'id':_0x6777da[_0x85a2('0x47')]['id']}},_0x2bfbe6={};_0x2bfbe6[_0x85a2('0x2f')]=_[_0x85a2('0x48')](db['SquareOdbc'][_0x85a2('0x2e')]);_0x2bfbe6[_0x85a2('0x30')]=_[_0x85a2('0x48')](_0x6777da[_0x85a2('0x30')]);_0x2bfbe6[_0x85a2('0x38')]=_[_0x85a2('0x31')](_0x2bfbe6[_0x85a2('0x2f')],_0x2bfbe6[_0x85a2('0x30')]);_0x316bb9[_0x85a2('0x33')]=_[_0x85a2('0x31')](_0x2bfbe6['model'],qs[_0x85a2('0x32')](_0x6777da[_0x85a2('0x30')][_0x85a2('0x32')]));_0x316bb9[_0x85a2('0x33')]=_0x316bb9[_0x85a2('0x33')]['length']?_0x316bb9[_0x85a2('0x33')]:_0x2bfbe6[_0x85a2('0x2f')];if(_0x6777da[_0x85a2('0x30')]['includeAll']){_0x316bb9[_0x85a2('0x43')]=[{'all':!![]}];}_0x316bb9=_[_0x85a2('0x3c')]({},_0x316bb9,_0x6777da[_0x85a2('0x41')]);return db['SquareOdbc'][_0x85a2('0x49')](_0x316bb9)['then'](handleEntityNotFound(_0x53ec24,null))['then'](respondWithResult(_0x53ec24,null))['catch'](handleError(_0x53ec24,null));};exports[_0x85a2('0x4a')]=function(_0x42193e,_0x174e86){return db['SquareOdbc']['create'](_0x42193e[_0x85a2('0x4b')],{})['then'](function(_0x81ecd2){var _0x409a12=_0x42193e[_0x85a2('0x4c')][_0x85a2('0x26')]({'plain':!![]});if(!_0x409a12)throw new Error(_0x85a2('0x4d'));if(_0x409a12['role']==='user'){var _0x108667=_0x81ecd2[_0x85a2('0x26')]({'plain':!![]});var _0x41a8ef=_0x85a2('0x27');return db['UserProfileSection']['find']({'where':{'name':_0x41a8ef,'userProfileId':_0x409a12[_0x85a2('0x4e')]},'raw':!![]})['then'](function(_0x13215e){if(_0x13215e&&_0x13215e[_0x85a2('0x4f')]===0x0){return db[_0x85a2('0x28')][_0x85a2('0x4a')]({'name':_0x108667[_0x85a2('0x2b')],'resourceId':_0x108667['id'],'type':_0x13215e[_0x85a2('0x2b')],'sectionId':_0x13215e['id']},{})[_0x85a2('0x24')](function(){return _0x81ecd2;});}else{return _0x81ecd2;}})[_0x85a2('0x45')](function(_0x5c4b07){logger['error'](_0x85a2('0x50'),_0x5c4b07);throw _0x5c4b07;});}return _0x81ecd2;})[_0x85a2('0x24')](respondWithResult(_0x174e86,0xc9))['catch'](handleError(_0x174e86,null));};exports[_0x85a2('0x51')]=function(_0x4bf02b,_0x5df816){if(_0x4bf02b[_0x85a2('0x4b')]['id']){delete _0x4bf02b['body']['id'];}return db[_0x85a2('0x2d')]['find']({'where':{'id':_0x4bf02b[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x5df816,null))[_0x85a2('0x24')](saveUpdates(_0x4bf02b[_0x85a2('0x4b')],null))[_0x85a2('0x24')](respondWithResult(_0x5df816,null))[_0x85a2('0x45')](handleError(_0x5df816,null));};exports[_0x85a2('0x25')]=function(_0x50f4c1,_0x29b339){return db[_0x85a2('0x2d')][_0x85a2('0x49')]({'where':{'id':_0x50f4c1[_0x85a2('0x47')]['id']}})[_0x85a2('0x24')](handleEntityNotFound(_0x29b339,null))[_0x85a2('0x24')](removeEntity(_0x29b339,null))[_0x85a2('0x45')](handleError(_0x29b339,null));};exports[_0x85a2('0x52')]=function(_0x372aca,_0x98d0b4,_0x145491){var _0x5d16ef;return db[_0x85a2('0x2d')][_0x85a2('0x49')]({'where':{'id':_0x372aca[_0x85a2('0x47')]['id']},'attributes':['id',_0x85a2('0x53')]})[_0x85a2('0x24')](handleEntityNotFound(_0x98d0b4,null))['then'](function(_0x961490){if(_0x961490){var _0x3eea3d=require('odbc')();_0x3eea3d['openSync'](_0x961490['dsn']);_0x3eea3d[_0x85a2('0x54')]();return _0x961490;}})[_0x85a2('0x24')](respondWithResult(_0x98d0b4,null))['catch'](handleError(_0x98d0b4,null));};