Built motion from commit (unavailable).|2.5.31
[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 _0xbcb3=['nolimit','where','type','VIRTUAL','merge','includeAll','include','findAll','rows','catch','show','params','length','create','body','update','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','error','name','send','map','CloudProvider','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty'];(function(_0x2053ea,_0x1ab2d4){var _0x2232c4=function(_0x4230df){while(--_0x4230df){_0x2053ea['push'](_0x2053ea['shift']());}};_0x2232c4(++_0x1ab2d4);}(_0xbcb3,0x131));var _0x3bcb=function(_0x106dc5,_0x214776){_0x106dc5=_0x106dc5-0x0;var _0x4fa8=_0xbcb3[_0x106dc5];return _0x4fa8;};'use strict';var emlformat=require(_0x3bcb('0x0'));var rimraf=require(_0x3bcb('0x1'));var zipdir=require(_0x3bcb('0x2'));var jsonpatch=require(_0x3bcb('0x3'));var rp=require(_0x3bcb('0x4'));var moment=require(_0x3bcb('0x5'));var BPromise=require(_0x3bcb('0x6'));var Mustache=require('mustache');var util=require(_0x3bcb('0x7'));var path=require(_0x3bcb('0x8'));var sox=require(_0x3bcb('0x9'));var csv=require(_0x3bcb('0xa'));var ejs=require(_0x3bcb('0xb'));var fs=require('fs');var fs_extra=require(_0x3bcb('0xc'));var _=require(_0x3bcb('0xd'));var squel=require(_0x3bcb('0xe'));var crypto=require(_0x3bcb('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x3bcb('0x10'));var toCsv=require('to-csv');var querystring=require(_0x3bcb('0x11'));var Papa=require('papaparse');var Redis=require(_0x3bcb('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x3bcb('0x13'));var as=require(_0x3bcb('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3bcb('0x15'))('api');var utils=require(_0x3bcb('0x16'));var config=require(_0x3bcb('0x17'));var licenseUtil=require(_0x3bcb('0x18'));var db=require(_0x3bcb('0x19'))['db'];function respondWithStatusCode(_0x29bd2d,_0x4a2128){_0x4a2128=_0x4a2128||0xcc;return function(_0x128528){if(_0x128528){return _0x29bd2d[_0x3bcb('0x1a')](_0x4a2128);}return _0x29bd2d[_0x3bcb('0x1b')](_0x4a2128)[_0x3bcb('0x1c')]();};}function respondWithResult(_0x29ac00,_0x44ad91){_0x44ad91=_0x44ad91||0xc8;return function(_0x2fb006){if(_0x2fb006){return _0x29ac00['status'](_0x44ad91)['json'](_0x2fb006);}};}function respondWithFilteredResult(_0x46e10a,_0x1689c4){return function(_0x49de3f){if(_0x49de3f){var _0x475edb=typeof _0x1689c4[_0x3bcb('0x1d')]===_0x3bcb('0x1e')&&typeof _0x1689c4[_0x3bcb('0x1f')]===_0x3bcb('0x1e');var _0x2068c0=_0x49de3f[_0x3bcb('0x20')];var _0x4e4021=_0x475edb?0x0:_0x1689c4['offset'];var _0x172b8a=_0x475edb?_0x49de3f[_0x3bcb('0x20')]:_0x1689c4[_0x3bcb('0x1d')]+_0x1689c4['limit'];var _0x20d48f;if(_0x172b8a>=_0x2068c0){_0x172b8a=_0x2068c0;_0x20d48f=0xc8;}else{_0x20d48f=0xce;}_0x46e10a[_0x3bcb('0x1b')](_0x20d48f);return _0x46e10a['set'](_0x3bcb('0x21'),_0x4e4021+'-'+_0x172b8a+'/'+_0x2068c0)[_0x3bcb('0x22')](_0x49de3f);}return null;};}function patchUpdates(_0x5b5868){return function(_0x1511ce){try{jsonpatch[_0x3bcb('0x23')](_0x1511ce,_0x5b5868,!![]);}catch(_0x3e6700){return BPromise[_0x3bcb('0x24')](_0x3e6700);}return _0x1511ce[_0x3bcb('0x25')]();};}function saveUpdates(_0x25459f,_0x1a43e1){return function(_0x3cae8f){if(_0x3cae8f){return _0x3cae8f['update'](_0x25459f)['then'](function(_0x16d3fb){return _0x16d3fb;});}return null;};}function removeEntity(_0x5b3093,_0x2e92b2){return function(_0x2d6788){if(_0x2d6788){return _0x2d6788['destroy']()[_0x3bcb('0x26')](function(){_0x5b3093[_0x3bcb('0x1b')](0xcc)[_0x3bcb('0x1c')]();});}};}function handleEntityNotFound(_0x25e9fd,_0x538f22){return function(_0x2cb1fd){if(!_0x2cb1fd){_0x25e9fd[_0x3bcb('0x1a')](0x194);}return _0x2cb1fd;};}function handleError(_0x571cb1,_0x3c13c9){_0x3c13c9=_0x3c13c9||0x1f4;return function(_0x3cab03){logger[_0x3bcb('0x27')](_0x3cab03['stack']);if(_0x3cab03[_0x3bcb('0x28')]){delete _0x3cab03[_0x3bcb('0x28')];}_0x571cb1[_0x3bcb('0x1b')](_0x3c13c9)[_0x3bcb('0x29')](_0x3cab03);};}exports['index']=function(_0x43d34d,_0x2378da){var _0x5c4e5a={},_0x584484={},_0x3b1ced={'count':0x0,'rows':[]};var _0xe12c9a=_[_0x3bcb('0x2a')](db[_0x3bcb('0x2b')][_0x3bcb('0x2c')],function(_0xd79b56){return{'name':_0xd79b56[_0x3bcb('0x2d')],'type':_0xd79b56['type'][_0x3bcb('0x2e')]};});_0x584484[_0x3bcb('0x2f')]=_[_0x3bcb('0x2a')](_0xe12c9a,_0x3bcb('0x28'));_0x584484[_0x3bcb('0x30')]=_[_0x3bcb('0x31')](_0x43d34d[_0x3bcb('0x30')]);_0x584484[_0x3bcb('0x32')]=_[_0x3bcb('0x33')](_0x584484[_0x3bcb('0x2f')],_0x584484[_0x3bcb('0x30')]);_0x5c4e5a[_0x3bcb('0x34')]=_[_0x3bcb('0x33')](_0x584484[_0x3bcb('0x2f')],qs[_0x3bcb('0x35')](_0x43d34d[_0x3bcb('0x30')][_0x3bcb('0x35')]));_0x5c4e5a[_0x3bcb('0x34')]=_0x5c4e5a['attributes']['length']?_0x5c4e5a[_0x3bcb('0x34')]:_0x584484[_0x3bcb('0x2f')];if(!_0x43d34d[_0x3bcb('0x30')][_0x3bcb('0x36')](_0x3bcb('0x37'))){_0x5c4e5a['limit']=qs[_0x3bcb('0x1f')](_0x43d34d['query'][_0x3bcb('0x1f')]);_0x5c4e5a[_0x3bcb('0x1d')]=qs[_0x3bcb('0x1d')](_0x43d34d[_0x3bcb('0x30')][_0x3bcb('0x1d')]);}_0x5c4e5a['order']=qs['sort'](_0x43d34d['query']['sort']);_0x5c4e5a[_0x3bcb('0x38')]=qs[_0x3bcb('0x32')](_['pick'](_0x43d34d[_0x3bcb('0x30')],_0x584484[_0x3bcb('0x32')]),_0xe12c9a);if(_0x43d34d[_0x3bcb('0x30')]['filter']){_0x5c4e5a[_0x3bcb('0x38')]=_['merge'](_0x5c4e5a[_0x3bcb('0x38')],{'$or':_[_0x3bcb('0x2a')](_0xe12c9a,function(_0x8591c9){if(_0x8591c9[_0x3bcb('0x39')]!==_0x3bcb('0x3a')){var _0x4aac16={};_0x4aac16[_0x8591c9[_0x3bcb('0x28')]]={'$like':'%'+_0x43d34d['query']['filter']+'%'};return _0x4aac16;}})});}_0x5c4e5a=_[_0x3bcb('0x3b')]({},_0x5c4e5a,_0x43d34d['options']);var _0x55b347={'where':_0x5c4e5a['where']};return db[_0x3bcb('0x2b')][_0x3bcb('0x20')](_0x55b347)[_0x3bcb('0x26')](function(_0x1749f3){_0x3b1ced[_0x3bcb('0x20')]=_0x1749f3;if(_0x43d34d[_0x3bcb('0x30')][_0x3bcb('0x3c')]){_0x5c4e5a[_0x3bcb('0x3d')]=[{'all':!![]}];}return db[_0x3bcb('0x2b')][_0x3bcb('0x3e')](_0x5c4e5a);})['then'](function(_0x13dd4b){_0x3b1ced[_0x3bcb('0x3f')]=_0x13dd4b;return _0x3b1ced;})[_0x3bcb('0x26')](respondWithFilteredResult(_0x2378da,_0x5c4e5a))[_0x3bcb('0x40')](handleError(_0x2378da,null));};exports[_0x3bcb('0x41')]=function(_0x51a46d,_0x3d21b2){var _0x1badd7={'raw':!![],'where':{'id':_0x51a46d[_0x3bcb('0x42')]['id']}},_0x4d5659={};_0x4d5659[_0x3bcb('0x2f')]=_[_0x3bcb('0x31')](db[_0x3bcb('0x2b')]['rawAttributes']);_0x4d5659[_0x3bcb('0x30')]=_['keys'](_0x51a46d['query']);_0x4d5659[_0x3bcb('0x32')]=_[_0x3bcb('0x33')](_0x4d5659[_0x3bcb('0x2f')],_0x4d5659[_0x3bcb('0x30')]);_0x1badd7[_0x3bcb('0x34')]=_[_0x3bcb('0x33')](_0x4d5659[_0x3bcb('0x2f')],qs[_0x3bcb('0x35')](_0x51a46d['query']['fields']));_0x1badd7[_0x3bcb('0x34')]=_0x1badd7[_0x3bcb('0x34')][_0x3bcb('0x43')]?_0x1badd7[_0x3bcb('0x34')]:_0x4d5659[_0x3bcb('0x2f')];if(_0x51a46d[_0x3bcb('0x30')]['includeAll']){_0x1badd7[_0x3bcb('0x3d')]=[{'all':!![]}];}_0x1badd7=_[_0x3bcb('0x3b')]({},_0x1badd7,_0x51a46d['options']);return db[_0x3bcb('0x2b')]['find'](_0x1badd7)[_0x3bcb('0x26')](handleEntityNotFound(_0x3d21b2,null))[_0x3bcb('0x26')](respondWithResult(_0x3d21b2,null))[_0x3bcb('0x40')](handleError(_0x3d21b2,null));};exports[_0x3bcb('0x44')]=function(_0x3ab5d0,_0x125061){return db[_0x3bcb('0x2b')][_0x3bcb('0x44')](_0x3ab5d0[_0x3bcb('0x45')],{})[_0x3bcb('0x26')](respondWithResult(_0x125061,0xc9))[_0x3bcb('0x40')](handleError(_0x125061,null));};exports[_0x3bcb('0x46')]=function(_0x1a99a5,_0x2bb2b6){if(_0x1a99a5[_0x3bcb('0x45')]['id']){delete _0x1a99a5[_0x3bcb('0x45')]['id'];}return db[_0x3bcb('0x2b')][_0x3bcb('0x47')]({'where':{'id':_0x1a99a5[_0x3bcb('0x42')]['id']}})[_0x3bcb('0x26')](handleEntityNotFound(_0x2bb2b6,null))['then'](saveUpdates(_0x1a99a5[_0x3bcb('0x45')],null))[_0x3bcb('0x26')](respondWithResult(_0x2bb2b6,null))[_0x3bcb('0x40')](handleError(_0x2bb2b6,null));};exports['destroy']=function(_0x1f5feb,_0x18860e){return db[_0x3bcb('0x2b')][_0x3bcb('0x47')]({'where':{'id':_0x1f5feb[_0x3bcb('0x42')]['id']}})['then'](handleEntityNotFound(_0x18860e,null))[_0x3bcb('0x26')](removeEntity(_0x18860e,null))[_0x3bcb('0x40')](handleError(_0x18860e,null));};