Built motion from commit (unavailable).|2.5.15
[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 _0xfa55=['stack','name','send','index','map','CloudProvider','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','length','nolimit','order','sort','where','filters','pick','filter','options','count','includeAll','include','findAll','catch','show','params','fields','find','create','update','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','limit','json','apply','reject','save','then','destroy','error'];(function(_0xaf4770,_0x517bdd){var _0x28363f=function(_0x391588){while(--_0x391588){_0xaf4770['push'](_0xaf4770['shift']());}};_0x28363f(++_0x517bdd);}(_0xfa55,0x67));var _0x5fa5=function(_0x10fc7b,_0x3ddee3){_0x10fc7b=_0x10fc7b-0x0;var _0x9e1cf4=_0xfa55[_0x10fc7b];return _0x9e1cf4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x5fa5('0x0'));var rimraf=require(_0x5fa5('0x1'));var zipdir=require(_0x5fa5('0x2'));var jsonpatch=require(_0x5fa5('0x3'));var rp=require(_0x5fa5('0x4'));var moment=require('moment');var BPromise=require(_0x5fa5('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x5fa5('0x6'));var sox=require(_0x5fa5('0x7'));var csv=require(_0x5fa5('0x8'));var ejs=require(_0x5fa5('0x9'));var fs=require('fs');var _=require(_0x5fa5('0xa'));var squel=require('squel');var crypto=require(_0x5fa5('0xb'));var jsforce=require(_0x5fa5('0xc'));var deskjs=require(_0x5fa5('0xd'));var toCsv=require(_0x5fa5('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x5fa5('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x5fa5('0xf'));var as=require(_0x5fa5('0x10'));var hardwareService=require(_0x5fa5('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0x5fa5('0x12'));var config=require(_0x5fa5('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x5fa5('0x14'))['db'];function respondWithStatusCode(_0x3901e1,_0x2d65b1){_0x2d65b1=_0x2d65b1||0xcc;return function(_0x2308c9){if(_0x2308c9){return _0x3901e1[_0x5fa5('0x15')](_0x2d65b1);}return _0x3901e1[_0x5fa5('0x16')](_0x2d65b1)[_0x5fa5('0x17')]();};}function respondWithResult(_0x26c5c3,_0x11d999){_0x11d999=_0x11d999||0xc8;return function(_0x569871){if(_0x569871){return _0x26c5c3[_0x5fa5('0x16')](_0x11d999)['json'](_0x569871);}};}function respondWithFilteredResult(_0x41c0bf,_0x2bdc06){return function(_0x38e935){if(_0x38e935){var _0x2e1c23=_0x38e935['count'],_0x476c64=_0x2bdc06[_0x5fa5('0x18')],_0x56fa88=_0x2bdc06[_0x5fa5('0x18')]+_0x2bdc06[_0x5fa5('0x19')],_0x37d41d;if(_0x56fa88>=_0x2e1c23){_0x56fa88=_0x2e1c23;_0x37d41d=0xc8;}else{_0x37d41d=0xce;}_0x41c0bf[_0x5fa5('0x16')](_0x37d41d);return _0x41c0bf['set']('Content-Range',_0x476c64+'-'+_0x56fa88+'/'+_0x2e1c23)[_0x5fa5('0x1a')](_0x38e935);}return null;};}function patchUpdates(_0xbfc8d2){return function(_0x2d2d73){try{jsonpatch[_0x5fa5('0x1b')](_0x2d2d73,_0xbfc8d2,!![]);}catch(_0x3baffb){return BPromise[_0x5fa5('0x1c')](_0x3baffb);}return _0x2d2d73[_0x5fa5('0x1d')]();};}function saveUpdates(_0x254929,_0x3cd100){return function(_0x4eb8ff){if(_0x4eb8ff){return _0x4eb8ff['update'](_0x254929)[_0x5fa5('0x1e')](function(_0x1afc53){return _0x1afc53;});}return null;};}function removeEntity(_0x353153,_0x2935d0){return function(_0x5a69a0){if(_0x5a69a0){return _0x5a69a0[_0x5fa5('0x1f')]()[_0x5fa5('0x1e')](function(){_0x353153[_0x5fa5('0x16')](0xcc)[_0x5fa5('0x17')]();});}};}function handleEntityNotFound(_0x26e8c4,_0x3c4f05){return function(_0x16c4ee){if(!_0x16c4ee){_0x26e8c4[_0x5fa5('0x15')](0x194);}return _0x16c4ee;};}function handleError(_0x401eff,_0x5759a9){_0x5759a9=_0x5759a9||0x1f4;return function(_0x24e962){logger[_0x5fa5('0x20')](_0x24e962[_0x5fa5('0x21')]);if(_0x24e962['name']){delete _0x24e962[_0x5fa5('0x22')];}_0x401eff[_0x5fa5('0x16')](_0x5759a9)[_0x5fa5('0x23')](_0x24e962);};}exports[_0x5fa5('0x24')]=function(_0x1d5da5,_0x33c906){var _0x56efed={},_0x4ac89f={},_0x41c36f={'count':0x0,'rows':[]};var _0x276e9e=_[_0x5fa5('0x25')](db[_0x5fa5('0x26')][_0x5fa5('0x27')],function(_0x4ac6c6){return{'name':_0x4ac6c6[_0x5fa5('0x28')],'type':_0x4ac6c6[_0x5fa5('0x29')]['key']};});_0x4ac89f[_0x5fa5('0x2a')]=_[_0x5fa5('0x25')](_0x276e9e,_0x5fa5('0x22'));_0x4ac89f[_0x5fa5('0x2b')]=_[_0x5fa5('0x2c')](_0x1d5da5[_0x5fa5('0x2b')]);_0x4ac89f['filters']=_[_0x5fa5('0x2d')](_0x4ac89f[_0x5fa5('0x2a')],_0x4ac89f[_0x5fa5('0x2b')]);_0x56efed[_0x5fa5('0x2e')]=_['intersection'](_0x4ac89f[_0x5fa5('0x2a')],qs['fields'](_0x1d5da5['query']['fields']));_0x56efed['attributes']=_0x56efed[_0x5fa5('0x2e')][_0x5fa5('0x2f')]?_0x56efed[_0x5fa5('0x2e')]:_0x4ac89f[_0x5fa5('0x2a')];if(!_0x1d5da5[_0x5fa5('0x2b')]['hasOwnProperty'](_0x5fa5('0x30'))){_0x56efed[_0x5fa5('0x19')]=qs[_0x5fa5('0x19')](_0x1d5da5[_0x5fa5('0x2b')][_0x5fa5('0x19')]);_0x56efed[_0x5fa5('0x18')]=qs[_0x5fa5('0x18')](_0x1d5da5[_0x5fa5('0x2b')][_0x5fa5('0x18')]);}_0x56efed[_0x5fa5('0x31')]=qs[_0x5fa5('0x32')](_0x1d5da5[_0x5fa5('0x2b')]['sort']);_0x56efed[_0x5fa5('0x33')]=qs[_0x5fa5('0x34')](_[_0x5fa5('0x35')](_0x1d5da5['query'],_0x4ac89f[_0x5fa5('0x34')]),_0x276e9e);if(_0x1d5da5[_0x5fa5('0x2b')]['filter']){_0x56efed[_0x5fa5('0x33')]=_['merge'](_0x56efed[_0x5fa5('0x33')],{'$or':_['map'](_0x276e9e,function(_0x179b5d){if(_0x179b5d[_0x5fa5('0x29')]!=='VIRTUAL'){var _0x23f728={};_0x23f728[_0x179b5d[_0x5fa5('0x22')]]={'$like':'%'+_0x1d5da5['query'][_0x5fa5('0x36')]+'%'};return _0x23f728;}})});}_0x56efed=_['merge']({},_0x56efed,_0x1d5da5[_0x5fa5('0x37')]);var _0x1bf59a={'where':_0x56efed['where']};return db[_0x5fa5('0x26')][_0x5fa5('0x38')](_0x1bf59a)['then'](function(_0x2ffd79){_0x41c36f[_0x5fa5('0x38')]=_0x2ffd79;if(_0x1d5da5[_0x5fa5('0x2b')][_0x5fa5('0x39')]){_0x56efed[_0x5fa5('0x3a')]=[{'all':!![]}];}return db[_0x5fa5('0x26')][_0x5fa5('0x3b')](_0x56efed);})[_0x5fa5('0x1e')](function(_0x4c7901){_0x41c36f['rows']=_0x4c7901;return _0x41c36f;})['then'](respondWithFilteredResult(_0x33c906,_0x56efed))[_0x5fa5('0x3c')](handleError(_0x33c906,null));};exports[_0x5fa5('0x3d')]=function(_0x225ba9,_0x3483eb){var _0x4c451c={'raw':!![],'where':{'id':_0x225ba9[_0x5fa5('0x3e')]['id']}},_0xabfd0c={};_0xabfd0c['model']=_[_0x5fa5('0x2c')](db['CloudProvider']['rawAttributes']);_0xabfd0c[_0x5fa5('0x2b')]=_['keys'](_0x225ba9['query']);_0xabfd0c[_0x5fa5('0x34')]=_[_0x5fa5('0x2d')](_0xabfd0c[_0x5fa5('0x2a')],_0xabfd0c['query']);_0x4c451c[_0x5fa5('0x2e')]=_[_0x5fa5('0x2d')](_0xabfd0c[_0x5fa5('0x2a')],qs[_0x5fa5('0x3f')](_0x225ba9[_0x5fa5('0x2b')][_0x5fa5('0x3f')]));_0x4c451c[_0x5fa5('0x2e')]=_0x4c451c[_0x5fa5('0x2e')][_0x5fa5('0x2f')]?_0x4c451c[_0x5fa5('0x2e')]:_0xabfd0c[_0x5fa5('0x2a')];if(_0x225ba9[_0x5fa5('0x2b')][_0x5fa5('0x39')]){_0x4c451c[_0x5fa5('0x3a')]=[{'all':!![]}];}_0x4c451c=_['merge']({},_0x4c451c,_0x225ba9[_0x5fa5('0x37')]);return db[_0x5fa5('0x26')][_0x5fa5('0x40')](_0x4c451c)['then'](handleEntityNotFound(_0x3483eb,null))[_0x5fa5('0x1e')](respondWithResult(_0x3483eb,null))[_0x5fa5('0x3c')](handleError(_0x3483eb,null));};exports[_0x5fa5('0x41')]=function(_0x341c34,_0x1ab3f0){return db['CloudProvider'][_0x5fa5('0x41')](_0x341c34['body'],{})['then'](respondWithResult(_0x1ab3f0,0xc9))['catch'](handleError(_0x1ab3f0,null));};exports[_0x5fa5('0x42')]=function(_0x1204ba,_0x2b16b2){if(_0x1204ba[_0x5fa5('0x43')]['id']){delete _0x1204ba['body']['id'];}return db[_0x5fa5('0x26')]['find']({'where':{'id':_0x1204ba[_0x5fa5('0x3e')]['id']}})['then'](handleEntityNotFound(_0x2b16b2,null))['then'](saveUpdates(_0x1204ba['body'],null))['then'](respondWithResult(_0x2b16b2,null))[_0x5fa5('0x3c')](handleError(_0x2b16b2,null));};exports[_0x5fa5('0x1f')]=function(_0x36acd3,_0x40d0bc){return db[_0x5fa5('0x26')][_0x5fa5('0x40')]({'where':{'id':_0x36acd3['params']['id']}})['then'](handleEntityNotFound(_0x40d0bc,null))[_0x5fa5('0x1e')](removeEntity(_0x40d0bc,null))[_0x5fa5('0x3c')](handleError(_0x40d0bc,null));};