Built motion from commit (unavailable).|2.5.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 _0x381e=['moment','bluebird','mustache','util','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','count','offset','limit','status','set','Content-Range','json','apply','reject','save','update','then','get','UserProfileResource','destroy','end','error','stack','name','send','index','map','SquareOdbc','type','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','rows','catch','show','keys','rawAttributes','create','body','user','role','ODBC','UserProfileSection','find','userProfileId','params','test','dsn','odbc','closeSync','html-pdf','eml-format','rimraf','zip-dir','request-promise'];(function(_0x59bddd,_0xbff3b5){var _0xfca886=function(_0x201475){while(--_0x201475){_0x59bddd['push'](_0x59bddd['shift']());}};_0xfca886(++_0xbff3b5);}(_0x381e,0x153));var _0xe381=function(_0x3aa077,_0x5a0af0){_0x3aa077=_0x3aa077-0x0;var _0x39a841=_0x381e[_0x3aa077];return _0x39a841;};'use strict';var pdf=require(_0xe381('0x0'));var emlformat=require(_0xe381('0x1'));var rimraf=require(_0xe381('0x2'));var zipdir=require(_0xe381('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe381('0x4'));var moment=require(_0xe381('0x5'));var BPromise=require(_0xe381('0x6'));var Mustache=require(_0xe381('0x7'));var util=require(_0xe381('0x8'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xe381('0x9'));var fs=require('fs');var _=require(_0xe381('0xa'));var squel=require('squel');var crypto=require(_0xe381('0xb'));var jsforce=require(_0xe381('0xc'));var deskjs=require(_0xe381('0xd'));var toCsv=require(_0xe381('0xe'));var querystring=require(_0xe381('0xf'));var Papa=require(_0xe381('0x10'));var Redis=require(_0xe381('0x11'));var authService=require(_0xe381('0x12'));var qs=require(_0xe381('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe381('0x14'));var logger=require(_0xe381('0x15'))(_0xe381('0x16'));var utils=require(_0xe381('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xe381('0x18'))['db'];function respondWithStatusCode(_0x2fc7d9,_0x32b3bd){_0x32b3bd=_0x32b3bd||0xcc;return function(_0x57ed05){if(_0x57ed05){return _0x2fc7d9[_0xe381('0x19')](_0x32b3bd);}return _0x2fc7d9['status'](_0x32b3bd)['end']();};}function respondWithResult(_0xc19c6f,_0x418258){_0x418258=_0x418258||0xc8;return function(_0x52559c){if(_0x52559c){return _0xc19c6f['status'](_0x418258)['json'](_0x52559c);}};}function respondWithFilteredResult(_0xe04ce3,_0xefe6d0){return function(_0x2243a9){if(_0x2243a9){var _0x5bd419=_0x2243a9[_0xe381('0x1a')],_0x3ab68f=_0xefe6d0[_0xe381('0x1b')],_0x18c32d=_0xefe6d0[_0xe381('0x1b')]+_0xefe6d0[_0xe381('0x1c')],_0xa92daf;if(_0x18c32d>=_0x5bd419){_0x18c32d=_0x5bd419;_0xa92daf=0xc8;}else{_0xa92daf=0xce;}_0xe04ce3[_0xe381('0x1d')](_0xa92daf);return _0xe04ce3[_0xe381('0x1e')](_0xe381('0x1f'),_0x3ab68f+'-'+_0x18c32d+'/'+_0x5bd419)[_0xe381('0x20')](_0x2243a9);}return null;};}function patchUpdates(_0xef9693){return function(_0x3ad6f8){try{jsonpatch[_0xe381('0x21')](_0x3ad6f8,_0xef9693,!![]);}catch(_0x478ca0){return BPromise[_0xe381('0x22')](_0x478ca0);}return _0x3ad6f8[_0xe381('0x23')]();};}function saveUpdates(_0x1213e0,_0x5d2da9){return function(_0x71a294){if(_0x71a294){return _0x71a294[_0xe381('0x24')](_0x1213e0)['then'](function(_0x58b0fb){return _0x58b0fb;});}return null;};}function removeEntity(_0x9892a9,_0x4c9afa){return function(_0x4e3b61){if(_0x4e3b61){return _0x4e3b61['destroy']()[_0xe381('0x25')](function(){var _0x2b5f1a=_0x4e3b61[_0xe381('0x26')]({'plain':!![]});var _0x1af4aa='ODBC';return db[_0xe381('0x27')][_0xe381('0x28')]({'where':{'type':_0x1af4aa,'resourceId':_0x2b5f1a['id']}})[_0xe381('0x25')](function(){return _0x4e3b61;});})[_0xe381('0x25')](function(){_0x9892a9[_0xe381('0x1d')](0xcc)[_0xe381('0x29')]();});}};}function handleEntityNotFound(_0x2fddd4,_0x316fc8){return function(_0x512049){if(!_0x512049){_0x2fddd4[_0xe381('0x19')](0x194);}return _0x512049;};}function handleError(_0x65f35f,_0x4bf710){_0x4bf710=_0x4bf710||0x1f4;return function(_0x820048){logger[_0xe381('0x2a')](_0x820048[_0xe381('0x2b')]);if(_0x820048[_0xe381('0x2c')]){delete _0x820048['name'];}_0x65f35f[_0xe381('0x1d')](_0x4bf710)[_0xe381('0x2d')](_0x820048);};}exports[_0xe381('0x2e')]=function(_0x55888a,_0x4efaec){var _0xda6e3a={},_0x58670e={},_0x3471be={'count':0x0,'rows':[]};var _0x3b2062=_[_0xe381('0x2f')](db[_0xe381('0x30')]['rawAttributes'],function(_0x86d8e6){return{'name':_0x86d8e6['fieldName'],'type':_0x86d8e6[_0xe381('0x31')]['key']};});_0x58670e[_0xe381('0x32')]=_[_0xe381('0x2f')](_0x3b2062,_0xe381('0x2c'));_0x58670e[_0xe381('0x33')]=_['keys'](_0x55888a[_0xe381('0x33')]);_0x58670e[_0xe381('0x34')]=_['intersection'](_0x58670e[_0xe381('0x32')],_0x58670e[_0xe381('0x33')]);_0xda6e3a[_0xe381('0x35')]=_[_0xe381('0x36')](_0x58670e[_0xe381('0x32')],qs['fields'](_0x55888a[_0xe381('0x33')][_0xe381('0x37')]));_0xda6e3a[_0xe381('0x35')]=_0xda6e3a[_0xe381('0x35')][_0xe381('0x38')]?_0xda6e3a[_0xe381('0x35')]:_0x58670e['model'];if(!_0x55888a['query'][_0xe381('0x39')](_0xe381('0x3a'))){_0xda6e3a['limit']=qs[_0xe381('0x1c')](_0x55888a[_0xe381('0x33')][_0xe381('0x1c')]);_0xda6e3a[_0xe381('0x1b')]=qs['offset'](_0x55888a['query'][_0xe381('0x1b')]);}_0xda6e3a[_0xe381('0x3b')]=qs[_0xe381('0x3c')](_0x55888a[_0xe381('0x33')][_0xe381('0x3c')]);_0xda6e3a['where']=qs[_0xe381('0x34')](_[_0xe381('0x3d')](_0x55888a[_0xe381('0x33')],_0x58670e[_0xe381('0x34')]),_0x3b2062);if(_0x55888a[_0xe381('0x33')][_0xe381('0x3e')]){_0xda6e3a[_0xe381('0x3f')]=_[_0xe381('0x40')](_0xda6e3a[_0xe381('0x3f')],{'$or':_[_0xe381('0x2f')](_0x3b2062,function(_0x25a8b8){if(_0x25a8b8[_0xe381('0x31')]!==_0xe381('0x41')){var _0x35896c={};_0x35896c[_0x25a8b8[_0xe381('0x2c')]]={'$like':'%'+_0x55888a[_0xe381('0x33')][_0xe381('0x3e')]+'%'};return _0x35896c;}})});}_0xda6e3a=_['merge']({},_0xda6e3a,_0x55888a[_0xe381('0x42')]);var _0x300f81={'where':_0xda6e3a[_0xe381('0x3f')]};return db[_0xe381('0x30')][_0xe381('0x1a')](_0x300f81)[_0xe381('0x25')](function(_0x550352){_0x3471be['count']=_0x550352;if(_0x55888a[_0xe381('0x33')][_0xe381('0x43')]){_0xda6e3a['include']=[{'all':!![]}];}return db[_0xe381('0x30')]['findAll'](_0xda6e3a);})[_0xe381('0x25')](function(_0x406cbd){_0x3471be[_0xe381('0x44')]=_0x406cbd;return _0x3471be;})[_0xe381('0x25')](respondWithFilteredResult(_0x4efaec,_0xda6e3a))[_0xe381('0x45')](handleError(_0x4efaec,null));};exports[_0xe381('0x46')]=function(_0x142e67,_0x377d1f){var _0x2c883f={'raw':!![],'where':{'id':_0x142e67['params']['id']}},_0x1858d6={};_0x1858d6[_0xe381('0x32')]=_[_0xe381('0x47')](db[_0xe381('0x30')][_0xe381('0x48')]);_0x1858d6[_0xe381('0x33')]=_[_0xe381('0x47')](_0x142e67[_0xe381('0x33')]);_0x1858d6[_0xe381('0x34')]=_[_0xe381('0x36')](_0x1858d6[_0xe381('0x32')],_0x1858d6['query']);_0x2c883f['attributes']=_['intersection'](_0x1858d6[_0xe381('0x32')],qs['fields'](_0x142e67[_0xe381('0x33')]['fields']));_0x2c883f['attributes']=_0x2c883f[_0xe381('0x35')][_0xe381('0x38')]?_0x2c883f[_0xe381('0x35')]:_0x1858d6[_0xe381('0x32')];if(_0x142e67[_0xe381('0x33')][_0xe381('0x43')]){_0x2c883f['include']=[{'all':!![]}];}_0x2c883f=_[_0xe381('0x40')]({},_0x2c883f,_0x142e67[_0xe381('0x42')]);return db['SquareOdbc']['find'](_0x2c883f)['then'](handleEntityNotFound(_0x377d1f,null))[_0xe381('0x25')](respondWithResult(_0x377d1f,null))[_0xe381('0x45')](handleError(_0x377d1f,null));};exports[_0xe381('0x49')]=function(_0x5467e4,_0x5c7a9e){return db[_0xe381('0x30')]['create'](_0x5467e4[_0xe381('0x4a')],{})[_0xe381('0x25')](function(_0x4518f2){var _0x419919=_0x5467e4[_0xe381('0x4b')][_0xe381('0x26')]({'plain':!![]});if(!_0x419919)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x419919[_0xe381('0x4c')]===_0xe381('0x4b')){var _0x535894=_0x4518f2[_0xe381('0x26')]({'plain':!![]});var _0x4d160c=_0xe381('0x4d');return db[_0xe381('0x4e')][_0xe381('0x4f')]({'where':{'name':_0x4d160c,'userProfileId':_0x419919[_0xe381('0x50')]},'raw':!![]})[_0xe381('0x25')](function(_0x42102a){if(_0x42102a&&_0x42102a['autoAssociation']===0x0){return db[_0xe381('0x27')]['create']({'name':_0x535894[_0xe381('0x2c')],'resourceId':_0x535894['id'],'type':_0x42102a[_0xe381('0x2c')],'sectionId':_0x42102a['id']},{})[_0xe381('0x25')](function(){return _0x4518f2;});}else{return _0x4518f2;}})[_0xe381('0x45')](function(_0xfe3620){logger[_0xe381('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xfe3620);throw _0xfe3620;});}return _0x4518f2;})['then'](respondWithResult(_0x5c7a9e,0xc9))[_0xe381('0x45')](handleError(_0x5c7a9e,null));};exports[_0xe381('0x24')]=function(_0x2eb8ae,_0xfee499){if(_0x2eb8ae['body']['id']){delete _0x2eb8ae[_0xe381('0x4a')]['id'];}return db[_0xe381('0x30')][_0xe381('0x4f')]({'where':{'id':_0x2eb8ae[_0xe381('0x51')]['id']}})[_0xe381('0x25')](handleEntityNotFound(_0xfee499,null))[_0xe381('0x25')](saveUpdates(_0x2eb8ae[_0xe381('0x4a')],null))[_0xe381('0x25')](respondWithResult(_0xfee499,null))[_0xe381('0x45')](handleError(_0xfee499,null));};exports[_0xe381('0x28')]=function(_0xadefc8,_0x2848c0){return db[_0xe381('0x30')][_0xe381('0x4f')]({'where':{'id':_0xadefc8[_0xe381('0x51')]['id']}})[_0xe381('0x25')](handleEntityNotFound(_0x2848c0,null))[_0xe381('0x25')](removeEntity(_0x2848c0,null))[_0xe381('0x45')](handleError(_0x2848c0,null));};exports[_0xe381('0x52')]=function(_0x3107e7,_0x3a41c3,_0x35f3a8){var _0xb4e38b;return db[_0xe381('0x30')][_0xe381('0x4f')]({'where':{'id':_0x3107e7[_0xe381('0x51')]['id']},'attributes':['id',_0xe381('0x53')]})[_0xe381('0x25')](handleEntityNotFound(_0x3a41c3,null))['then'](function(_0x153ec0){if(_0x153ec0){var _0x2f9e4c=require(_0xe381('0x54'))();_0x2f9e4c['openSync'](_0x153ec0[_0xe381('0x53')]);_0x2f9e4c[_0xe381('0x55')]();return _0x153ec0;}})[_0xe381('0x25')](respondWithResult(_0x3a41c3,null))[_0xe381('0x45')](handleError(_0x3a41c3,null));};