Built motion from commit (unavailable).|2.5.23
[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 _0x8db3=['save','update','then','name','send','index','map','fieldName','type','key','query','keys','filters','intersection','attributes','fields','length','model','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','CloudProvider','includeAll','include','findAll','catch','show','params','rawAttributes','find','create','body','destroy','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject'];(function(_0x51288f,_0x2589a1){var _0x4fcd87=function(_0x156d7b){while(--_0x156d7b){_0x51288f['push'](_0x51288f['shift']());}};_0x4fcd87(++_0x2589a1);}(_0x8db3,0xfb));var _0x38db=function(_0x9df060,_0x253d33){_0x9df060=_0x9df060-0x0;var _0x338dfe=_0x8db3[_0x9df060];return _0x338dfe;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x38db('0x0'));var rimraf=require(_0x38db('0x1'));var zipdir=require(_0x38db('0x2'));var jsonpatch=require(_0x38db('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x38db('0x4'));var Mustache=require(_0x38db('0x5'));var util=require('util');var path=require(_0x38db('0x6'));var sox=require(_0x38db('0x7'));var csv=require(_0x38db('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x38db('0x9'));var squel=require(_0x38db('0xa'));var crypto=require(_0x38db('0xb'));var jsforce=require(_0x38db('0xc'));var deskjs=require(_0x38db('0xd'));var toCsv=require(_0x38db('0x8'));var querystring=require('querystring');var Papa=require(_0x38db('0xe'));var Redis=require(_0x38db('0xf'));var authService=require(_0x38db('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x38db('0x11'));var hardwareService=require(_0x38db('0x12'));var logger=require(_0x38db('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x38db('0x14'));var licenseUtil=require(_0x38db('0x15'));var db=require(_0x38db('0x16'))['db'];function respondWithStatusCode(_0x131dd7,_0x1b3507){_0x1b3507=_0x1b3507||0xcc;return function(_0x1b1543){if(_0x1b1543){return _0x131dd7[_0x38db('0x17')](_0x1b3507);}return _0x131dd7[_0x38db('0x18')](_0x1b3507)[_0x38db('0x19')]();};}function respondWithResult(_0x331078,_0x429902){_0x429902=_0x429902||0xc8;return function(_0x2bd6c8){if(_0x2bd6c8){return _0x331078['status'](_0x429902)['json'](_0x2bd6c8);}};}function respondWithFilteredResult(_0x29af6f,_0x4c3069){return function(_0x4e7875){if(_0x4e7875){var _0x26edf9=_0x4e7875[_0x38db('0x1a')],_0x8b32bd=_0x4c3069[_0x38db('0x1b')],_0x59b5e2=_0x4c3069[_0x38db('0x1b')]+_0x4c3069[_0x38db('0x1c')],_0x343c62;if(_0x59b5e2>=_0x26edf9){_0x59b5e2=_0x26edf9;_0x343c62=0xc8;}else{_0x343c62=0xce;}_0x29af6f[_0x38db('0x18')](_0x343c62);return _0x29af6f[_0x38db('0x1d')](_0x38db('0x1e'),_0x8b32bd+'-'+_0x59b5e2+'/'+_0x26edf9)[_0x38db('0x1f')](_0x4e7875);}return null;};}function patchUpdates(_0x19c4da){return function(_0x4cd50b){try{jsonpatch['apply'](_0x4cd50b,_0x19c4da,!![]);}catch(_0x63aba7){return BPromise[_0x38db('0x20')](_0x63aba7);}return _0x4cd50b[_0x38db('0x21')]();};}function saveUpdates(_0x507546,_0x5534d4){return function(_0x46fe6d){if(_0x46fe6d){return _0x46fe6d[_0x38db('0x22')](_0x507546)['then'](function(_0x138888){return _0x138888;});}return null;};}function removeEntity(_0x1e579e,_0x57b6f9){return function(_0x2e0e39){if(_0x2e0e39){return _0x2e0e39['destroy']()[_0x38db('0x23')](function(){_0x1e579e[_0x38db('0x18')](0xcc)[_0x38db('0x19')]();});}};}function handleEntityNotFound(_0x13e147,_0x21fa96){return function(_0x2dc4d5){if(!_0x2dc4d5){_0x13e147[_0x38db('0x17')](0x194);}return _0x2dc4d5;};}function handleError(_0x3c1f49,_0x5f4304){_0x5f4304=_0x5f4304||0x1f4;return function(_0xd5751a){logger['error'](_0xd5751a['stack']);if(_0xd5751a[_0x38db('0x24')]){delete _0xd5751a[_0x38db('0x24')];}_0x3c1f49[_0x38db('0x18')](_0x5f4304)[_0x38db('0x25')](_0xd5751a);};}exports[_0x38db('0x26')]=function(_0x536de0,_0x5eedc0){var _0x3f0ba5={},_0x3aaf1e={},_0xac2c6c={'count':0x0,'rows':[]};var _0x38a744=_[_0x38db('0x27')](db['CloudProvider']['rawAttributes'],function(_0x5cf214){return{'name':_0x5cf214[_0x38db('0x28')],'type':_0x5cf214[_0x38db('0x29')][_0x38db('0x2a')]};});_0x3aaf1e['model']=_[_0x38db('0x27')](_0x38a744,_0x38db('0x24'));_0x3aaf1e[_0x38db('0x2b')]=_[_0x38db('0x2c')](_0x536de0['query']);_0x3aaf1e[_0x38db('0x2d')]=_[_0x38db('0x2e')](_0x3aaf1e['model'],_0x3aaf1e[_0x38db('0x2b')]);_0x3f0ba5[_0x38db('0x2f')]=_[_0x38db('0x2e')](_0x3aaf1e['model'],qs[_0x38db('0x30')](_0x536de0[_0x38db('0x2b')]['fields']));_0x3f0ba5[_0x38db('0x2f')]=_0x3f0ba5[_0x38db('0x2f')][_0x38db('0x31')]?_0x3f0ba5['attributes']:_0x3aaf1e[_0x38db('0x32')];if(!_0x536de0[_0x38db('0x2b')]['hasOwnProperty'](_0x38db('0x33'))){_0x3f0ba5[_0x38db('0x1c')]=qs[_0x38db('0x1c')](_0x536de0['query'][_0x38db('0x1c')]);_0x3f0ba5['offset']=qs[_0x38db('0x1b')](_0x536de0[_0x38db('0x2b')][_0x38db('0x1b')]);}_0x3f0ba5[_0x38db('0x34')]=qs[_0x38db('0x35')](_0x536de0[_0x38db('0x2b')][_0x38db('0x35')]);_0x3f0ba5[_0x38db('0x36')]=qs[_0x38db('0x2d')](_[_0x38db('0x37')](_0x536de0[_0x38db('0x2b')],_0x3aaf1e[_0x38db('0x2d')]),_0x38a744);if(_0x536de0[_0x38db('0x2b')][_0x38db('0x38')]){_0x3f0ba5[_0x38db('0x36')]=_['merge'](_0x3f0ba5[_0x38db('0x36')],{'$or':_[_0x38db('0x27')](_0x38a744,function(_0xbf4335){if(_0xbf4335[_0x38db('0x29')]!==_0x38db('0x39')){var _0x15910a={};_0x15910a[_0xbf4335[_0x38db('0x24')]]={'$like':'%'+_0x536de0[_0x38db('0x2b')]['filter']+'%'};return _0x15910a;}})});}_0x3f0ba5=_[_0x38db('0x3a')]({},_0x3f0ba5,_0x536de0['options']);var _0x13605c={'where':_0x3f0ba5[_0x38db('0x36')]};return db[_0x38db('0x3b')][_0x38db('0x1a')](_0x13605c)[_0x38db('0x23')](function(_0x337a39){_0xac2c6c['count']=_0x337a39;if(_0x536de0[_0x38db('0x2b')][_0x38db('0x3c')]){_0x3f0ba5[_0x38db('0x3d')]=[{'all':!![]}];}return db[_0x38db('0x3b')][_0x38db('0x3e')](_0x3f0ba5);})[_0x38db('0x23')](function(_0x344b82){_0xac2c6c['rows']=_0x344b82;return _0xac2c6c;})[_0x38db('0x23')](respondWithFilteredResult(_0x5eedc0,_0x3f0ba5))[_0x38db('0x3f')](handleError(_0x5eedc0,null));};exports[_0x38db('0x40')]=function(_0x569119,_0x4f3765){var _0x585c7b={'raw':!![],'where':{'id':_0x569119[_0x38db('0x41')]['id']}},_0x4c4631={};_0x4c4631[_0x38db('0x32')]=_[_0x38db('0x2c')](db[_0x38db('0x3b')][_0x38db('0x42')]);_0x4c4631[_0x38db('0x2b')]=_[_0x38db('0x2c')](_0x569119['query']);_0x4c4631[_0x38db('0x2d')]=_[_0x38db('0x2e')](_0x4c4631[_0x38db('0x32')],_0x4c4631[_0x38db('0x2b')]);_0x585c7b[_0x38db('0x2f')]=_[_0x38db('0x2e')](_0x4c4631[_0x38db('0x32')],qs[_0x38db('0x30')](_0x569119[_0x38db('0x2b')]['fields']));_0x585c7b[_0x38db('0x2f')]=_0x585c7b[_0x38db('0x2f')]['length']?_0x585c7b[_0x38db('0x2f')]:_0x4c4631[_0x38db('0x32')];if(_0x569119[_0x38db('0x2b')][_0x38db('0x3c')]){_0x585c7b['include']=[{'all':!![]}];}_0x585c7b=_[_0x38db('0x3a')]({},_0x585c7b,_0x569119['options']);return db[_0x38db('0x3b')][_0x38db('0x43')](_0x585c7b)[_0x38db('0x23')](handleEntityNotFound(_0x4f3765,null))[_0x38db('0x23')](respondWithResult(_0x4f3765,null))[_0x38db('0x3f')](handleError(_0x4f3765,null));};exports[_0x38db('0x44')]=function(_0x5ca7d6,_0x6ff854){return db[_0x38db('0x3b')][_0x38db('0x44')](_0x5ca7d6[_0x38db('0x45')],{})['then'](respondWithResult(_0x6ff854,0xc9))[_0x38db('0x3f')](handleError(_0x6ff854,null));};exports['update']=function(_0x49a2fa,_0x52fe79){if(_0x49a2fa[_0x38db('0x45')]['id']){delete _0x49a2fa[_0x38db('0x45')]['id'];}return db[_0x38db('0x3b')][_0x38db('0x43')]({'where':{'id':_0x49a2fa[_0x38db('0x41')]['id']}})['then'](handleEntityNotFound(_0x52fe79,null))[_0x38db('0x23')](saveUpdates(_0x49a2fa[_0x38db('0x45')],null))[_0x38db('0x23')](respondWithResult(_0x52fe79,null))[_0x38db('0x3f')](handleError(_0x52fe79,null));};exports[_0x38db('0x46')]=function(_0x12ea7c,_0x29c8f3){return db[_0x38db('0x3b')][_0x38db('0x43')]({'where':{'id':_0x12ea7c[_0x38db('0x41')]['id']}})['then'](handleEntityNotFound(_0x29c8f3,null))[_0x38db('0x23')](removeEntity(_0x29c8f3,null))[_0x38db('0x3f')](handleError(_0x29c8f3,null));};