Built motion from commit (unavailable).|2.5.4
[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 _0xef83=['error','stack','name','send','index','map','CloudProvider','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','findAll','rows','catch','show','params','keys','includeAll','find','create','body','update','eml-format','rimraf','fast-json-patch','moment','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','sendStatus','status','end','json','offset','set','Content-Range','reject','save','then','destroy'];(function(_0x2caadd,_0x4d26b4){var _0x509c79=function(_0x50bb80){while(--_0x50bb80){_0x2caadd['push'](_0x2caadd['shift']());}};_0x509c79(++_0x4d26b4);}(_0xef83,0x150));var _0x3ef8=function(_0x1829c6,_0x4d98fd){_0x1829c6=_0x1829c6-0x0;var _0x19a7a0=_0xef83[_0x1829c6];return _0x19a7a0;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3ef8('0x0'));var rimraf=require(_0x3ef8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x3ef8('0x2'));var rp=require('request-promise');var moment=require(_0x3ef8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x3ef8('0x4'));var util=require('util');var path=require(_0x3ef8('0x5'));var sox=require(_0x3ef8('0x6'));var csv=require('to-csv');var ejs=require(_0x3ef8('0x7'));var fs=require('fs');var _=require(_0x3ef8('0x8'));var squel=require(_0x3ef8('0x9'));var crypto=require(_0x3ef8('0xa'));var jsforce=require(_0x3ef8('0xb'));var deskjs=require(_0x3ef8('0xc'));var toCsv=require(_0x3ef8('0xd'));var querystring=require(_0x3ef8('0xe'));var Papa=require(_0x3ef8('0xf'));var Redis=require(_0x3ef8('0x10'));var authService=require(_0x3ef8('0x11'));var qs=require(_0x3ef8('0x12'));var as=require(_0x3ef8('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x3ef8('0x14'))(_0x3ef8('0x15'));var utils=require(_0x3ef8('0x16'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xf4ab6f,_0x130378){_0x130378=_0x130378||0xcc;return function(_0x593d78){if(_0x593d78){return _0xf4ab6f[_0x3ef8('0x17')](_0x130378);}return _0xf4ab6f[_0x3ef8('0x18')](_0x130378)[_0x3ef8('0x19')]();};}function respondWithResult(_0x3346bf,_0x5d914){_0x5d914=_0x5d914||0xc8;return function(_0xa4438f){if(_0xa4438f){return _0x3346bf[_0x3ef8('0x18')](_0x5d914)[_0x3ef8('0x1a')](_0xa4438f);}};}function respondWithFilteredResult(_0x4cd285,_0x529d91){return function(_0x3e9c3b){if(_0x3e9c3b){var _0x146df0=_0x3e9c3b['count'],_0x1af001=_0x529d91[_0x3ef8('0x1b')],_0x5e653c=_0x529d91[_0x3ef8('0x1b')]+_0x529d91['limit'],_0x286388;if(_0x5e653c>=_0x146df0){_0x5e653c=_0x146df0;_0x286388=0xc8;}else{_0x286388=0xce;}_0x4cd285[_0x3ef8('0x18')](_0x286388);return _0x4cd285[_0x3ef8('0x1c')](_0x3ef8('0x1d'),_0x1af001+'-'+_0x5e653c+'/'+_0x146df0)['json'](_0x3e9c3b);}return null;};}function patchUpdates(_0x16799f){return function(_0x468e20){try{jsonpatch['apply'](_0x468e20,_0x16799f,!![]);}catch(_0x5f428a){return BPromise[_0x3ef8('0x1e')](_0x5f428a);}return _0x468e20[_0x3ef8('0x1f')]();};}function saveUpdates(_0x4b6f1d,_0x33280d){return function(_0x2e7d44){if(_0x2e7d44){return _0x2e7d44['update'](_0x4b6f1d)[_0x3ef8('0x20')](function(_0x1f938f){return _0x1f938f;});}return null;};}function removeEntity(_0x13fa92,_0x5f7770){return function(_0x339a75){if(_0x339a75){return _0x339a75[_0x3ef8('0x21')]()['then'](function(){_0x13fa92['status'](0xcc)[_0x3ef8('0x19')]();});}};}function handleEntityNotFound(_0x165a03,_0x5b9dbf){return function(_0xbaf9d4){if(!_0xbaf9d4){_0x165a03[_0x3ef8('0x17')](0x194);}return _0xbaf9d4;};}function handleError(_0x31174a,_0x491dff){_0x491dff=_0x491dff||0x1f4;return function(_0x16a984){logger[_0x3ef8('0x22')](_0x16a984[_0x3ef8('0x23')]);if(_0x16a984['name']){delete _0x16a984[_0x3ef8('0x24')];}_0x31174a[_0x3ef8('0x18')](_0x491dff)[_0x3ef8('0x25')](_0x16a984);};}exports[_0x3ef8('0x26')]=function(_0x811080,_0x511e89){var _0x28d348={},_0x2313d0={},_0xf3b3f5={'count':0x0,'rows':[]};var _0x33b255=_[_0x3ef8('0x27')](db[_0x3ef8('0x28')][_0x3ef8('0x29')],function(_0x24f483){return{'name':_0x24f483[_0x3ef8('0x2a')],'type':_0x24f483[_0x3ef8('0x2b')][_0x3ef8('0x2c')]};});_0x2313d0['model']=_[_0x3ef8('0x27')](_0x33b255,_0x3ef8('0x24'));_0x2313d0[_0x3ef8('0x2d')]=_['keys'](_0x811080['query']);_0x2313d0[_0x3ef8('0x2e')]=_[_0x3ef8('0x2f')](_0x2313d0[_0x3ef8('0x30')],_0x2313d0[_0x3ef8('0x2d')]);_0x28d348['attributes']=_[_0x3ef8('0x2f')](_0x2313d0['model'],qs['fields'](_0x811080[_0x3ef8('0x2d')]['fields']));_0x28d348[_0x3ef8('0x31')]=_0x28d348[_0x3ef8('0x31')][_0x3ef8('0x32')]?_0x28d348[_0x3ef8('0x31')]:_0x2313d0[_0x3ef8('0x30')];if(!_0x811080[_0x3ef8('0x2d')][_0x3ef8('0x33')]('nolimit')){_0x28d348[_0x3ef8('0x34')]=qs[_0x3ef8('0x34')](_0x811080[_0x3ef8('0x2d')][_0x3ef8('0x34')]);_0x28d348['offset']=qs[_0x3ef8('0x1b')](_0x811080[_0x3ef8('0x2d')][_0x3ef8('0x1b')]);}_0x28d348[_0x3ef8('0x35')]=qs[_0x3ef8('0x36')](_0x811080['query'][_0x3ef8('0x36')]);_0x28d348[_0x3ef8('0x37')]=qs['filters'](_[_0x3ef8('0x38')](_0x811080[_0x3ef8('0x2d')],_0x2313d0['filters']),_0x33b255);if(_0x811080['query'][_0x3ef8('0x39')]){_0x28d348[_0x3ef8('0x37')]=_[_0x3ef8('0x3a')](_0x28d348[_0x3ef8('0x37')],{'$or':_[_0x3ef8('0x27')](_0x33b255,function(_0x42dc9d){if(_0x42dc9d[_0x3ef8('0x2b')]!==_0x3ef8('0x3b')){var _0x2d2ffd={};_0x2d2ffd[_0x42dc9d[_0x3ef8('0x24')]]={'$like':'%'+_0x811080['query'][_0x3ef8('0x39')]+'%'};return _0x2d2ffd;}})});}_0x28d348=_['merge']({},_0x28d348,_0x811080[_0x3ef8('0x3c')]);var _0x54cfd0={'where':_0x28d348[_0x3ef8('0x37')]};return db[_0x3ef8('0x28')][_0x3ef8('0x3d')](_0x54cfd0)[_0x3ef8('0x20')](function(_0xd36ee0){_0xf3b3f5[_0x3ef8('0x3d')]=_0xd36ee0;if(_0x811080[_0x3ef8('0x2d')]['includeAll']){_0x28d348[_0x3ef8('0x3e')]=[{'all':!![]}];}return db[_0x3ef8('0x28')][_0x3ef8('0x3f')](_0x28d348);})['then'](function(_0x2f5117){_0xf3b3f5[_0x3ef8('0x40')]=_0x2f5117;return _0xf3b3f5;})['then'](respondWithFilteredResult(_0x511e89,_0x28d348))[_0x3ef8('0x41')](handleError(_0x511e89,null));};exports[_0x3ef8('0x42')]=function(_0x5220af,_0x697f83){var _0x350721={'raw':!![],'where':{'id':_0x5220af[_0x3ef8('0x43')]['id']}},_0x293aa4={};_0x293aa4[_0x3ef8('0x30')]=_[_0x3ef8('0x44')](db[_0x3ef8('0x28')][_0x3ef8('0x29')]);_0x293aa4[_0x3ef8('0x2d')]=_[_0x3ef8('0x44')](_0x5220af[_0x3ef8('0x2d')]);_0x293aa4[_0x3ef8('0x2e')]=_[_0x3ef8('0x2f')](_0x293aa4[_0x3ef8('0x30')],_0x293aa4[_0x3ef8('0x2d')]);_0x350721[_0x3ef8('0x31')]=_[_0x3ef8('0x2f')](_0x293aa4['model'],qs['fields'](_0x5220af[_0x3ef8('0x2d')]['fields']));_0x350721[_0x3ef8('0x31')]=_0x350721[_0x3ef8('0x31')][_0x3ef8('0x32')]?_0x350721[_0x3ef8('0x31')]:_0x293aa4['model'];if(_0x5220af[_0x3ef8('0x2d')][_0x3ef8('0x45')]){_0x350721[_0x3ef8('0x3e')]=[{'all':!![]}];}_0x350721=_[_0x3ef8('0x3a')]({},_0x350721,_0x5220af[_0x3ef8('0x3c')]);return db[_0x3ef8('0x28')][_0x3ef8('0x46')](_0x350721)[_0x3ef8('0x20')](handleEntityNotFound(_0x697f83,null))['then'](respondWithResult(_0x697f83,null))[_0x3ef8('0x41')](handleError(_0x697f83,null));};exports[_0x3ef8('0x47')]=function(_0x4b6e66,_0x219eea){return db[_0x3ef8('0x28')]['create'](_0x4b6e66[_0x3ef8('0x48')],{})[_0x3ef8('0x20')](respondWithResult(_0x219eea,0xc9))[_0x3ef8('0x41')](handleError(_0x219eea,null));};exports[_0x3ef8('0x49')]=function(_0x3c8efb,_0x13389f){if(_0x3c8efb['body']['id']){delete _0x3c8efb[_0x3ef8('0x48')]['id'];}return db[_0x3ef8('0x28')][_0x3ef8('0x46')]({'where':{'id':_0x3c8efb[_0x3ef8('0x43')]['id']}})['then'](handleEntityNotFound(_0x13389f,null))[_0x3ef8('0x20')](saveUpdates(_0x3c8efb[_0x3ef8('0x48')],null))[_0x3ef8('0x20')](respondWithResult(_0x13389f,null))['catch'](handleError(_0x13389f,null));};exports[_0x3ef8('0x21')]=function(_0x545b31,_0x5a4466){return db[_0x3ef8('0x28')][_0x3ef8('0x46')]({'where':{'id':_0x545b31[_0x3ef8('0x43')]['id']}})['then'](handleEntityNotFound(_0x5a4466,null))['then'](removeEntity(_0x5a4466,null))[_0x3ef8('0x41')](handleError(_0x5a4466,null));};