d03f7c75bb93214a0ff20f639e434f41a6230ba3
[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 _0xfe8e=['keys','filters','intersection','model','attributes','fields','length','order','pick','where','type','VIRTUAL','filter','include','findAll','rows','catch','show','options','create','find','params','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','undefined','limit','set','Content-Range','apply','save','update','destroy','then','error','stack','name','send','render','merge','body','contact','message','index','map','CloudProvider','rawAttributes','fieldName','key','query'];(function(_0x44c700,_0x33b366){var _0x16fab0=function(_0x1be720){while(--_0x1be720){_0x44c700['push'](_0x44c700['shift']());}};_0x16fab0(++_0x33b366);}(_0xfe8e,0x1a1));var _0xefe8=function(_0x1667df,_0x266940){_0x1667df=_0x1667df-0x0;var _0x341abf=_0xfe8e[_0x1667df];return _0x341abf;};'use strict';var emlformat=require(_0xefe8('0x0'));var rimraf=require(_0xefe8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xefe8('0x2'));var rp=require(_0xefe8('0x3'));var moment=require(_0xefe8('0x4'));var BPromise=require(_0xefe8('0x5'));var Mustache=require(_0xefe8('0x6'));var util=require(_0xefe8('0x7'));var path=require(_0xefe8('0x8'));var sox=require(_0xefe8('0x9'));var csv=require('to-csv');var ejs=require(_0xefe8('0xa'));var fs=require('fs');var fs_extra=require(_0xefe8('0xb'));var _=require(_0xefe8('0xc'));var squel=require('squel');var crypto=require(_0xefe8('0xd'));var jsforce=require(_0xefe8('0xe'));var deskjs=require(_0xefe8('0xf'));var toCsv=require('to-csv');var querystring=require(_0xefe8('0x10'));var Papa=require(_0xefe8('0x11'));var Redis=require(_0xefe8('0x12'));var authService=require(_0xefe8('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0xefe8('0x14'));var hardwareService=require(_0xefe8('0x15'));var logger=require(_0xefe8('0x16'))(_0xefe8('0x17'));var utils=require(_0xefe8('0x18'));var config=require(_0xefe8('0x19'));var licenseUtil=require(_0xefe8('0x1a'));var db=require(_0xefe8('0x1b'))['db'];function respondWithStatusCode(_0xfaea6d,_0x372419){_0x372419=_0x372419||0xcc;return function(_0x4df7b2){if(_0x4df7b2){return _0xfaea6d[_0xefe8('0x1c')](_0x372419);}return _0xfaea6d[_0xefe8('0x1d')](_0x372419)[_0xefe8('0x1e')]();};}function respondWithResult(_0x590d65,_0x14c23d){_0x14c23d=_0x14c23d||0xc8;return function(_0x26fc1d){if(_0x26fc1d){return _0x590d65[_0xefe8('0x1d')](_0x14c23d)['json'](_0x26fc1d);}};}function respondWithFilteredResult(_0xd65ccb,_0x3a54e9){return function(_0x5ecf79){if(_0x5ecf79){var _0x495442=typeof _0x3a54e9[_0xefe8('0x1f')]===_0xefe8('0x20')&&typeof _0x3a54e9[_0xefe8('0x21')]==='undefined';var _0x190801=_0x5ecf79['count'];var _0x1c0f28=_0x495442?0x0:_0x3a54e9['offset'];var _0x5198f4=_0x495442?_0x5ecf79['count']:_0x3a54e9[_0xefe8('0x1f')]+_0x3a54e9[_0xefe8('0x21')];var _0x296ec6;if(_0x5198f4>=_0x190801){_0x5198f4=_0x190801;_0x296ec6=0xc8;}else{_0x296ec6=0xce;}_0xd65ccb[_0xefe8('0x1d')](_0x296ec6);return _0xd65ccb[_0xefe8('0x22')](_0xefe8('0x23'),_0x1c0f28+'-'+_0x5198f4+'/'+_0x190801)['json'](_0x5ecf79);}return null;};}function patchUpdates(_0x5b5312){return function(_0x25ff37){try{jsonpatch[_0xefe8('0x24')](_0x25ff37,_0x5b5312,!![]);}catch(_0x182c94){return BPromise['reject'](_0x182c94);}return _0x25ff37[_0xefe8('0x25')]();};}function saveUpdates(_0x2141a1,_0x46a50e){return function(_0x21acd3){if(_0x21acd3){return _0x21acd3[_0xefe8('0x26')](_0x2141a1)['then'](function(_0x1ae684){return _0x1ae684;});}return null;};}function removeEntity(_0x10d176,_0x369748){return function(_0x2b244a){if(_0x2b244a){return _0x2b244a[_0xefe8('0x27')]()[_0xefe8('0x28')](function(){_0x10d176[_0xefe8('0x1d')](0xcc)[_0xefe8('0x1e')]();});}};}function handleEntityNotFound(_0x235017,_0x64b13b){return function(_0x5e50c9){if(!_0x5e50c9){_0x235017[_0xefe8('0x1c')](0x194);}return _0x5e50c9;};}function handleError(_0x4118e1,_0x53677a){_0x53677a=_0x53677a||0x1f4;return function(_0x4b6f8c){logger[_0xefe8('0x29')](_0x4b6f8c[_0xefe8('0x2a')]);if(_0x4b6f8c[_0xefe8('0x2b')]){delete _0x4b6f8c['name'];}_0x4118e1[_0xefe8('0x1d')](_0x53677a)[_0xefe8('0x2c')](_0x4b6f8c);};}function getMustacheRender(_0x5af737,_0x246759){return Mustache[_0xefe8('0x2d')](_0x5af737,_[_0xefe8('0x2e')](_0x246759[_0xefe8('0x2f')],{'contact':_0x246759[_0xefe8('0x30')],'message':_0x246759[_0xefe8('0x31')],'agent':_0x246759['agent'],'interaction':_0x246759['interaction'],'account':_0x246759['account']}))||'';}exports[_0xefe8('0x32')]=function(_0x3a679d,_0x589cb9){var _0x1db931={},_0x33e533={},_0x132723={'count':0x0,'rows':[]};var _0x1561aa=_[_0xefe8('0x33')](db[_0xefe8('0x34')][_0xefe8('0x35')],function(_0x8c1b6a){return{'name':_0x8c1b6a[_0xefe8('0x36')],'type':_0x8c1b6a['type'][_0xefe8('0x37')]};});_0x33e533['model']=_['map'](_0x1561aa,_0xefe8('0x2b'));_0x33e533[_0xefe8('0x38')]=_[_0xefe8('0x39')](_0x3a679d[_0xefe8('0x38')]);_0x33e533[_0xefe8('0x3a')]=_[_0xefe8('0x3b')](_0x33e533[_0xefe8('0x3c')],_0x33e533[_0xefe8('0x38')]);_0x1db931[_0xefe8('0x3d')]=_[_0xefe8('0x3b')](_0x33e533[_0xefe8('0x3c')],qs['fields'](_0x3a679d[_0xefe8('0x38')][_0xefe8('0x3e')]));_0x1db931[_0xefe8('0x3d')]=_0x1db931['attributes'][_0xefe8('0x3f')]?_0x1db931[_0xefe8('0x3d')]:_0x33e533[_0xefe8('0x3c')];if(!_0x3a679d[_0xefe8('0x38')]['hasOwnProperty']('nolimit')){_0x1db931[_0xefe8('0x21')]=qs[_0xefe8('0x21')](_0x3a679d[_0xefe8('0x38')][_0xefe8('0x21')]);_0x1db931[_0xefe8('0x1f')]=qs['offset'](_0x3a679d[_0xefe8('0x38')][_0xefe8('0x1f')]);}_0x1db931[_0xefe8('0x40')]=qs['sort'](_0x3a679d[_0xefe8('0x38')]['sort']);_0x1db931['where']=qs[_0xefe8('0x3a')](_[_0xefe8('0x41')](_0x3a679d[_0xefe8('0x38')],_0x33e533['filters']),_0x1561aa);if(_0x3a679d['query']['filter']){_0x1db931[_0xefe8('0x42')]=_[_0xefe8('0x2e')](_0x1db931[_0xefe8('0x42')],{'$or':_['map'](_0x1561aa,function(_0x3ae615){if(_0x3ae615[_0xefe8('0x43')]!==_0xefe8('0x44')){var _0x342af7={};_0x342af7[_0x3ae615[_0xefe8('0x2b')]]={'$like':'%'+_0x3a679d[_0xefe8('0x38')][_0xefe8('0x45')]+'%'};return _0x342af7;}})});}_0x1db931=_['merge']({},_0x1db931,_0x3a679d['options']);var _0x3542fc={'where':_0x1db931['where']};return db[_0xefe8('0x34')]['count'](_0x3542fc)[_0xefe8('0x28')](function(_0x1c2a53){_0x132723['count']=_0x1c2a53;if(_0x3a679d['query']['includeAll']){_0x1db931[_0xefe8('0x46')]=[{'all':!![]}];}return db['CloudProvider'][_0xefe8('0x47')](_0x1db931);})[_0xefe8('0x28')](function(_0x31ffe7){_0x132723[_0xefe8('0x48')]=_0x31ffe7;return _0x132723;})[_0xefe8('0x28')](respondWithFilteredResult(_0x589cb9,_0x1db931))[_0xefe8('0x49')](handleError(_0x589cb9,null));};exports[_0xefe8('0x4a')]=function(_0x5130e3,_0x1d99fa){var _0x2c2b8e={'raw':!![],'where':{'id':_0x5130e3['params']['id']}},_0x5921dd={};_0x5921dd[_0xefe8('0x3c')]=_[_0xefe8('0x39')](db['CloudProvider'][_0xefe8('0x35')]);_0x5921dd[_0xefe8('0x38')]=_[_0xefe8('0x39')](_0x5130e3[_0xefe8('0x38')]);_0x5921dd[_0xefe8('0x3a')]=_[_0xefe8('0x3b')](_0x5921dd[_0xefe8('0x3c')],_0x5921dd[_0xefe8('0x38')]);_0x2c2b8e[_0xefe8('0x3d')]=_[_0xefe8('0x3b')](_0x5921dd[_0xefe8('0x3c')],qs[_0xefe8('0x3e')](_0x5130e3[_0xefe8('0x38')][_0xefe8('0x3e')]));_0x2c2b8e['attributes']=_0x2c2b8e[_0xefe8('0x3d')]['length']?_0x2c2b8e[_0xefe8('0x3d')]:_0x5921dd[_0xefe8('0x3c')];if(_0x5130e3[_0xefe8('0x38')]['includeAll']){_0x2c2b8e[_0xefe8('0x46')]=[{'all':!![]}];}_0x2c2b8e=_[_0xefe8('0x2e')]({},_0x2c2b8e,_0x5130e3[_0xefe8('0x4b')]);return db[_0xefe8('0x34')]['find'](_0x2c2b8e)[_0xefe8('0x28')](handleEntityNotFound(_0x1d99fa,null))[_0xefe8('0x28')](respondWithResult(_0x1d99fa,null))['catch'](handleError(_0x1d99fa,null));};exports[_0xefe8('0x4c')]=function(_0x28ab17,_0xf9eefc){return db[_0xefe8('0x34')]['create'](_0x28ab17['body'],{})[_0xefe8('0x28')](respondWithResult(_0xf9eefc,0xc9))[_0xefe8('0x49')](handleError(_0xf9eefc,null));};exports[_0xefe8('0x26')]=function(_0x4a2c23,_0x44d43c){if(_0x4a2c23[_0xefe8('0x2f')]['id']){delete _0x4a2c23[_0xefe8('0x2f')]['id'];}return db[_0xefe8('0x34')]['find']({'where':{'id':_0x4a2c23['params']['id']}})[_0xefe8('0x28')](handleEntityNotFound(_0x44d43c,null))[_0xefe8('0x28')](saveUpdates(_0x4a2c23['body'],null))[_0xefe8('0x28')](respondWithResult(_0x44d43c,null))[_0xefe8('0x49')](handleError(_0x44d43c,null));};exports[_0xefe8('0x27')]=function(_0x25a81c,_0x16aa95){return db[_0xefe8('0x34')][_0xefe8('0x4d')]({'where':{'id':_0x25a81c[_0xefe8('0x4e')]['id']}})[_0xefe8('0x28')](handleEntityNotFound(_0x16aa95,null))[_0xefe8('0x28')](removeEntity(_0x16aa95,null))[_0xefe8('0x49')](handleError(_0x16aa95,null));};