Built motion from commit (unavailable).|2.5.21
[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 _0x0404=['map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','squel','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','CloudProvider','rawAttributes','fieldName','type','key','model'];(function(_0x314010,_0x1896d5){var _0x5e6300=function(_0xca1b26){while(--_0xca1b26){_0x314010['push'](_0x314010['shift']());}};_0x5e6300(++_0x1896d5);}(_0x0404,0xf4));var _0x4040=function(_0x24f862,_0x4b645a){_0x24f862=_0x24f862-0x0;var _0x198aa4=_0x0404[_0x24f862];return _0x198aa4;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x4040('0x0'));var rimraf=require(_0x4040('0x1'));var zipdir=require(_0x4040('0x2'));var jsonpatch=require(_0x4040('0x3'));var rp=require(_0x4040('0x4'));var moment=require(_0x4040('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4040('0x6'));var util=require(_0x4040('0x7'));var path=require(_0x4040('0x8'));var sox=require(_0x4040('0x9'));var csv=require('to-csv');var ejs=require(_0x4040('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x4040('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x4040('0xc'));var toCsv=require(_0x4040('0xd'));var querystring=require(_0x4040('0xe'));var Papa=require('papaparse');var Redis=require(_0x4040('0xf'));var authService=require(_0x4040('0x10'));var qs=require(_0x4040('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4040('0x12'));var logger=require(_0x4040('0x13'))('api');var utils=require(_0x4040('0x14'));var config=require(_0x4040('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x4040('0x16'))['db'];function respondWithStatusCode(_0x6848fe,_0x43c6e6){_0x43c6e6=_0x43c6e6||0xcc;return function(_0x5ad97f){if(_0x5ad97f){return _0x6848fe[_0x4040('0x17')](_0x43c6e6);}return _0x6848fe['status'](_0x43c6e6)[_0x4040('0x18')]();};}function respondWithResult(_0x4b2336,_0x459e4c){_0x459e4c=_0x459e4c||0xc8;return function(_0x4d0771){if(_0x4d0771){return _0x4b2336[_0x4040('0x19')](_0x459e4c)[_0x4040('0x1a')](_0x4d0771);}};}function respondWithFilteredResult(_0x5f3a95,_0x4d4419){return function(_0x50022d){if(_0x50022d){var _0x2a49f4=_0x50022d[_0x4040('0x1b')],_0x458537=_0x4d4419[_0x4040('0x1c')],_0x439a20=_0x4d4419[_0x4040('0x1c')]+_0x4d4419[_0x4040('0x1d')],_0x29fbbb;if(_0x439a20>=_0x2a49f4){_0x439a20=_0x2a49f4;_0x29fbbb=0xc8;}else{_0x29fbbb=0xce;}_0x5f3a95[_0x4040('0x19')](_0x29fbbb);return _0x5f3a95[_0x4040('0x1e')](_0x4040('0x1f'),_0x458537+'-'+_0x439a20+'/'+_0x2a49f4)['json'](_0x50022d);}return null;};}function patchUpdates(_0x51efaf){return function(_0xb8aa7d){try{jsonpatch[_0x4040('0x20')](_0xb8aa7d,_0x51efaf,!![]);}catch(_0x343021){return BPromise['reject'](_0x343021);}return _0xb8aa7d[_0x4040('0x21')]();};}function saveUpdates(_0x39aebc,_0x68b36c){return function(_0x3a3ddc){if(_0x3a3ddc){return _0x3a3ddc[_0x4040('0x22')](_0x39aebc)[_0x4040('0x23')](function(_0xec1f81){return _0xec1f81;});}return null;};}function removeEntity(_0x2c0bc5,_0x1ca1b8){return function(_0x3cb9a9){if(_0x3cb9a9){return _0x3cb9a9[_0x4040('0x24')]()[_0x4040('0x23')](function(){_0x2c0bc5[_0x4040('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x429c77,_0x5686c2){return function(_0x152e67){if(!_0x152e67){_0x429c77['sendStatus'](0x194);}return _0x152e67;};}function handleError(_0x41f04b,_0x48d4d2){_0x48d4d2=_0x48d4d2||0x1f4;return function(_0xd96a68){logger[_0x4040('0x25')](_0xd96a68[_0x4040('0x26')]);if(_0xd96a68['name']){delete _0xd96a68[_0x4040('0x27')];}_0x41f04b[_0x4040('0x19')](_0x48d4d2)[_0x4040('0x28')](_0xd96a68);};}exports[_0x4040('0x29')]=function(_0x1d670f,_0x29cc8e){var _0x18a03b={},_0x3b48f8={},_0x23ef59={'count':0x0,'rows':[]};var _0x1b878c=_['map'](db[_0x4040('0x2a')][_0x4040('0x2b')],function(_0xa72be){return{'name':_0xa72be[_0x4040('0x2c')],'type':_0xa72be[_0x4040('0x2d')][_0x4040('0x2e')]};});_0x3b48f8[_0x4040('0x2f')]=_[_0x4040('0x30')](_0x1b878c,_0x4040('0x27'));_0x3b48f8[_0x4040('0x31')]=_[_0x4040('0x32')](_0x1d670f['query']);_0x3b48f8[_0x4040('0x33')]=_[_0x4040('0x34')](_0x3b48f8[_0x4040('0x2f')],_0x3b48f8[_0x4040('0x31')]);_0x18a03b[_0x4040('0x35')]=_['intersection'](_0x3b48f8[_0x4040('0x2f')],qs[_0x4040('0x36')](_0x1d670f[_0x4040('0x31')][_0x4040('0x36')]));_0x18a03b[_0x4040('0x35')]=_0x18a03b[_0x4040('0x35')]['length']?_0x18a03b[_0x4040('0x35')]:_0x3b48f8[_0x4040('0x2f')];if(!_0x1d670f[_0x4040('0x31')][_0x4040('0x37')]('nolimit')){_0x18a03b[_0x4040('0x1d')]=qs[_0x4040('0x1d')](_0x1d670f[_0x4040('0x31')][_0x4040('0x1d')]);_0x18a03b[_0x4040('0x1c')]=qs[_0x4040('0x1c')](_0x1d670f[_0x4040('0x31')]['offset']);}_0x18a03b[_0x4040('0x38')]=qs[_0x4040('0x39')](_0x1d670f[_0x4040('0x31')][_0x4040('0x39')]);_0x18a03b[_0x4040('0x3a')]=qs[_0x4040('0x33')](_[_0x4040('0x3b')](_0x1d670f[_0x4040('0x31')],_0x3b48f8[_0x4040('0x33')]),_0x1b878c);if(_0x1d670f[_0x4040('0x31')][_0x4040('0x3c')]){_0x18a03b[_0x4040('0x3a')]=_[_0x4040('0x3d')](_0x18a03b[_0x4040('0x3a')],{'$or':_['map'](_0x1b878c,function(_0x31a017){if(_0x31a017[_0x4040('0x2d')]!=='VIRTUAL'){var _0x5b4d60={};_0x5b4d60[_0x31a017[_0x4040('0x27')]]={'$like':'%'+_0x1d670f[_0x4040('0x31')][_0x4040('0x3c')]+'%'};return _0x5b4d60;}})});}_0x18a03b=_[_0x4040('0x3d')]({},_0x18a03b,_0x1d670f[_0x4040('0x3e')]);var _0x549997={'where':_0x18a03b['where']};return db[_0x4040('0x2a')][_0x4040('0x1b')](_0x549997)[_0x4040('0x23')](function(_0x42ed30){_0x23ef59['count']=_0x42ed30;if(_0x1d670f[_0x4040('0x31')][_0x4040('0x3f')]){_0x18a03b[_0x4040('0x40')]=[{'all':!![]}];}return db[_0x4040('0x2a')][_0x4040('0x41')](_0x18a03b);})[_0x4040('0x23')](function(_0x4ceffe){_0x23ef59[_0x4040('0x42')]=_0x4ceffe;return _0x23ef59;})[_0x4040('0x23')](respondWithFilteredResult(_0x29cc8e,_0x18a03b))[_0x4040('0x43')](handleError(_0x29cc8e,null));};exports['show']=function(_0x41e61b,_0x840b4a){var _0xb00fc7={'raw':!![],'where':{'id':_0x41e61b[_0x4040('0x44')]['id']}},_0x4de8fc={};_0x4de8fc[_0x4040('0x2f')]=_[_0x4040('0x32')](db[_0x4040('0x2a')]['rawAttributes']);_0x4de8fc[_0x4040('0x31')]=_[_0x4040('0x32')](_0x41e61b['query']);_0x4de8fc[_0x4040('0x33')]=_[_0x4040('0x34')](_0x4de8fc[_0x4040('0x2f')],_0x4de8fc[_0x4040('0x31')]);_0xb00fc7[_0x4040('0x35')]=_['intersection'](_0x4de8fc['model'],qs[_0x4040('0x36')](_0x41e61b['query'][_0x4040('0x36')]));_0xb00fc7[_0x4040('0x35')]=_0xb00fc7[_0x4040('0x35')][_0x4040('0x45')]?_0xb00fc7[_0x4040('0x35')]:_0x4de8fc['model'];if(_0x41e61b['query']['includeAll']){_0xb00fc7[_0x4040('0x40')]=[{'all':!![]}];}_0xb00fc7=_[_0x4040('0x3d')]({},_0xb00fc7,_0x41e61b['options']);return db['CloudProvider'][_0x4040('0x46')](_0xb00fc7)[_0x4040('0x23')](handleEntityNotFound(_0x840b4a,null))[_0x4040('0x23')](respondWithResult(_0x840b4a,null))['catch'](handleError(_0x840b4a,null));};exports['create']=function(_0x36bd23,_0x5a7f2e){return db[_0x4040('0x2a')][_0x4040('0x47')](_0x36bd23[_0x4040('0x48')],{})['then'](respondWithResult(_0x5a7f2e,0xc9))[_0x4040('0x43')](handleError(_0x5a7f2e,null));};exports[_0x4040('0x22')]=function(_0x17f021,_0x3149c0){if(_0x17f021[_0x4040('0x48')]['id']){delete _0x17f021['body']['id'];}return db[_0x4040('0x2a')][_0x4040('0x46')]({'where':{'id':_0x17f021[_0x4040('0x44')]['id']}})['then'](handleEntityNotFound(_0x3149c0,null))[_0x4040('0x23')](saveUpdates(_0x17f021['body'],null))[_0x4040('0x23')](respondWithResult(_0x3149c0,null))['catch'](handleError(_0x3149c0,null));};exports[_0x4040('0x24')]=function(_0x3e50e6,_0x5a7525){return db[_0x4040('0x2a')][_0x4040('0x46')]({'where':{'id':_0x3e50e6['params']['id']}})[_0x4040('0x23')](handleEntityNotFound(_0x5a7525,null))[_0x4040('0x23')](removeEntity(_0x5a7525,null))[_0x4040('0x43')](handleError(_0x5a7525,null));};