Built motion from commit (unavailable).|2.5.14
[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 _0x5686=['apply','save','update','then','destroy','sendStatus','error','stack','name','index','rawAttributes','fieldName','type','keys','query','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','map','VIRTUAL','options','CloudProvider','includeAll','include','rows','catch','show','params','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','status','end','json','count','offset','limit','set','Content-Range'];(function(_0x244677,_0x444efb){var _0x424e7d=function(_0x25d045){while(--_0x25d045){_0x244677['push'](_0x244677['shift']());}};_0x424e7d(++_0x444efb);}(_0x5686,0xbc));var _0x6568=function(_0x39f375,_0x3aa8ec){_0x39f375=_0x39f375-0x0;var _0x463f93=_0x5686[_0x39f375];return _0x463f93;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x6568('0x0'));var rimraf=require(_0x6568('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6568('0x2'));var rp=require(_0x6568('0x3'));var moment=require(_0x6568('0x4'));var BPromise=require(_0x6568('0x5'));var Mustache=require(_0x6568('0x6'));var util=require(_0x6568('0x7'));var path=require(_0x6568('0x8'));var sox=require('sox');var csv=require(_0x6568('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x6568('0xa'));var squel=require(_0x6568('0xb'));var crypto=require('crypto');var jsforce=require(_0x6568('0xc'));var deskjs=require(_0x6568('0xd'));var toCsv=require(_0x6568('0x9'));var querystring=require('querystring');var Papa=require(_0x6568('0xe'));var Redis=require(_0x6568('0xf'));var authService=require(_0x6568('0x10'));var qs=require(_0x6568('0x11'));var as=require(_0x6568('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6568('0x13'))(_0x6568('0x14'));var utils=require(_0x6568('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x6568('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4ae9cb,_0x42e59e){_0x42e59e=_0x42e59e||0xcc;return function(_0x569576){if(_0x569576){return _0x4ae9cb['sendStatus'](_0x42e59e);}return _0x4ae9cb[_0x6568('0x17')](_0x42e59e)[_0x6568('0x18')]();};}function respondWithResult(_0x3d410c,_0x1bde82){_0x1bde82=_0x1bde82||0xc8;return function(_0x3b9668){if(_0x3b9668){return _0x3d410c['status'](_0x1bde82)[_0x6568('0x19')](_0x3b9668);}};}function respondWithFilteredResult(_0x422d2c,_0x3b467d){return function(_0x5d7050){if(_0x5d7050){var _0x34ee76=_0x5d7050[_0x6568('0x1a')],_0x20450a=_0x3b467d[_0x6568('0x1b')],_0x1f5cae=_0x3b467d['offset']+_0x3b467d[_0x6568('0x1c')],_0x220db0;if(_0x1f5cae>=_0x34ee76){_0x1f5cae=_0x34ee76;_0x220db0=0xc8;}else{_0x220db0=0xce;}_0x422d2c[_0x6568('0x17')](_0x220db0);return _0x422d2c[_0x6568('0x1d')](_0x6568('0x1e'),_0x20450a+'-'+_0x1f5cae+'/'+_0x34ee76)[_0x6568('0x19')](_0x5d7050);}return null;};}function patchUpdates(_0x3b4467){return function(_0x2bf57a){try{jsonpatch[_0x6568('0x1f')](_0x2bf57a,_0x3b4467,!![]);}catch(_0x854239){return BPromise['reject'](_0x854239);}return _0x2bf57a[_0x6568('0x20')]();};}function saveUpdates(_0x556659,_0x59aad4){return function(_0x589184){if(_0x589184){return _0x589184[_0x6568('0x21')](_0x556659)[_0x6568('0x22')](function(_0x55ba58){return _0x55ba58;});}return null;};}function removeEntity(_0x132597,_0x4c1613){return function(_0x1fa134){if(_0x1fa134){return _0x1fa134[_0x6568('0x23')]()[_0x6568('0x22')](function(){_0x132597[_0x6568('0x17')](0xcc)[_0x6568('0x18')]();});}};}function handleEntityNotFound(_0x5415bf,_0x465180){return function(_0x33642e){if(!_0x33642e){_0x5415bf[_0x6568('0x24')](0x194);}return _0x33642e;};}function handleError(_0x1e2a76,_0x3e870a){_0x3e870a=_0x3e870a||0x1f4;return function(_0xe6d75e){logger[_0x6568('0x25')](_0xe6d75e[_0x6568('0x26')]);if(_0xe6d75e['name']){delete _0xe6d75e[_0x6568('0x27')];}_0x1e2a76[_0x6568('0x17')](_0x3e870a)['send'](_0xe6d75e);};}exports[_0x6568('0x28')]=function(_0x2db85f,_0x186609){var _0x369cb5={},_0x5ca42d={},_0x4820f5={'count':0x0,'rows':[]};var _0x25f7a4=_['map'](db['CloudProvider'][_0x6568('0x29')],function(_0x5590bc){return{'name':_0x5590bc[_0x6568('0x2a')],'type':_0x5590bc[_0x6568('0x2b')]['key']};});_0x5ca42d['model']=_['map'](_0x25f7a4,'name');_0x5ca42d['query']=_[_0x6568('0x2c')](_0x2db85f[_0x6568('0x2d')]);_0x5ca42d['filters']=_[_0x6568('0x2e')](_0x5ca42d['model'],_0x5ca42d['query']);_0x369cb5[_0x6568('0x2f')]=_[_0x6568('0x2e')](_0x5ca42d[_0x6568('0x30')],qs[_0x6568('0x31')](_0x2db85f[_0x6568('0x2d')][_0x6568('0x31')]));_0x369cb5[_0x6568('0x2f')]=_0x369cb5[_0x6568('0x2f')][_0x6568('0x32')]?_0x369cb5[_0x6568('0x2f')]:_0x5ca42d[_0x6568('0x30')];if(!_0x2db85f[_0x6568('0x2d')][_0x6568('0x33')](_0x6568('0x34'))){_0x369cb5[_0x6568('0x1c')]=qs[_0x6568('0x1c')](_0x2db85f['query']['limit']);_0x369cb5[_0x6568('0x1b')]=qs[_0x6568('0x1b')](_0x2db85f['query']['offset']);}_0x369cb5[_0x6568('0x35')]=qs[_0x6568('0x36')](_0x2db85f[_0x6568('0x2d')]['sort']);_0x369cb5['where']=qs[_0x6568('0x37')](_[_0x6568('0x38')](_0x2db85f['query'],_0x5ca42d[_0x6568('0x37')]),_0x25f7a4);if(_0x2db85f[_0x6568('0x2d')][_0x6568('0x39')]){_0x369cb5[_0x6568('0x3a')]=_[_0x6568('0x3b')](_0x369cb5[_0x6568('0x3a')],{'$or':_[_0x6568('0x3c')](_0x25f7a4,function(_0x2ff81b){if(_0x2ff81b[_0x6568('0x2b')]!==_0x6568('0x3d')){var _0x117c70={};_0x117c70[_0x2ff81b[_0x6568('0x27')]]={'$like':'%'+_0x2db85f['query'][_0x6568('0x39')]+'%'};return _0x117c70;}})});}_0x369cb5=_[_0x6568('0x3b')]({},_0x369cb5,_0x2db85f[_0x6568('0x3e')]);var _0x20f755={'where':_0x369cb5['where']};return db[_0x6568('0x3f')][_0x6568('0x1a')](_0x20f755)[_0x6568('0x22')](function(_0x5f3f84){_0x4820f5[_0x6568('0x1a')]=_0x5f3f84;if(_0x2db85f[_0x6568('0x2d')][_0x6568('0x40')]){_0x369cb5[_0x6568('0x41')]=[{'all':!![]}];}return db['CloudProvider']['findAll'](_0x369cb5);})[_0x6568('0x22')](function(_0x595691){_0x4820f5[_0x6568('0x42')]=_0x595691;return _0x4820f5;})[_0x6568('0x22')](respondWithFilteredResult(_0x186609,_0x369cb5))[_0x6568('0x43')](handleError(_0x186609,null));};exports[_0x6568('0x44')]=function(_0x266d7c,_0x57dc5b){var _0x4012cf={'raw':!![],'where':{'id':_0x266d7c[_0x6568('0x45')]['id']}},_0x285f44={};_0x285f44[_0x6568('0x30')]=_[_0x6568('0x2c')](db[_0x6568('0x3f')]['rawAttributes']);_0x285f44['query']=_['keys'](_0x266d7c[_0x6568('0x2d')]);_0x285f44[_0x6568('0x37')]=_[_0x6568('0x2e')](_0x285f44[_0x6568('0x30')],_0x285f44[_0x6568('0x2d')]);_0x4012cf['attributes']=_[_0x6568('0x2e')](_0x285f44[_0x6568('0x30')],qs[_0x6568('0x31')](_0x266d7c[_0x6568('0x2d')][_0x6568('0x31')]));_0x4012cf['attributes']=_0x4012cf['attributes'][_0x6568('0x32')]?_0x4012cf[_0x6568('0x2f')]:_0x285f44[_0x6568('0x30')];if(_0x266d7c[_0x6568('0x2d')]['includeAll']){_0x4012cf[_0x6568('0x41')]=[{'all':!![]}];}_0x4012cf=_[_0x6568('0x3b')]({},_0x4012cf,_0x266d7c[_0x6568('0x3e')]);return db[_0x6568('0x3f')][_0x6568('0x46')](_0x4012cf)[_0x6568('0x22')](handleEntityNotFound(_0x57dc5b,null))['then'](respondWithResult(_0x57dc5b,null))[_0x6568('0x43')](handleError(_0x57dc5b,null));};exports[_0x6568('0x47')]=function(_0x433358,_0x32efd3){return db[_0x6568('0x3f')]['create'](_0x433358[_0x6568('0x48')],{})[_0x6568('0x22')](respondWithResult(_0x32efd3,0xc9))['catch'](handleError(_0x32efd3,null));};exports[_0x6568('0x21')]=function(_0x21ff21,_0x41dbaf){if(_0x21ff21['body']['id']){delete _0x21ff21[_0x6568('0x48')]['id'];}return db[_0x6568('0x3f')]['find']({'where':{'id':_0x21ff21[_0x6568('0x45')]['id']}})['then'](handleEntityNotFound(_0x41dbaf,null))[_0x6568('0x22')](saveUpdates(_0x21ff21[_0x6568('0x48')],null))['then'](respondWithResult(_0x41dbaf,null))[_0x6568('0x43')](handleError(_0x41dbaf,null));};exports[_0x6568('0x23')]=function(_0x20aa77,_0x34658c){return db['CloudProvider'][_0x6568('0x46')]({'where':{'id':_0x20aa77['params']['id']}})['then'](handleEntityNotFound(_0x34658c,null))[_0x6568('0x22')](removeEntity(_0x34658c,null))[_0x6568('0x43')](handleError(_0x34658c,null));};