Built motion from commit (unavailable).|2.5.26
[motion2.git] / server / api / cloudProvider / cloudProvider.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 _0x36df=['save','update','sendStatus','stack','send','index','map','CloudProvider','rawAttributes','fieldName','type','model','name','keys','query','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','then','includeAll','include','findAll','rows','show','intersection','catch','create','body','find','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply'];(function(_0x2d7f0e,_0x3e6fbd){var _0x110b07=function(_0x557b00){while(--_0x557b00){_0x2d7f0e['push'](_0x2d7f0e['shift']());}};_0x110b07(++_0x3e6fbd);}(_0x36df,0x72));var _0xf36d=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0x36df[_0x501510];return _0x1e6ee5;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf36d('0x0'));var zipdir=require(_0xf36d('0x1'));var jsonpatch=require(_0xf36d('0x2'));var rp=require(_0xf36d('0x3'));var moment=require(_0xf36d('0x4'));var BPromise=require(_0xf36d('0x5'));var Mustache=require(_0xf36d('0x6'));var util=require(_0xf36d('0x7'));var path=require(_0xf36d('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xf36d('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf36d('0xa'));var squel=require(_0xf36d('0xb'));var crypto=require(_0xf36d('0xc'));var jsforce=require(_0xf36d('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf36d('0xe'));var querystring=require(_0xf36d('0xf'));var Papa=require(_0xf36d('0x10'));var Redis=require(_0xf36d('0x11'));var authService=require(_0xf36d('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xf36d('0x13'));var hardwareService=require(_0xf36d('0x14'));var logger=require(_0xf36d('0x15'))('api');var utils=require(_0xf36d('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xf36d('0x17'));var db=require(_0xf36d('0x18'))['db'];function respondWithStatusCode(_0x434f2b,_0x37e54a){_0x37e54a=_0x37e54a||0xcc;return function(_0x3ca6f0){if(_0x3ca6f0){return _0x434f2b['sendStatus'](_0x37e54a);}return _0x434f2b[_0xf36d('0x19')](_0x37e54a)[_0xf36d('0x1a')]();};}function respondWithResult(_0x3b9764,_0x347330){_0x347330=_0x347330||0xc8;return function(_0x12c67f){if(_0x12c67f){return _0x3b9764[_0xf36d('0x19')](_0x347330)[_0xf36d('0x1b')](_0x12c67f);}};}function respondWithFilteredResult(_0x1df427,_0x1f2494){return function(_0x180290){if(_0x180290){var _0x2dc5b2=_0x180290[_0xf36d('0x1c')],_0x505b72=_0x1f2494[_0xf36d('0x1d')],_0x565b8a=_0x1f2494['offset']+_0x1f2494[_0xf36d('0x1e')],_0x392fd0;if(_0x565b8a>=_0x2dc5b2){_0x565b8a=_0x2dc5b2;_0x392fd0=0xc8;}else{_0x392fd0=0xce;}_0x1df427['status'](_0x392fd0);return _0x1df427[_0xf36d('0x1f')](_0xf36d('0x20'),_0x505b72+'-'+_0x565b8a+'/'+_0x2dc5b2)['json'](_0x180290);}return null;};}function patchUpdates(_0x40c273){return function(_0x58503b){try{jsonpatch[_0xf36d('0x21')](_0x58503b,_0x40c273,!![]);}catch(_0x2e4b1d){return BPromise['reject'](_0x2e4b1d);}return _0x58503b[_0xf36d('0x22')]();};}function saveUpdates(_0x3a15a3,_0x5d4520){return function(_0xe49e0f){if(_0xe49e0f){return _0xe49e0f[_0xf36d('0x23')](_0x3a15a3)['then'](function(_0x27f793){return _0x27f793;});}return null;};}function removeEntity(_0x59b7c0,_0x2eb708){return function(_0x52e6b6){if(_0x52e6b6){return _0x52e6b6['destroy']()['then'](function(){_0x59b7c0[_0xf36d('0x19')](0xcc)[_0xf36d('0x1a')]();});}};}function handleEntityNotFound(_0x3d4ca5,_0x5446a3){return function(_0x206752){if(!_0x206752){_0x3d4ca5[_0xf36d('0x24')](0x194);}return _0x206752;};}function handleError(_0x2e622d,_0x12cd31){_0x12cd31=_0x12cd31||0x1f4;return function(_0x8165b9){logger['error'](_0x8165b9[_0xf36d('0x25')]);if(_0x8165b9['name']){delete _0x8165b9['name'];}_0x2e622d[_0xf36d('0x19')](_0x12cd31)[_0xf36d('0x26')](_0x8165b9);};}exports[_0xf36d('0x27')]=function(_0x1775ee,_0x723404){var _0x5daf15={},_0x58daeb={},_0x4c0eeb={'count':0x0,'rows':[]};var _0x5d29d4=_[_0xf36d('0x28')](db[_0xf36d('0x29')][_0xf36d('0x2a')],function(_0x183747){return{'name':_0x183747[_0xf36d('0x2b')],'type':_0x183747[_0xf36d('0x2c')]['key']};});_0x58daeb[_0xf36d('0x2d')]=_[_0xf36d('0x28')](_0x5d29d4,_0xf36d('0x2e'));_0x58daeb['query']=_[_0xf36d('0x2f')](_0x1775ee[_0xf36d('0x30')]);_0x58daeb[_0xf36d('0x31')]=_['intersection'](_0x58daeb['model'],_0x58daeb[_0xf36d('0x30')]);_0x5daf15[_0xf36d('0x32')]=_['intersection'](_0x58daeb[_0xf36d('0x2d')],qs[_0xf36d('0x33')](_0x1775ee[_0xf36d('0x30')][_0xf36d('0x33')]));_0x5daf15['attributes']=_0x5daf15['attributes'][_0xf36d('0x34')]?_0x5daf15[_0xf36d('0x32')]:_0x58daeb['model'];if(!_0x1775ee[_0xf36d('0x30')][_0xf36d('0x35')](_0xf36d('0x36'))){_0x5daf15[_0xf36d('0x1e')]=qs[_0xf36d('0x1e')](_0x1775ee[_0xf36d('0x30')][_0xf36d('0x1e')]);_0x5daf15[_0xf36d('0x1d')]=qs[_0xf36d('0x1d')](_0x1775ee[_0xf36d('0x30')][_0xf36d('0x1d')]);}_0x5daf15[_0xf36d('0x37')]=qs[_0xf36d('0x38')](_0x1775ee[_0xf36d('0x30')][_0xf36d('0x38')]);_0x5daf15[_0xf36d('0x39')]=qs[_0xf36d('0x31')](_[_0xf36d('0x3a')](_0x1775ee[_0xf36d('0x30')],_0x58daeb[_0xf36d('0x31')]),_0x5d29d4);if(_0x1775ee[_0xf36d('0x30')][_0xf36d('0x3b')]){_0x5daf15['where']=_[_0xf36d('0x3c')](_0x5daf15[_0xf36d('0x39')],{'$or':_[_0xf36d('0x28')](_0x5d29d4,function(_0x9909e3){if(_0x9909e3[_0xf36d('0x2c')]!=='VIRTUAL'){var _0x592616={};_0x592616[_0x9909e3[_0xf36d('0x2e')]]={'$like':'%'+_0x1775ee[_0xf36d('0x30')][_0xf36d('0x3b')]+'%'};return _0x592616;}})});}_0x5daf15=_[_0xf36d('0x3c')]({},_0x5daf15,_0x1775ee[_0xf36d('0x3d')]);var _0x474624={'where':_0x5daf15[_0xf36d('0x39')]};return db[_0xf36d('0x29')][_0xf36d('0x1c')](_0x474624)[_0xf36d('0x3e')](function(_0x2a7da8){_0x4c0eeb[_0xf36d('0x1c')]=_0x2a7da8;if(_0x1775ee[_0xf36d('0x30')][_0xf36d('0x3f')]){_0x5daf15[_0xf36d('0x40')]=[{'all':!![]}];}return db[_0xf36d('0x29')][_0xf36d('0x41')](_0x5daf15);})[_0xf36d('0x3e')](function(_0x18e066){_0x4c0eeb[_0xf36d('0x42')]=_0x18e066;return _0x4c0eeb;})[_0xf36d('0x3e')](respondWithFilteredResult(_0x723404,_0x5daf15))['catch'](handleError(_0x723404,null));};exports[_0xf36d('0x43')]=function(_0x779ff7,_0x208715){var _0x41f516={'raw':!![],'where':{'id':_0x779ff7['params']['id']}},_0x3ec676={};_0x3ec676[_0xf36d('0x2d')]=_[_0xf36d('0x2f')](db[_0xf36d('0x29')][_0xf36d('0x2a')]);_0x3ec676[_0xf36d('0x30')]=_[_0xf36d('0x2f')](_0x779ff7[_0xf36d('0x30')]);_0x3ec676[_0xf36d('0x31')]=_[_0xf36d('0x44')](_0x3ec676['model'],_0x3ec676['query']);_0x41f516[_0xf36d('0x32')]=_[_0xf36d('0x44')](_0x3ec676[_0xf36d('0x2d')],qs[_0xf36d('0x33')](_0x779ff7[_0xf36d('0x30')][_0xf36d('0x33')]));_0x41f516[_0xf36d('0x32')]=_0x41f516[_0xf36d('0x32')][_0xf36d('0x34')]?_0x41f516[_0xf36d('0x32')]:_0x3ec676[_0xf36d('0x2d')];if(_0x779ff7[_0xf36d('0x30')][_0xf36d('0x3f')]){_0x41f516[_0xf36d('0x40')]=[{'all':!![]}];}_0x41f516=_['merge']({},_0x41f516,_0x779ff7[_0xf36d('0x3d')]);return db[_0xf36d('0x29')]['find'](_0x41f516)['then'](handleEntityNotFound(_0x208715,null))[_0xf36d('0x3e')](respondWithResult(_0x208715,null))[_0xf36d('0x45')](handleError(_0x208715,null));};exports[_0xf36d('0x46')]=function(_0x445cad,_0x5a1a8f){return db['CloudProvider'][_0xf36d('0x46')](_0x445cad[_0xf36d('0x47')],{})[_0xf36d('0x3e')](respondWithResult(_0x5a1a8f,0xc9))[_0xf36d('0x45')](handleError(_0x5a1a8f,null));};exports['update']=function(_0x47b641,_0x16cbf8){if(_0x47b641['body']['id']){delete _0x47b641[_0xf36d('0x47')]['id'];}return db[_0xf36d('0x29')][_0xf36d('0x48')]({'where':{'id':_0x47b641['params']['id']}})[_0xf36d('0x3e')](handleEntityNotFound(_0x16cbf8,null))[_0xf36d('0x3e')](saveUpdates(_0x47b641[_0xf36d('0x47')],null))[_0xf36d('0x3e')](respondWithResult(_0x16cbf8,null))[_0xf36d('0x45')](handleError(_0x16cbf8,null));};exports['destroy']=function(_0x8d0705,_0x7da70f){return db['CloudProvider'][_0xf36d('0x48')]({'where':{'id':_0x8d0705[_0xf36d('0x49')]['id']}})[_0xf36d('0x3e')](handleEntityNotFound(_0x7da70f,null))[_0xf36d('0x3e')](removeEntity(_0x7da70f,null))['catch'](handleError(_0x7da70f,null));};