Built motion from commit (unavailable).|2.5.0
[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 _0x1695=['../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','count','offset','limit','status','set','Content-Range','apply','reject','save','update','then','error','stack','index','map','CloudProvider','rawAttributes','fieldName','type','key','model','name','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','includeAll','include','findAll','catch','show','length','options','find','create','body','destroy','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api'];(function(_0x2aeef1,_0x33214e){var _0x5b8fc0=function(_0x176aee){while(--_0x176aee){_0x2aeef1['push'](_0x2aeef1['shift']());}};_0x5b8fc0(++_0x33214e);}(_0x1695,0x1b7));var _0x5169=function(_0x1633e0,_0x513fa3){_0x1633e0=_0x1633e0-0x0;var _0x38e5dd=_0x1695[_0x1633e0];return _0x38e5dd;};'use strict';var pdf=require(_0x5169('0x0'));var emlformat=require(_0x5169('0x1'));var rimraf=require(_0x5169('0x2'));var zipdir=require(_0x5169('0x3'));var jsonpatch=require(_0x5169('0x4'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x5169('0x5'));var Mustache=require(_0x5169('0x6'));var util=require(_0x5169('0x7'));var path=require('path');var sox=require(_0x5169('0x8'));var csv=require(_0x5169('0x9'));var ejs=require(_0x5169('0xa'));var fs=require('fs');var _=require(_0x5169('0xb'));var squel=require(_0x5169('0xc'));var crypto=require('crypto');var jsforce=require(_0x5169('0xd'));var deskjs=require(_0x5169('0xe'));var toCsv=require(_0x5169('0x9'));var querystring=require(_0x5169('0xf'));var Papa=require(_0x5169('0x10'));var Redis=require(_0x5169('0x11'));var authService=require(_0x5169('0x12'));var qs=require(_0x5169('0x13'));var as=require(_0x5169('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5169('0x15'))(_0x5169('0x16'));var utils=require(_0x5169('0x17'));var config=require(_0x5169('0x18'));var db=require(_0x5169('0x19'))['db'];function respondWithStatusCode(_0x1ba9d9,_0x386e53){_0x386e53=_0x386e53||0xcc;return function(_0x1b0684){if(_0x1b0684){return _0x1ba9d9[_0x5169('0x1a')](_0x386e53);}return _0x1ba9d9['status'](_0x386e53)[_0x5169('0x1b')]();};}function respondWithResult(_0x3bdebd,_0x96f104){_0x96f104=_0x96f104||0xc8;return function(_0x3bffa7){if(_0x3bffa7){return _0x3bdebd['status'](_0x96f104)['json'](_0x3bffa7);}};}function respondWithFilteredResult(_0x556bc0,_0x5d815a){return function(_0x184c6a){if(_0x184c6a){var _0xf3096b=_0x184c6a[_0x5169('0x1c')],_0x1b386c=_0x5d815a[_0x5169('0x1d')],_0x4fc1df=_0x5d815a[_0x5169('0x1d')]+_0x5d815a[_0x5169('0x1e')],_0x250fa8;if(_0x4fc1df>=_0xf3096b){_0x4fc1df=_0xf3096b;_0x250fa8=0xc8;}else{_0x250fa8=0xce;}_0x556bc0[_0x5169('0x1f')](_0x250fa8);return _0x556bc0[_0x5169('0x20')](_0x5169('0x21'),_0x1b386c+'-'+_0x4fc1df+'/'+_0xf3096b)['json'](_0x184c6a);}return null;};}function patchUpdates(_0xcbd14b){return function(_0x421d6b){try{jsonpatch[_0x5169('0x22')](_0x421d6b,_0xcbd14b,!![]);}catch(_0x328717){return BPromise[_0x5169('0x23')](_0x328717);}return _0x421d6b[_0x5169('0x24')]();};}function saveUpdates(_0x2da2e6,_0x5e0aa5){return function(_0xd911ca){if(_0xd911ca){return _0xd911ca[_0x5169('0x25')](_0x2da2e6)['then'](function(_0x1ba9f4){return _0x1ba9f4;});}return null;};}function removeEntity(_0x1ca0a9,_0x5ee921){return function(_0x1e2eab){if(_0x1e2eab){return _0x1e2eab['destroy']()[_0x5169('0x26')](function(){_0x1ca0a9[_0x5169('0x1f')](0xcc)[_0x5169('0x1b')]();});}};}function handleEntityNotFound(_0x44634f,_0xe8c8f9){return function(_0x315e05){if(!_0x315e05){_0x44634f[_0x5169('0x1a')](0x194);}return _0x315e05;};}function handleError(_0x45e65f,_0x372905){_0x372905=_0x372905||0x1f4;return function(_0x145179){logger[_0x5169('0x27')](_0x145179[_0x5169('0x28')]);if(_0x145179['name']){delete _0x145179['name'];}_0x45e65f[_0x5169('0x1f')](_0x372905)['send'](_0x145179);};}exports[_0x5169('0x29')]=function(_0x3c0645,_0x24d1f2){var _0x1aaedf={},_0x4683d9={},_0x378eb7={'count':0x0,'rows':[]};var _0x59e932=_[_0x5169('0x2a')](db[_0x5169('0x2b')][_0x5169('0x2c')],function(_0x4199ac){return{'name':_0x4199ac[_0x5169('0x2d')],'type':_0x4199ac[_0x5169('0x2e')][_0x5169('0x2f')]};});_0x4683d9[_0x5169('0x30')]=_['map'](_0x59e932,_0x5169('0x31'));_0x4683d9[_0x5169('0x32')]=_[_0x5169('0x33')](_0x3c0645[_0x5169('0x32')]);_0x4683d9[_0x5169('0x34')]=_[_0x5169('0x35')](_0x4683d9[_0x5169('0x30')],_0x4683d9[_0x5169('0x32')]);_0x1aaedf[_0x5169('0x36')]=_['intersection'](_0x4683d9['model'],qs[_0x5169('0x37')](_0x3c0645['query'][_0x5169('0x37')]));_0x1aaedf['attributes']=_0x1aaedf[_0x5169('0x36')]['length']?_0x1aaedf[_0x5169('0x36')]:_0x4683d9[_0x5169('0x30')];if(!_0x3c0645[_0x5169('0x32')][_0x5169('0x38')](_0x5169('0x39'))){_0x1aaedf['limit']=qs[_0x5169('0x1e')](_0x3c0645[_0x5169('0x32')][_0x5169('0x1e')]);_0x1aaedf[_0x5169('0x1d')]=qs[_0x5169('0x1d')](_0x3c0645[_0x5169('0x32')][_0x5169('0x1d')]);}_0x1aaedf[_0x5169('0x3a')]=qs[_0x5169('0x3b')](_0x3c0645[_0x5169('0x32')][_0x5169('0x3b')]);_0x1aaedf[_0x5169('0x3c')]=qs[_0x5169('0x34')](_[_0x5169('0x3d')](_0x3c0645[_0x5169('0x32')],_0x4683d9[_0x5169('0x34')]),_0x59e932);if(_0x3c0645['query']['filter']){_0x1aaedf[_0x5169('0x3c')]=_[_0x5169('0x3e')](_0x1aaedf[_0x5169('0x3c')],{'$or':_[_0x5169('0x2a')](_0x59e932,function(_0x20bf5e){if(_0x20bf5e['type']!==_0x5169('0x3f')){var _0x47bbe8={};_0x47bbe8[_0x20bf5e[_0x5169('0x31')]]={'$like':'%'+_0x3c0645[_0x5169('0x32')][_0x5169('0x40')]+'%'};return _0x47bbe8;}})});}_0x1aaedf=_[_0x5169('0x3e')]({},_0x1aaedf,_0x3c0645['options']);var _0x5220c2={'where':_0x1aaedf[_0x5169('0x3c')]};return db['CloudProvider'][_0x5169('0x1c')](_0x5220c2)[_0x5169('0x26')](function(_0x5782b7){_0x378eb7['count']=_0x5782b7;if(_0x3c0645[_0x5169('0x32')][_0x5169('0x41')]){_0x1aaedf[_0x5169('0x42')]=[{'all':!![]}];}return db[_0x5169('0x2b')][_0x5169('0x43')](_0x1aaedf);})[_0x5169('0x26')](function(_0x52992d){_0x378eb7['rows']=_0x52992d;return _0x378eb7;})['then'](respondWithFilteredResult(_0x24d1f2,_0x1aaedf))[_0x5169('0x44')](handleError(_0x24d1f2,null));};exports[_0x5169('0x45')]=function(_0x1f4d16,_0x40c70b){var _0x3c402f={'raw':!![],'where':{'id':_0x1f4d16['params']['id']}},_0x4e98a9={};_0x4e98a9[_0x5169('0x30')]=_['keys'](db['CloudProvider'][_0x5169('0x2c')]);_0x4e98a9[_0x5169('0x32')]=_[_0x5169('0x33')](_0x1f4d16[_0x5169('0x32')]);_0x4e98a9['filters']=_[_0x5169('0x35')](_0x4e98a9[_0x5169('0x30')],_0x4e98a9[_0x5169('0x32')]);_0x3c402f[_0x5169('0x36')]=_['intersection'](_0x4e98a9['model'],qs['fields'](_0x1f4d16['query'][_0x5169('0x37')]));_0x3c402f[_0x5169('0x36')]=_0x3c402f['attributes'][_0x5169('0x46')]?_0x3c402f[_0x5169('0x36')]:_0x4e98a9['model'];if(_0x1f4d16['query'][_0x5169('0x41')]){_0x3c402f['include']=[{'all':!![]}];}_0x3c402f=_[_0x5169('0x3e')]({},_0x3c402f,_0x1f4d16[_0x5169('0x47')]);return db['CloudProvider'][_0x5169('0x48')](_0x3c402f)[_0x5169('0x26')](handleEntityNotFound(_0x40c70b,null))['then'](respondWithResult(_0x40c70b,null))[_0x5169('0x44')](handleError(_0x40c70b,null));};exports[_0x5169('0x49')]=function(_0x138e3e,_0x4aa133){return db[_0x5169('0x2b')]['create'](_0x138e3e['body'],{})[_0x5169('0x26')](respondWithResult(_0x4aa133,0xc9))[_0x5169('0x44')](handleError(_0x4aa133,null));};exports[_0x5169('0x25')]=function(_0x40ec9e,_0x43031b){if(_0x40ec9e[_0x5169('0x4a')]['id']){delete _0x40ec9e[_0x5169('0x4a')]['id'];}return db['CloudProvider'][_0x5169('0x48')]({'where':{'id':_0x40ec9e['params']['id']}})['then'](handleEntityNotFound(_0x43031b,null))[_0x5169('0x26')](saveUpdates(_0x40ec9e[_0x5169('0x4a')],null))[_0x5169('0x26')](respondWithResult(_0x43031b,null))['catch'](handleError(_0x43031b,null));};exports[_0x5169('0x4b')]=function(_0x16b9be,_0x115a74){return db[_0x5169('0x2b')]['find']({'where':{'id':_0x16b9be[_0x5169('0x4c')]['id']}})[_0x5169('0x26')](handleEntityNotFound(_0x115a74,null))['then'](removeEntity(_0x115a74,null))[_0x5169('0x44')](handleError(_0x115a74,null));};