Built motion from commit (unavailable).|2.5.22
[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 _0x7377=['html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','json','apply','reject','save','then','error','name','index','map','CloudProvider','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','findAll','rows','show','params','keys','options','find','catch','create','body','update'];(function(_0x141c05,_0x319076){var _0x25fa28=function(_0x56f1c0){while(--_0x56f1c0){_0x141c05['push'](_0x141c05['shift']());}};_0x25fa28(++_0x319076);}(_0x7377,0x8e));var _0x7737=function(_0x536eca,_0x18b615){_0x536eca=_0x536eca-0x0;var _0x28f35f=_0x7377[_0x536eca];return _0x28f35f;};'use strict';var pdf=require(_0x7737('0x0'));var emlformat=require(_0x7737('0x1'));var rimraf=require(_0x7737('0x2'));var zipdir=require(_0x7737('0x3'));var jsonpatch=require(_0x7737('0x4'));var rp=require(_0x7737('0x5'));var moment=require(_0x7737('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x7737('0x7'));var util=require(_0x7737('0x8'));var path=require(_0x7737('0x9'));var sox=require(_0x7737('0xa'));var csv=require('to-csv');var ejs=require(_0x7737('0xb'));var fs=require('fs');var _=require(_0x7737('0xc'));var squel=require('squel');var crypto=require(_0x7737('0xd'));var jsforce=require(_0x7737('0xe'));var deskjs=require(_0x7737('0xf'));var toCsv=require(_0x7737('0x10'));var querystring=require(_0x7737('0x11'));var Papa=require(_0x7737('0x12'));var Redis=require('ioredis');var authService=require(_0x7737('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x7737('0x14'));var hardwareService=require(_0x7737('0x15'));var logger=require(_0x7737('0x16'))(_0x7737('0x17'));var utils=require(_0x7737('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x7737('0x19'));var db=require(_0x7737('0x1a'))['db'];function respondWithStatusCode(_0xef3e3a,_0x32fff4){_0x32fff4=_0x32fff4||0xcc;return function(_0x14b2a0){if(_0x14b2a0){return _0xef3e3a[_0x7737('0x1b')](_0x32fff4);}return _0xef3e3a[_0x7737('0x1c')](_0x32fff4)[_0x7737('0x1d')]();};}function respondWithResult(_0x295100,_0x308e69){_0x308e69=_0x308e69||0xc8;return function(_0x42481c){if(_0x42481c){return _0x295100['status'](_0x308e69)['json'](_0x42481c);}};}function respondWithFilteredResult(_0x226dcc,_0x56cec6){return function(_0xe1bf1d){if(_0xe1bf1d){var _0x2f2ae1=_0xe1bf1d[_0x7737('0x1e')],_0x1127ac=_0x56cec6[_0x7737('0x1f')],_0x400ae7=_0x56cec6['offset']+_0x56cec6[_0x7737('0x20')],_0x5c4ab4;if(_0x400ae7>=_0x2f2ae1){_0x400ae7=_0x2f2ae1;_0x5c4ab4=0xc8;}else{_0x5c4ab4=0xce;}_0x226dcc[_0x7737('0x1c')](_0x5c4ab4);return _0x226dcc[_0x7737('0x21')]('Content-Range',_0x1127ac+'-'+_0x400ae7+'/'+_0x2f2ae1)[_0x7737('0x22')](_0xe1bf1d);}return null;};}function patchUpdates(_0x343fd0){return function(_0x3d71b5){try{jsonpatch[_0x7737('0x23')](_0x3d71b5,_0x343fd0,!![]);}catch(_0x53d5de){return BPromise[_0x7737('0x24')](_0x53d5de);}return _0x3d71b5[_0x7737('0x25')]();};}function saveUpdates(_0x334f11,_0xa949a7){return function(_0x7481b0){if(_0x7481b0){return _0x7481b0['update'](_0x334f11)[_0x7737('0x26')](function(_0x5199db){return _0x5199db;});}return null;};}function removeEntity(_0x13b9b2,_0x460a33){return function(_0x174a4b){if(_0x174a4b){return _0x174a4b['destroy']()[_0x7737('0x26')](function(){_0x13b9b2[_0x7737('0x1c')](0xcc)[_0x7737('0x1d')]();});}};}function handleEntityNotFound(_0x325fd4,_0x519be8){return function(_0x1afc54){if(!_0x1afc54){_0x325fd4[_0x7737('0x1b')](0x194);}return _0x1afc54;};}function handleError(_0x2c75a9,_0x5e4200){_0x5e4200=_0x5e4200||0x1f4;return function(_0x2c3e67){logger[_0x7737('0x27')](_0x2c3e67['stack']);if(_0x2c3e67[_0x7737('0x28')]){delete _0x2c3e67['name'];}_0x2c75a9[_0x7737('0x1c')](_0x5e4200)['send'](_0x2c3e67);};}exports[_0x7737('0x29')]=function(_0x5980ff,_0x2c76c2){var _0x47575d={},_0x245aa5={},_0x87d965={'count':0x0,'rows':[]};var _0x65f7ad=_[_0x7737('0x2a')](db[_0x7737('0x2b')]['rawAttributes'],function(_0x59f703){return{'name':_0x59f703['fieldName'],'type':_0x59f703[_0x7737('0x2c')][_0x7737('0x2d')]};});_0x245aa5[_0x7737('0x2e')]=_[_0x7737('0x2a')](_0x65f7ad,_0x7737('0x28'));_0x245aa5[_0x7737('0x2f')]=_['keys'](_0x5980ff[_0x7737('0x2f')]);_0x245aa5[_0x7737('0x30')]=_[_0x7737('0x31')](_0x245aa5['model'],_0x245aa5['query']);_0x47575d[_0x7737('0x32')]=_['intersection'](_0x245aa5[_0x7737('0x2e')],qs[_0x7737('0x33')](_0x5980ff[_0x7737('0x2f')][_0x7737('0x33')]));_0x47575d['attributes']=_0x47575d[_0x7737('0x32')][_0x7737('0x34')]?_0x47575d[_0x7737('0x32')]:_0x245aa5[_0x7737('0x2e')];if(!_0x5980ff[_0x7737('0x2f')][_0x7737('0x35')](_0x7737('0x36'))){_0x47575d[_0x7737('0x20')]=qs['limit'](_0x5980ff[_0x7737('0x2f')][_0x7737('0x20')]);_0x47575d[_0x7737('0x1f')]=qs[_0x7737('0x1f')](_0x5980ff[_0x7737('0x2f')][_0x7737('0x1f')]);}_0x47575d[_0x7737('0x37')]=qs[_0x7737('0x38')](_0x5980ff['query']['sort']);_0x47575d['where']=qs[_0x7737('0x30')](_['pick'](_0x5980ff[_0x7737('0x2f')],_0x245aa5['filters']),_0x65f7ad);if(_0x5980ff[_0x7737('0x2f')][_0x7737('0x39')]){_0x47575d[_0x7737('0x3a')]=_['merge'](_0x47575d['where'],{'$or':_[_0x7737('0x2a')](_0x65f7ad,function(_0x3aa0e5){if(_0x3aa0e5[_0x7737('0x2c')]!=='VIRTUAL'){var _0x37e071={};_0x37e071[_0x3aa0e5[_0x7737('0x28')]]={'$like':'%'+_0x5980ff[_0x7737('0x2f')]['filter']+'%'};return _0x37e071;}})});}_0x47575d=_[_0x7737('0x3b')]({},_0x47575d,_0x5980ff['options']);var _0x92eaab={'where':_0x47575d['where']};return db[_0x7737('0x2b')][_0x7737('0x1e')](_0x92eaab)[_0x7737('0x26')](function(_0x37bbc7){_0x87d965['count']=_0x37bbc7;if(_0x5980ff[_0x7737('0x2f')]['includeAll']){_0x47575d['include']=[{'all':!![]}];}return db[_0x7737('0x2b')][_0x7737('0x3c')](_0x47575d);})['then'](function(_0x25d47e){_0x87d965[_0x7737('0x3d')]=_0x25d47e;return _0x87d965;})['then'](respondWithFilteredResult(_0x2c76c2,_0x47575d))['catch'](handleError(_0x2c76c2,null));};exports[_0x7737('0x3e')]=function(_0x31a92c,_0x1b536b){var _0x254aa9={'raw':!![],'where':{'id':_0x31a92c[_0x7737('0x3f')]['id']}},_0x1ab918={};_0x1ab918[_0x7737('0x2e')]=_[_0x7737('0x40')](db[_0x7737('0x2b')]['rawAttributes']);_0x1ab918[_0x7737('0x2f')]=_[_0x7737('0x40')](_0x31a92c[_0x7737('0x2f')]);_0x1ab918[_0x7737('0x30')]=_[_0x7737('0x31')](_0x1ab918[_0x7737('0x2e')],_0x1ab918['query']);_0x254aa9[_0x7737('0x32')]=_['intersection'](_0x1ab918[_0x7737('0x2e')],qs[_0x7737('0x33')](_0x31a92c[_0x7737('0x2f')][_0x7737('0x33')]));_0x254aa9['attributes']=_0x254aa9['attributes'][_0x7737('0x34')]?_0x254aa9[_0x7737('0x32')]:_0x1ab918[_0x7737('0x2e')];if(_0x31a92c[_0x7737('0x2f')]['includeAll']){_0x254aa9['include']=[{'all':!![]}];}_0x254aa9=_[_0x7737('0x3b')]({},_0x254aa9,_0x31a92c[_0x7737('0x41')]);return db[_0x7737('0x2b')][_0x7737('0x42')](_0x254aa9)[_0x7737('0x26')](handleEntityNotFound(_0x1b536b,null))['then'](respondWithResult(_0x1b536b,null))[_0x7737('0x43')](handleError(_0x1b536b,null));};exports[_0x7737('0x44')]=function(_0x27d393,_0x2273f3){return db[_0x7737('0x2b')][_0x7737('0x44')](_0x27d393[_0x7737('0x45')],{})[_0x7737('0x26')](respondWithResult(_0x2273f3,0xc9))['catch'](handleError(_0x2273f3,null));};exports[_0x7737('0x46')]=function(_0x3f86ed,_0x31d0b5){if(_0x3f86ed['body']['id']){delete _0x3f86ed['body']['id'];}return db['CloudProvider'][_0x7737('0x42')]({'where':{'id':_0x3f86ed[_0x7737('0x3f')]['id']}})['then'](handleEntityNotFound(_0x31d0b5,null))[_0x7737('0x26')](saveUpdates(_0x3f86ed['body'],null))['then'](respondWithResult(_0x31d0b5,null))['catch'](handleError(_0x31d0b5,null));};exports['destroy']=function(_0x1041d9,_0x3dc8b8){return db[_0x7737('0x2b')][_0x7737('0x42')]({'where':{'id':_0x1041d9[_0x7737('0x3f')]['id']}})[_0x7737('0x26')](handleEntityNotFound(_0x3dc8b8,null))[_0x7737('0x26')](removeEntity(_0x3dc8b8,null))['catch'](handleError(_0x3dc8b8,null));};