Built motion from commit bab6f49e.|2.6.17
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.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 _0xb1e0=['where','options','Dynamics365Field','includeAll','include','findAll','catch','show','params','find','create','update','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','filter','merge'];(function(_0xe73080,_0x24c56d){var _0x12cbc4=function(_0x1377e2){while(--_0x1377e2){_0xe73080['push'](_0xe73080['shift']());}};_0x12cbc4(++_0x24c56d);}(_0xb1e0,0x1f0));var _0x0b1e=function(_0x399a17,_0x32737d){_0x399a17=_0x399a17-0x0;var _0x990dd2=_0xb1e0[_0x399a17];return _0x990dd2;};'use strict';var emlformat=require(_0x0b1e('0x0'));var rimraf=require(_0x0b1e('0x1'));var zipdir=require(_0x0b1e('0x2'));var jsonpatch=require(_0x0b1e('0x3'));var rp=require(_0x0b1e('0x4'));var moment=require(_0x0b1e('0x5'));var BPromise=require(_0x0b1e('0x6'));var Mustache=require(_0x0b1e('0x7'));var util=require(_0x0b1e('0x8'));var path=require(_0x0b1e('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0b1e('0xa'));var _=require(_0x0b1e('0xb'));var squel=require(_0x0b1e('0xc'));var crypto=require(_0x0b1e('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x0b1e('0xe'));var toCsv=require('to-csv');var querystring=require(_0x0b1e('0xf'));var Papa=require(_0x0b1e('0x10'));var Redis=require('ioredis');var authService=require(_0x0b1e('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0b1e('0x12'));var db=require(_0x0b1e('0x13'))['db'];function respondWithStatusCode(_0xf64b0c,_0x4cffe1){_0x4cffe1=_0x4cffe1||0xcc;return function(_0x4d75d5){if(_0x4d75d5){return _0xf64b0c[_0x0b1e('0x14')](_0x4cffe1);}return _0xf64b0c[_0x0b1e('0x15')](_0x4cffe1)[_0x0b1e('0x16')]();};}function respondWithResult(_0x23b277,_0x4daf8a){_0x4daf8a=_0x4daf8a||0xc8;return function(_0x230b4e){if(_0x230b4e){return _0x23b277[_0x0b1e('0x15')](_0x4daf8a)[_0x0b1e('0x17')](_0x230b4e);}};}function respondWithFilteredResult(_0x3cf455,_0x2c08c2){return function(_0x3bba03){if(_0x3bba03){var _0x47e563=typeof _0x2c08c2[_0x0b1e('0x18')]===_0x0b1e('0x19')&&typeof _0x2c08c2[_0x0b1e('0x1a')]==='undefined';var _0x540cde=_0x3bba03[_0x0b1e('0x1b')];var _0x5972e1=_0x47e563?0x0:_0x2c08c2[_0x0b1e('0x18')];var _0x5d6904=_0x47e563?_0x3bba03[_0x0b1e('0x1b')]:_0x2c08c2[_0x0b1e('0x18')]+_0x2c08c2[_0x0b1e('0x1a')];var _0x3a5cb8;if(_0x5d6904>=_0x540cde){_0x5d6904=_0x540cde;_0x3a5cb8=0xc8;}else{_0x3a5cb8=0xce;}_0x3cf455['status'](_0x3a5cb8);return _0x3cf455[_0x0b1e('0x1c')](_0x0b1e('0x1d'),_0x5972e1+'-'+_0x5d6904+'/'+_0x540cde)[_0x0b1e('0x17')](_0x3bba03);}return null;};}function patchUpdates(_0x4039d4){return function(_0x2fa357){try{jsonpatch[_0x0b1e('0x1e')](_0x2fa357,_0x4039d4,!![]);}catch(_0x4ce1b0){return BPromise[_0x0b1e('0x1f')](_0x4ce1b0);}return _0x2fa357[_0x0b1e('0x20')]();};}function saveUpdates(_0x142129,_0xe92d0){return function(_0x134833){if(_0x134833){return _0x134833['update'](_0x142129)[_0x0b1e('0x21')](function(_0x5b686b){return _0x5b686b;});}return null;};}function removeEntity(_0x165091,_0x236c3c){return function(_0x546ed7){if(_0x546ed7){return _0x546ed7['destroy']()['then'](function(){_0x165091[_0x0b1e('0x15')](0xcc)[_0x0b1e('0x16')]();});}};}function handleEntityNotFound(_0x44fdce,_0x29eb60){return function(_0x499318){if(!_0x499318){_0x44fdce[_0x0b1e('0x14')](0x194);}return _0x499318;};}function handleError(_0x86aac2,_0x3a8501){_0x3a8501=_0x3a8501||0x1f4;return function(_0x5c7b3a){logger[_0x0b1e('0x22')](_0x5c7b3a['stack']);if(_0x5c7b3a['name']){delete _0x5c7b3a[_0x0b1e('0x23')];}_0x86aac2[_0x0b1e('0x15')](_0x3a8501)[_0x0b1e('0x24')](_0x5c7b3a);};}exports[_0x0b1e('0x25')]=function(_0x53fb96,_0x17769f){var _0x19b194={},_0xca6333={},_0x4db2c5={'count':0x0,'rows':[]};var _0x1a1083=_[_0x0b1e('0x26')](db['Dynamics365Field'][_0x0b1e('0x27')],function(_0x586d5c){return{'name':_0x586d5c[_0x0b1e('0x28')],'type':_0x586d5c[_0x0b1e('0x29')][_0x0b1e('0x2a')]};});_0xca6333[_0x0b1e('0x2b')]=_[_0x0b1e('0x26')](_0x1a1083,_0x0b1e('0x23'));_0xca6333[_0x0b1e('0x2c')]=_[_0x0b1e('0x2d')](_0x53fb96[_0x0b1e('0x2c')]);_0xca6333[_0x0b1e('0x2e')]=_[_0x0b1e('0x2f')](_0xca6333[_0x0b1e('0x2b')],_0xca6333['query']);_0x19b194[_0x0b1e('0x30')]=_[_0x0b1e('0x2f')](_0xca6333[_0x0b1e('0x2b')],qs[_0x0b1e('0x31')](_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x31')]));_0x19b194[_0x0b1e('0x30')]=_0x19b194['attributes'][_0x0b1e('0x32')]?_0x19b194[_0x0b1e('0x30')]:_0xca6333[_0x0b1e('0x2b')];if(!_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x33')]('nolimit')){_0x19b194[_0x0b1e('0x1a')]=qs[_0x0b1e('0x1a')](_0x53fb96[_0x0b1e('0x2c')]['limit']);_0x19b194[_0x0b1e('0x18')]=qs[_0x0b1e('0x18')](_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x18')]);}_0x19b194[_0x0b1e('0x34')]=qs[_0x0b1e('0x35')](_0x53fb96[_0x0b1e('0x2c')]['sort']);_0x19b194['where']=qs[_0x0b1e('0x2e')](_['pick'](_0x53fb96[_0x0b1e('0x2c')],_0xca6333['filters']),_0x1a1083);if(_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x36')]){_0x19b194['where']=_[_0x0b1e('0x37')](_0x19b194[_0x0b1e('0x38')],{'$or':_[_0x0b1e('0x26')](_0x1a1083,function(_0x43a1ca){if(_0x43a1ca[_0x0b1e('0x29')]!=='VIRTUAL'){var _0x50db52={};_0x50db52[_0x43a1ca[_0x0b1e('0x23')]]={'$like':'%'+_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x36')]+'%'};return _0x50db52;}})});}_0x19b194=_['merge']({},_0x19b194,_0x53fb96[_0x0b1e('0x39')]);var _0x430b4e={'where':_0x19b194['where']};return db[_0x0b1e('0x3a')][_0x0b1e('0x1b')](_0x430b4e)['then'](function(_0x44a05e){_0x4db2c5[_0x0b1e('0x1b')]=_0x44a05e;if(_0x53fb96[_0x0b1e('0x2c')][_0x0b1e('0x3b')]){_0x19b194[_0x0b1e('0x3c')]=[{'all':!![]}];}return db[_0x0b1e('0x3a')][_0x0b1e('0x3d')](_0x19b194);})[_0x0b1e('0x21')](function(_0x24c5d4){_0x4db2c5['rows']=_0x24c5d4;return _0x4db2c5;})[_0x0b1e('0x21')](respondWithFilteredResult(_0x17769f,_0x19b194))[_0x0b1e('0x3e')](handleError(_0x17769f,null));};exports[_0x0b1e('0x3f')]=function(_0x18025f,_0x144b17){var _0x4671ce={'raw':!![],'where':{'id':_0x18025f[_0x0b1e('0x40')]['id']}},_0x29c745={};_0x29c745[_0x0b1e('0x2b')]=_['keys'](db[_0x0b1e('0x3a')][_0x0b1e('0x27')]);_0x29c745[_0x0b1e('0x2c')]=_[_0x0b1e('0x2d')](_0x18025f[_0x0b1e('0x2c')]);_0x29c745[_0x0b1e('0x2e')]=_[_0x0b1e('0x2f')](_0x29c745[_0x0b1e('0x2b')],_0x29c745[_0x0b1e('0x2c')]);_0x4671ce['attributes']=_['intersection'](_0x29c745[_0x0b1e('0x2b')],qs[_0x0b1e('0x31')](_0x18025f[_0x0b1e('0x2c')][_0x0b1e('0x31')]));_0x4671ce[_0x0b1e('0x30')]=_0x4671ce[_0x0b1e('0x30')][_0x0b1e('0x32')]?_0x4671ce['attributes']:_0x29c745['model'];if(_0x18025f[_0x0b1e('0x2c')]['includeAll']){_0x4671ce[_0x0b1e('0x3c')]=[{'all':!![]}];}_0x4671ce=_[_0x0b1e('0x37')]({},_0x4671ce,_0x18025f[_0x0b1e('0x39')]);return db[_0x0b1e('0x3a')][_0x0b1e('0x41')](_0x4671ce)[_0x0b1e('0x21')](handleEntityNotFound(_0x144b17,null))['then'](respondWithResult(_0x144b17,null))[_0x0b1e('0x3e')](handleError(_0x144b17,null));};exports[_0x0b1e('0x42')]=function(_0x501d43,_0x138949){return db[_0x0b1e('0x3a')][_0x0b1e('0x42')](_0x501d43['body'],{})[_0x0b1e('0x21')](respondWithResult(_0x138949,0xc9))[_0x0b1e('0x3e')](handleError(_0x138949,null));};exports[_0x0b1e('0x43')]=function(_0x27d659,_0x35bf07){if(_0x27d659[_0x0b1e('0x44')]['id']){delete _0x27d659[_0x0b1e('0x44')]['id'];}return db[_0x0b1e('0x3a')]['find']({'where':{'id':_0x27d659['params']['id']}})[_0x0b1e('0x21')](handleEntityNotFound(_0x35bf07,null))[_0x0b1e('0x21')](saveUpdates(_0x27d659[_0x0b1e('0x44')],null))[_0x0b1e('0x21')](respondWithResult(_0x35bf07,null))[_0x0b1e('0x3e')](handleError(_0x35bf07,null));};exports['destroy']=function(_0x17da23,_0x1dbb22){return db[_0x0b1e('0x3a')][_0x0b1e('0x41')]({'where':{'id':_0x17da23['params']['id']}})[_0x0b1e('0x21')](handleEntityNotFound(_0x1dbb22,null))[_0x0b1e('0x21')](removeEntity(_0x1dbb22,null))[_0x0b1e('0x3e')](handleError(_0x1dbb22,null));};