22ce4a6e3acef22fadc1d1313166ea65cdd80820
[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 _0x72a8=['body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','CloudProvider','rawAttributes','type','model','map','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','VIRTUAL','filter','options','where','includeAll','rows','catch','show','params','fields','include','merge','find','create'];(function(_0x413feb,_0x10477f){var _0x40ee88=function(_0x32a3f6){while(--_0x32a3f6){_0x413feb['push'](_0x413feb['shift']());}};_0x40ee88(++_0x10477f);}(_0x72a8,0x182));var _0x872a=function(_0x3ab565,_0x93c0c1){_0x3ab565=_0x3ab565-0x0;var _0x3f01a9=_0x72a8[_0x3ab565];return _0x3f01a9;};'use strict';var pdf=require(_0x872a('0x0'));var emlformat=require(_0x872a('0x1'));var rimraf=require(_0x872a('0x2'));var zipdir=require(_0x872a('0x3'));var jsonpatch=require(_0x872a('0x4'));var rp=require(_0x872a('0x5'));var moment=require(_0x872a('0x6'));var BPromise=require(_0x872a('0x7'));var Mustache=require(_0x872a('0x8'));var util=require('util');var path=require(_0x872a('0x9'));var sox=require(_0x872a('0xa'));var csv=require('to-csv');var ejs=require(_0x872a('0xb'));var fs=require('fs');var _=require(_0x872a('0xc'));var squel=require(_0x872a('0xd'));var crypto=require(_0x872a('0xe'));var jsforce=require(_0x872a('0xf'));var deskjs=require(_0x872a('0x10'));var toCsv=require(_0x872a('0x11'));var querystring=require(_0x872a('0x12'));var Papa=require('papaparse');var Redis=require(_0x872a('0x13'));var authService=require(_0x872a('0x14'));var qs=require(_0x872a('0x15'));var as=require(_0x872a('0x16'));var hardwareService=require(_0x872a('0x17'));var logger=require(_0x872a('0x18'))(_0x872a('0x19'));var utils=require(_0x872a('0x1a'));var config=require(_0x872a('0x1b'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x54ec3c,_0x18dedb){_0x18dedb=_0x18dedb||0xcc;return function(_0x4da851){if(_0x4da851){return _0x54ec3c[_0x872a('0x1c')](_0x18dedb);}return _0x54ec3c[_0x872a('0x1d')](_0x18dedb)[_0x872a('0x1e')]();};}function respondWithResult(_0x220fdd,_0x5d51f0){_0x5d51f0=_0x5d51f0||0xc8;return function(_0x1e1f2f){if(_0x1e1f2f){return _0x220fdd[_0x872a('0x1d')](_0x5d51f0)[_0x872a('0x1f')](_0x1e1f2f);}};}function respondWithFilteredResult(_0x18e5b7,_0xb3f3d3){return function(_0x5cd129){if(_0x5cd129){var _0x28f44f=_0x5cd129[_0x872a('0x20')],_0x61c957=_0xb3f3d3[_0x872a('0x21')],_0x444f36=_0xb3f3d3[_0x872a('0x21')]+_0xb3f3d3[_0x872a('0x22')],_0x29f018;if(_0x444f36>=_0x28f44f){_0x444f36=_0x28f44f;_0x29f018=0xc8;}else{_0x29f018=0xce;}_0x18e5b7[_0x872a('0x1d')](_0x29f018);return _0x18e5b7[_0x872a('0x23')](_0x872a('0x24'),_0x61c957+'-'+_0x444f36+'/'+_0x28f44f)['json'](_0x5cd129);}return null;};}function patchUpdates(_0x25bf81){return function(_0x2ff51d){try{jsonpatch[_0x872a('0x25')](_0x2ff51d,_0x25bf81,!![]);}catch(_0x117363){return BPromise['reject'](_0x117363);}return _0x2ff51d[_0x872a('0x26')]();};}function saveUpdates(_0x1f4be5,_0x2c31b6){return function(_0x2a57e0){if(_0x2a57e0){return _0x2a57e0[_0x872a('0x27')](_0x1f4be5)[_0x872a('0x28')](function(_0x40cc2c){return _0x40cc2c;});}return null;};}function removeEntity(_0x51def5,_0x340075){return function(_0x1d9485){if(_0x1d9485){return _0x1d9485[_0x872a('0x29')]()[_0x872a('0x28')](function(){_0x51def5[_0x872a('0x1d')](0xcc)[_0x872a('0x1e')]();});}};}function handleEntityNotFound(_0x1596b7,_0x1c7419){return function(_0x3257a8){if(!_0x3257a8){_0x1596b7[_0x872a('0x1c')](0x194);}return _0x3257a8;};}function handleError(_0x45f6d8,_0x547771){_0x547771=_0x547771||0x1f4;return function(_0x1a2d50){logger[_0x872a('0x2a')](_0x1a2d50[_0x872a('0x2b')]);if(_0x1a2d50[_0x872a('0x2c')]){delete _0x1a2d50[_0x872a('0x2c')];}_0x45f6d8[_0x872a('0x1d')](_0x547771)[_0x872a('0x2d')](_0x1a2d50);};}exports[_0x872a('0x2e')]=function(_0x57eece,_0x27585f){var _0x3df339={},_0x5e0342={},_0x53dda9={'count':0x0,'rows':[]};var _0x28cd4f=_['map'](db[_0x872a('0x2f')][_0x872a('0x30')],function(_0x214f3d){return{'name':_0x214f3d['fieldName'],'type':_0x214f3d[_0x872a('0x31')]['key']};});_0x5e0342[_0x872a('0x32')]=_[_0x872a('0x33')](_0x28cd4f,_0x872a('0x2c'));_0x5e0342[_0x872a('0x34')]=_[_0x872a('0x35')](_0x57eece[_0x872a('0x34')]);_0x5e0342[_0x872a('0x36')]=_[_0x872a('0x37')](_0x5e0342[_0x872a('0x32')],_0x5e0342['query']);_0x3df339['attributes']=_[_0x872a('0x37')](_0x5e0342['model'],qs['fields'](_0x57eece[_0x872a('0x34')]['fields']));_0x3df339[_0x872a('0x38')]=_0x3df339['attributes'][_0x872a('0x39')]?_0x3df339[_0x872a('0x38')]:_0x5e0342[_0x872a('0x32')];if(!_0x57eece[_0x872a('0x34')][_0x872a('0x3a')](_0x872a('0x3b'))){_0x3df339[_0x872a('0x22')]=qs[_0x872a('0x22')](_0x57eece[_0x872a('0x34')]['limit']);_0x3df339[_0x872a('0x21')]=qs[_0x872a('0x21')](_0x57eece[_0x872a('0x34')][_0x872a('0x21')]);}_0x3df339[_0x872a('0x3c')]=qs['sort'](_0x57eece['query'][_0x872a('0x3d')]);_0x3df339['where']=qs[_0x872a('0x36')](_['pick'](_0x57eece[_0x872a('0x34')],_0x5e0342[_0x872a('0x36')]),_0x28cd4f);if(_0x57eece['query']['filter']){_0x3df339['where']=_['merge'](_0x3df339['where'],{'$or':_[_0x872a('0x33')](_0x28cd4f,function(_0x48e82a){if(_0x48e82a[_0x872a('0x31')]!==_0x872a('0x3e')){var _0x59a5a6={};_0x59a5a6[_0x48e82a[_0x872a('0x2c')]]={'$like':'%'+_0x57eece[_0x872a('0x34')][_0x872a('0x3f')]+'%'};return _0x59a5a6;}})});}_0x3df339=_['merge']({},_0x3df339,_0x57eece[_0x872a('0x40')]);var _0xd67280={'where':_0x3df339[_0x872a('0x41')]};return db[_0x872a('0x2f')][_0x872a('0x20')](_0xd67280)['then'](function(_0x40f235){_0x53dda9[_0x872a('0x20')]=_0x40f235;if(_0x57eece[_0x872a('0x34')][_0x872a('0x42')]){_0x3df339['include']=[{'all':!![]}];}return db[_0x872a('0x2f')]['findAll'](_0x3df339);})[_0x872a('0x28')](function(_0x567016){_0x53dda9[_0x872a('0x43')]=_0x567016;return _0x53dda9;})[_0x872a('0x28')](respondWithFilteredResult(_0x27585f,_0x3df339))[_0x872a('0x44')](handleError(_0x27585f,null));};exports[_0x872a('0x45')]=function(_0x5453c1,_0x4c540c){var _0x54f7c6={'raw':!![],'where':{'id':_0x5453c1[_0x872a('0x46')]['id']}},_0x1d2565={};_0x1d2565[_0x872a('0x32')]=_[_0x872a('0x35')](db['CloudProvider'][_0x872a('0x30')]);_0x1d2565[_0x872a('0x34')]=_[_0x872a('0x35')](_0x5453c1[_0x872a('0x34')]);_0x1d2565[_0x872a('0x36')]=_[_0x872a('0x37')](_0x1d2565['model'],_0x1d2565[_0x872a('0x34')]);_0x54f7c6[_0x872a('0x38')]=_[_0x872a('0x37')](_0x1d2565['model'],qs[_0x872a('0x47')](_0x5453c1[_0x872a('0x34')][_0x872a('0x47')]));_0x54f7c6[_0x872a('0x38')]=_0x54f7c6[_0x872a('0x38')][_0x872a('0x39')]?_0x54f7c6['attributes']:_0x1d2565[_0x872a('0x32')];if(_0x5453c1[_0x872a('0x34')][_0x872a('0x42')]){_0x54f7c6[_0x872a('0x48')]=[{'all':!![]}];}_0x54f7c6=_[_0x872a('0x49')]({},_0x54f7c6,_0x5453c1['options']);return db[_0x872a('0x2f')][_0x872a('0x4a')](_0x54f7c6)['then'](handleEntityNotFound(_0x4c540c,null))['then'](respondWithResult(_0x4c540c,null))[_0x872a('0x44')](handleError(_0x4c540c,null));};exports[_0x872a('0x4b')]=function(_0x266686,_0x2d0f2){return db['CloudProvider'][_0x872a('0x4b')](_0x266686[_0x872a('0x4c')],{})[_0x872a('0x28')](respondWithResult(_0x2d0f2,0xc9))[_0x872a('0x44')](handleError(_0x2d0f2,null));};exports[_0x872a('0x27')]=function(_0x29d09e,_0x2953c1){if(_0x29d09e['body']['id']){delete _0x29d09e[_0x872a('0x4c')]['id'];}return db[_0x872a('0x2f')][_0x872a('0x4a')]({'where':{'id':_0x29d09e['params']['id']}})[_0x872a('0x28')](handleEntityNotFound(_0x2953c1,null))[_0x872a('0x28')](saveUpdates(_0x29d09e['body'],null))[_0x872a('0x28')](respondWithResult(_0x2953c1,null))['catch'](handleError(_0x2953c1,null));};exports[_0x872a('0x29')]=function(_0x529e36,_0x39ea34){return db['CloudProvider'][_0x872a('0x4a')]({'where':{'id':_0x529e36[_0x872a('0x46')]['id']}})[_0x872a('0x28')](handleEntityNotFound(_0x39ea34,null))[_0x872a('0x28')](removeEntity(_0x39ea34,null))['catch'](handleError(_0x39ea34,null));};