Built motion from commit 753c950e.|2.5.42
[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 _0xd213=['count','Content-Range','json','apply','reject','save','update','then','destroy','stack','name','send','index','map','Dynamics365Field','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','findAll','rows','catch','params','keys','find','create','body','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','sendStatus','status','offset','undefined','limit'];(function(_0x161a62,_0x54bf73){var _0x160ea4=function(_0xf09dc6){while(--_0xf09dc6){_0x161a62['push'](_0x161a62['shift']());}};_0x160ea4(++_0x54bf73);}(_0xd213,0x148));var _0x3d21=function(_0x4d6625,_0x544938){_0x4d6625=_0x4d6625-0x0;var _0x4c7174=_0xd213[_0x4d6625];return _0x4c7174;};'use strict';var emlformat=require(_0x3d21('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3d21('0x1'));var jsonpatch=require(_0x3d21('0x2'));var rp=require(_0x3d21('0x3'));var moment=require(_0x3d21('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x3d21('0x5'));var util=require(_0x3d21('0x6'));var path=require(_0x3d21('0x7'));var sox=require(_0x3d21('0x8'));var csv=require(_0x3d21('0x9'));var ejs=require(_0x3d21('0xa'));var fs=require('fs');var fs_extra=require(_0x3d21('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x3d21('0xc'));var jsforce=require(_0x3d21('0xd'));var deskjs=require(_0x3d21('0xe'));var toCsv=require(_0x3d21('0x9'));var querystring=require('querystring');var Papa=require(_0x3d21('0xf'));var Redis=require(_0x3d21('0x10'));var authService=require(_0x3d21('0x11'));var qs=require(_0x3d21('0x12'));var as=require(_0x3d21('0x13'));var hardwareService=require(_0x3d21('0x14'));var logger=require('../../config/logger')('api');var utils=require(_0x3d21('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1afacb,_0x431d58){_0x431d58=_0x431d58||0xcc;return function(_0x4501de){if(_0x4501de){return _0x1afacb[_0x3d21('0x16')](_0x431d58);}return _0x1afacb[_0x3d21('0x17')](_0x431d58)['end']();};}function respondWithResult(_0x5cc7b8,_0x441b8b){_0x441b8b=_0x441b8b||0xc8;return function(_0x3ac05e){if(_0x3ac05e){return _0x5cc7b8[_0x3d21('0x17')](_0x441b8b)['json'](_0x3ac05e);}};}function respondWithFilteredResult(_0x39448f,_0x769a5b){return function(_0x42d4ff){if(_0x42d4ff){var _0x10d3da=typeof _0x769a5b[_0x3d21('0x18')]===_0x3d21('0x19')&&typeof _0x769a5b[_0x3d21('0x1a')]==='undefined';var _0x2b07ca=_0x42d4ff['count'];var _0x3a65c6=_0x10d3da?0x0:_0x769a5b[_0x3d21('0x18')];var _0x1dfce3=_0x10d3da?_0x42d4ff[_0x3d21('0x1b')]:_0x769a5b[_0x3d21('0x18')]+_0x769a5b[_0x3d21('0x1a')];var _0x14f1a6;if(_0x1dfce3>=_0x2b07ca){_0x1dfce3=_0x2b07ca;_0x14f1a6=0xc8;}else{_0x14f1a6=0xce;}_0x39448f['status'](_0x14f1a6);return _0x39448f['set'](_0x3d21('0x1c'),_0x3a65c6+'-'+_0x1dfce3+'/'+_0x2b07ca)[_0x3d21('0x1d')](_0x42d4ff);}return null;};}function patchUpdates(_0x570478){return function(_0x69709e){try{jsonpatch[_0x3d21('0x1e')](_0x69709e,_0x570478,!![]);}catch(_0x191c69){return BPromise[_0x3d21('0x1f')](_0x191c69);}return _0x69709e[_0x3d21('0x20')]();};}function saveUpdates(_0xc9c377,_0x3d7832){return function(_0x270e44){if(_0x270e44){return _0x270e44[_0x3d21('0x21')](_0xc9c377)[_0x3d21('0x22')](function(_0x1dd646){return _0x1dd646;});}return null;};}function removeEntity(_0x380e66,_0x46443e){return function(_0x101baf){if(_0x101baf){return _0x101baf[_0x3d21('0x23')]()[_0x3d21('0x22')](function(){_0x380e66['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xdcd375,_0x1456ac){return function(_0x567ec9){if(!_0x567ec9){_0xdcd375[_0x3d21('0x16')](0x194);}return _0x567ec9;};}function handleError(_0x33ab32,_0x256452){_0x256452=_0x256452||0x1f4;return function(_0x56e31a){logger['error'](_0x56e31a[_0x3d21('0x24')]);if(_0x56e31a[_0x3d21('0x25')]){delete _0x56e31a[_0x3d21('0x25')];}_0x33ab32[_0x3d21('0x17')](_0x256452)[_0x3d21('0x26')](_0x56e31a);};}exports[_0x3d21('0x27')]=function(_0x47131e,_0x5eeb01){var _0xdbcc51={},_0x2dff08={},_0x35de9a={'count':0x0,'rows':[]};var _0x404b92=_[_0x3d21('0x28')](db[_0x3d21('0x29')][_0x3d21('0x2a')],function(_0x1fb685){return{'name':_0x1fb685[_0x3d21('0x2b')],'type':_0x1fb685[_0x3d21('0x2c')][_0x3d21('0x2d')]};});_0x2dff08[_0x3d21('0x2e')]=_[_0x3d21('0x28')](_0x404b92,_0x3d21('0x25'));_0x2dff08[_0x3d21('0x2f')]=_['keys'](_0x47131e[_0x3d21('0x2f')]);_0x2dff08[_0x3d21('0x30')]=_[_0x3d21('0x31')](_0x2dff08[_0x3d21('0x2e')],_0x2dff08['query']);_0xdbcc51['attributes']=_[_0x3d21('0x31')](_0x2dff08[_0x3d21('0x2e')],qs[_0x3d21('0x32')](_0x47131e[_0x3d21('0x2f')][_0x3d21('0x32')]));_0xdbcc51[_0x3d21('0x33')]=_0xdbcc51['attributes'][_0x3d21('0x34')]?_0xdbcc51['attributes']:_0x2dff08[_0x3d21('0x2e')];if(!_0x47131e[_0x3d21('0x2f')][_0x3d21('0x35')](_0x3d21('0x36'))){_0xdbcc51[_0x3d21('0x1a')]=qs[_0x3d21('0x1a')](_0x47131e[_0x3d21('0x2f')][_0x3d21('0x1a')]);_0xdbcc51[_0x3d21('0x18')]=qs[_0x3d21('0x18')](_0x47131e[_0x3d21('0x2f')][_0x3d21('0x18')]);}_0xdbcc51[_0x3d21('0x37')]=qs[_0x3d21('0x38')](_0x47131e[_0x3d21('0x2f')][_0x3d21('0x38')]);_0xdbcc51[_0x3d21('0x39')]=qs[_0x3d21('0x30')](_['pick'](_0x47131e[_0x3d21('0x2f')],_0x2dff08['filters']),_0x404b92);if(_0x47131e['query'][_0x3d21('0x3a')]){_0xdbcc51[_0x3d21('0x39')]=_[_0x3d21('0x3b')](_0xdbcc51['where'],{'$or':_[_0x3d21('0x28')](_0x404b92,function(_0x8d2041){if(_0x8d2041['type']!=='VIRTUAL'){var _0x2d2b95={};_0x2d2b95[_0x8d2041[_0x3d21('0x25')]]={'$like':'%'+_0x47131e['query'][_0x3d21('0x3a')]+'%'};return _0x2d2b95;}})});}_0xdbcc51=_[_0x3d21('0x3b')]({},_0xdbcc51,_0x47131e[_0x3d21('0x3c')]);var _0x44a856={'where':_0xdbcc51[_0x3d21('0x39')]};return db[_0x3d21('0x29')][_0x3d21('0x1b')](_0x44a856)[_0x3d21('0x22')](function(_0x79d883){_0x35de9a[_0x3d21('0x1b')]=_0x79d883;if(_0x47131e[_0x3d21('0x2f')][_0x3d21('0x3d')]){_0xdbcc51[_0x3d21('0x3e')]=[{'all':!![]}];}return db['Dynamics365Field'][_0x3d21('0x3f')](_0xdbcc51);})['then'](function(_0x4a1821){_0x35de9a[_0x3d21('0x40')]=_0x4a1821;return _0x35de9a;})[_0x3d21('0x22')](respondWithFilteredResult(_0x5eeb01,_0xdbcc51))[_0x3d21('0x41')](handleError(_0x5eeb01,null));};exports['show']=function(_0x5b1c0c,_0x54ff2f){var _0xef1f45={'raw':!![],'where':{'id':_0x5b1c0c[_0x3d21('0x42')]['id']}},_0x16bbe2={};_0x16bbe2[_0x3d21('0x2e')]=_[_0x3d21('0x43')](db[_0x3d21('0x29')][_0x3d21('0x2a')]);_0x16bbe2[_0x3d21('0x2f')]=_[_0x3d21('0x43')](_0x5b1c0c['query']);_0x16bbe2[_0x3d21('0x30')]=_[_0x3d21('0x31')](_0x16bbe2['model'],_0x16bbe2[_0x3d21('0x2f')]);_0xef1f45['attributes']=_['intersection'](_0x16bbe2['model'],qs[_0x3d21('0x32')](_0x5b1c0c['query']['fields']));_0xef1f45[_0x3d21('0x33')]=_0xef1f45['attributes'][_0x3d21('0x34')]?_0xef1f45[_0x3d21('0x33')]:_0x16bbe2[_0x3d21('0x2e')];if(_0x5b1c0c[_0x3d21('0x2f')]['includeAll']){_0xef1f45[_0x3d21('0x3e')]=[{'all':!![]}];}_0xef1f45=_[_0x3d21('0x3b')]({},_0xef1f45,_0x5b1c0c[_0x3d21('0x3c')]);return db['Dynamics365Field'][_0x3d21('0x44')](_0xef1f45)[_0x3d21('0x22')](handleEntityNotFound(_0x54ff2f,null))['then'](respondWithResult(_0x54ff2f,null))[_0x3d21('0x41')](handleError(_0x54ff2f,null));};exports[_0x3d21('0x45')]=function(_0x47e22a,_0x9cdb27){return db['Dynamics365Field']['create'](_0x47e22a['body'],{})[_0x3d21('0x22')](respondWithResult(_0x9cdb27,0xc9))['catch'](handleError(_0x9cdb27,null));};exports[_0x3d21('0x21')]=function(_0x27c614,_0x22318d){if(_0x27c614[_0x3d21('0x46')]['id']){delete _0x27c614[_0x3d21('0x46')]['id'];}return db[_0x3d21('0x29')][_0x3d21('0x44')]({'where':{'id':_0x27c614[_0x3d21('0x42')]['id']}})[_0x3d21('0x22')](handleEntityNotFound(_0x22318d,null))[_0x3d21('0x22')](saveUpdates(_0x27c614[_0x3d21('0x46')],null))[_0x3d21('0x22')](respondWithResult(_0x22318d,null))['catch'](handleError(_0x22318d,null));};exports['destroy']=function(_0x2749fc,_0x5c57e2){return db[_0x3d21('0x29')][_0x3d21('0x44')]({'where':{'id':_0x2749fc[_0x3d21('0x42')]['id']}})[_0x3d21('0x22')](handleEntityNotFound(_0x5c57e2,null))[_0x3d21('0x22')](removeEntity(_0x5c57e2,null))[_0x3d21('0x41')](handleError(_0x5c57e2,null));};