7a87bb9467db50862b702150a93ea3a3f098f23c
[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 _0x3ce7=['rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','order','sort','where','options','includeAll','include','findAll','rows','catch','fields','merge','find','create','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','destroy','end','sendStatus','stack','name','send','index','map','Dynamics365Field'];(function(_0x91d019,_0x5223c4){var _0x19de1f=function(_0x3e1311){while(--_0x3e1311){_0x91d019['push'](_0x91d019['shift']());}};_0x19de1f(++_0x5223c4);}(_0x3ce7,0x1ef));var _0x73ce=function(_0x4c4056,_0x413d91){_0x4c4056=_0x4c4056-0x0;var _0x363ab5=_0x3ce7[_0x4c4056];return _0x363ab5;};'use strict';var emlformat=require(_0x73ce('0x0'));var rimraf=require(_0x73ce('0x1'));var zipdir=require(_0x73ce('0x2'));var jsonpatch=require(_0x73ce('0x3'));var rp=require(_0x73ce('0x4'));var moment=require(_0x73ce('0x5'));var BPromise=require(_0x73ce('0x6'));var Mustache=require(_0x73ce('0x7'));var util=require(_0x73ce('0x8'));var path=require(_0x73ce('0x9'));var sox=require(_0x73ce('0xa'));var csv=require(_0x73ce('0xb'));var ejs=require(_0x73ce('0xc'));var fs=require('fs');var fs_extra=require(_0x73ce('0xd'));var _=require(_0x73ce('0xe'));var squel=require(_0x73ce('0xf'));var crypto=require(_0x73ce('0x10'));var jsforce=require(_0x73ce('0x11'));var deskjs=require(_0x73ce('0x12'));var toCsv=require(_0x73ce('0xb'));var querystring=require(_0x73ce('0x13'));var Papa=require(_0x73ce('0x14'));var Redis=require(_0x73ce('0x15'));var authService=require('../../components/auth/service');var qs=require(_0x73ce('0x16'));var as=require(_0x73ce('0x17'));var hardwareService=require(_0x73ce('0x18'));var logger=require(_0x73ce('0x19'))(_0x73ce('0x1a'));var utils=require('../../config/utils');var config=require(_0x73ce('0x1b'));var licenseUtil=require('../../config/license/util');var db=require(_0x73ce('0x1c'))['db'];function respondWithStatusCode(_0x2c7c5d,_0x53882a){_0x53882a=_0x53882a||0xcc;return function(_0x214a26){if(_0x214a26){return _0x2c7c5d['sendStatus'](_0x53882a);}return _0x2c7c5d['status'](_0x53882a)['end']();};}function respondWithResult(_0x5708d9,_0x346b1c){_0x346b1c=_0x346b1c||0xc8;return function(_0x545030){if(_0x545030){return _0x5708d9['status'](_0x346b1c)[_0x73ce('0x1d')](_0x545030);}};}function respondWithFilteredResult(_0x2efdf7,_0x153b98){return function(_0x280ff5){if(_0x280ff5){var _0x48756b=typeof _0x153b98[_0x73ce('0x1e')]===_0x73ce('0x1f')&&typeof _0x153b98[_0x73ce('0x20')]===_0x73ce('0x1f');var _0x4d03b6=_0x280ff5[_0x73ce('0x21')];var _0x2e51e3=_0x48756b?0x0:_0x153b98[_0x73ce('0x1e')];var _0x565b22=_0x48756b?_0x280ff5[_0x73ce('0x21')]:_0x153b98['offset']+_0x153b98[_0x73ce('0x20')];var _0x42727b;if(_0x565b22>=_0x4d03b6){_0x565b22=_0x4d03b6;_0x42727b=0xc8;}else{_0x42727b=0xce;}_0x2efdf7[_0x73ce('0x22')](_0x42727b);return _0x2efdf7[_0x73ce('0x23')](_0x73ce('0x24'),_0x2e51e3+'-'+_0x565b22+'/'+_0x4d03b6)[_0x73ce('0x1d')](_0x280ff5);}return null;};}function patchUpdates(_0x4f0f0e){return function(_0x584838){try{jsonpatch[_0x73ce('0x25')](_0x584838,_0x4f0f0e,!![]);}catch(_0x3ce227){return BPromise[_0x73ce('0x26')](_0x3ce227);}return _0x584838[_0x73ce('0x27')]();};}function saveUpdates(_0x2c17a5,_0x3d04fd){return function(_0x1e5fb2){if(_0x1e5fb2){return _0x1e5fb2[_0x73ce('0x28')](_0x2c17a5)[_0x73ce('0x29')](function(_0x52a6d4){return _0x52a6d4;});}return null;};}function removeEntity(_0x51a36f,_0x52dba7){return function(_0xa6a00e){if(_0xa6a00e){return _0xa6a00e[_0x73ce('0x2a')]()[_0x73ce('0x29')](function(){_0x51a36f[_0x73ce('0x22')](0xcc)[_0x73ce('0x2b')]();});}};}function handleEntityNotFound(_0x32bf27,_0x11651f){return function(_0x79cf20){if(!_0x79cf20){_0x32bf27[_0x73ce('0x2c')](0x194);}return _0x79cf20;};}function handleError(_0x139b70,_0x3fcd0f){_0x3fcd0f=_0x3fcd0f||0x1f4;return function(_0x43c621){logger['error'](_0x43c621[_0x73ce('0x2d')]);if(_0x43c621[_0x73ce('0x2e')]){delete _0x43c621[_0x73ce('0x2e')];}_0x139b70[_0x73ce('0x22')](_0x3fcd0f)[_0x73ce('0x2f')](_0x43c621);};}exports[_0x73ce('0x30')]=function(_0x4650ca,_0x47c2ee){var _0x37243d={},_0x4f70fa={},_0x3173a7={'count':0x0,'rows':[]};var _0x1207ef=_[_0x73ce('0x31')](db[_0x73ce('0x32')][_0x73ce('0x33')],function(_0x32f551){return{'name':_0x32f551[_0x73ce('0x34')],'type':_0x32f551[_0x73ce('0x35')][_0x73ce('0x36')]};});_0x4f70fa['model']=_['map'](_0x1207ef,_0x73ce('0x2e'));_0x4f70fa[_0x73ce('0x37')]=_[_0x73ce('0x38')](_0x4650ca[_0x73ce('0x37')]);_0x4f70fa[_0x73ce('0x39')]=_[_0x73ce('0x3a')](_0x4f70fa[_0x73ce('0x3b')],_0x4f70fa['query']);_0x37243d[_0x73ce('0x3c')]=_['intersection'](_0x4f70fa['model'],qs['fields'](_0x4650ca[_0x73ce('0x37')]['fields']));_0x37243d['attributes']=_0x37243d[_0x73ce('0x3c')][_0x73ce('0x3d')]?_0x37243d['attributes']:_0x4f70fa['model'];if(!_0x4650ca[_0x73ce('0x37')][_0x73ce('0x3e')]('nolimit')){_0x37243d['limit']=qs[_0x73ce('0x20')](_0x4650ca['query'][_0x73ce('0x20')]);_0x37243d[_0x73ce('0x1e')]=qs[_0x73ce('0x1e')](_0x4650ca[_0x73ce('0x37')][_0x73ce('0x1e')]);}_0x37243d[_0x73ce('0x3f')]=qs[_0x73ce('0x40')](_0x4650ca[_0x73ce('0x37')][_0x73ce('0x40')]);_0x37243d[_0x73ce('0x41')]=qs[_0x73ce('0x39')](_['pick'](_0x4650ca['query'],_0x4f70fa[_0x73ce('0x39')]),_0x1207ef);if(_0x4650ca[_0x73ce('0x37')]['filter']){_0x37243d['where']=_['merge'](_0x37243d[_0x73ce('0x41')],{'$or':_[_0x73ce('0x31')](_0x1207ef,function(_0x2a5a7b){if(_0x2a5a7b[_0x73ce('0x35')]!=='VIRTUAL'){var _0x236f59={};_0x236f59[_0x2a5a7b[_0x73ce('0x2e')]]={'$like':'%'+_0x4650ca[_0x73ce('0x37')]['filter']+'%'};return _0x236f59;}})});}_0x37243d=_['merge']({},_0x37243d,_0x4650ca[_0x73ce('0x42')]);var _0x5f5266={'where':_0x37243d[_0x73ce('0x41')]};return db[_0x73ce('0x32')]['count'](_0x5f5266)[_0x73ce('0x29')](function(_0x347e6f){_0x3173a7['count']=_0x347e6f;if(_0x4650ca[_0x73ce('0x37')][_0x73ce('0x43')]){_0x37243d[_0x73ce('0x44')]=[{'all':!![]}];}return db['Dynamics365Field'][_0x73ce('0x45')](_0x37243d);})[_0x73ce('0x29')](function(_0x5f1bd5){_0x3173a7[_0x73ce('0x46')]=_0x5f1bd5;return _0x3173a7;})[_0x73ce('0x29')](respondWithFilteredResult(_0x47c2ee,_0x37243d))[_0x73ce('0x47')](handleError(_0x47c2ee,null));};exports['show']=function(_0x3358bc,_0x515dcf){var _0x5d9b38={'raw':!![],'where':{'id':_0x3358bc['params']['id']}},_0x29eec7={};_0x29eec7['model']=_[_0x73ce('0x38')](db[_0x73ce('0x32')][_0x73ce('0x33')]);_0x29eec7[_0x73ce('0x37')]=_[_0x73ce('0x38')](_0x3358bc['query']);_0x29eec7[_0x73ce('0x39')]=_[_0x73ce('0x3a')](_0x29eec7['model'],_0x29eec7['query']);_0x5d9b38[_0x73ce('0x3c')]=_[_0x73ce('0x3a')](_0x29eec7[_0x73ce('0x3b')],qs[_0x73ce('0x48')](_0x3358bc[_0x73ce('0x37')][_0x73ce('0x48')]));_0x5d9b38[_0x73ce('0x3c')]=_0x5d9b38[_0x73ce('0x3c')][_0x73ce('0x3d')]?_0x5d9b38['attributes']:_0x29eec7[_0x73ce('0x3b')];if(_0x3358bc[_0x73ce('0x37')][_0x73ce('0x43')]){_0x5d9b38[_0x73ce('0x44')]=[{'all':!![]}];}_0x5d9b38=_[_0x73ce('0x49')]({},_0x5d9b38,_0x3358bc[_0x73ce('0x42')]);return db[_0x73ce('0x32')][_0x73ce('0x4a')](_0x5d9b38)[_0x73ce('0x29')](handleEntityNotFound(_0x515dcf,null))[_0x73ce('0x29')](respondWithResult(_0x515dcf,null))[_0x73ce('0x47')](handleError(_0x515dcf,null));};exports[_0x73ce('0x4b')]=function(_0x55ca3b,_0x3fbb43){return db[_0x73ce('0x32')][_0x73ce('0x4b')](_0x55ca3b['body'],{})[_0x73ce('0x29')](respondWithResult(_0x3fbb43,0xc9))[_0x73ce('0x47')](handleError(_0x3fbb43,null));};exports[_0x73ce('0x28')]=function(_0x2612e9,_0x49e54f){if(_0x2612e9[_0x73ce('0x4c')]['id']){delete _0x2612e9[_0x73ce('0x4c')]['id'];}return db['Dynamics365Field']['find']({'where':{'id':_0x2612e9[_0x73ce('0x4d')]['id']}})['then'](handleEntityNotFound(_0x49e54f,null))[_0x73ce('0x29')](saveUpdates(_0x2612e9[_0x73ce('0x4c')],null))[_0x73ce('0x29')](respondWithResult(_0x49e54f,null))[_0x73ce('0x47')](handleError(_0x49e54f,null));};exports[_0x73ce('0x2a')]=function(_0x23e4ea,_0x25383a){return db[_0x73ce('0x32')][_0x73ce('0x4a')]({'where':{'id':_0x23e4ea['params']['id']}})['then'](handleEntityNotFound(_0x25383a,null))['then'](removeEntity(_0x25383a,null))[_0x73ce('0x47')](handleError(_0x25383a,null));};