Built motion from commit e8d9bd62.|2.6.25
[motion2.git] / server / api / intDynamics365Configuration / intDynamics365Configuration.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 _0x03af=['destroy','error','stack','name','send','index','Dynamics365Configuration','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','findAll','rows','catch','show','params','length','find','create','body','getFields','findOne','Dynamics365Field','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0x03af,0x80));var _0xf03a=function(_0x545e3d,_0x4aec02){_0x545e3d=_0x545e3d-0x0;var _0x1548a9=_0x03af[_0x545e3d];return _0x1548a9;};'use strict';var emlformat=require(_0xf03a('0x0'));var rimraf=require(_0xf03a('0x1'));var zipdir=require(_0xf03a('0x2'));var jsonpatch=require(_0xf03a('0x3'));var rp=require(_0xf03a('0x4'));var moment=require(_0xf03a('0x5'));var BPromise=require(_0xf03a('0x6'));var Mustache=require(_0xf03a('0x7'));var util=require(_0xf03a('0x8'));var path=require(_0xf03a('0x9'));var sox=require(_0xf03a('0xa'));var csv=require('to-csv');var ejs=require(_0xf03a('0xb'));var fs=require('fs');var fs_extra=require(_0xf03a('0xc'));var _=require(_0xf03a('0xd'));var squel=require(_0xf03a('0xe'));var crypto=require(_0xf03a('0xf'));var jsforce=require(_0xf03a('0x10'));var deskjs=require(_0xf03a('0x11'));var toCsv=require('to-csv');var querystring=require(_0xf03a('0x12'));var Papa=require(_0xf03a('0x13'));var Redis=require(_0xf03a('0x14'));var authService=require(_0xf03a('0x15'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf03a('0x16'));var logger=require(_0xf03a('0x17'))(_0xf03a('0x18'));var utils=require(_0xf03a('0x19'));var config=require(_0xf03a('0x1a'));var licenseUtil=require(_0xf03a('0x1b'));var db=require(_0xf03a('0x1c'))['db'];function respondWithStatusCode(_0xf628bd,_0x2ec0ad){_0x2ec0ad=_0x2ec0ad||0xcc;return function(_0x1f519f){if(_0x1f519f){return _0xf628bd[_0xf03a('0x1d')](_0x2ec0ad);}return _0xf628bd[_0xf03a('0x1e')](_0x2ec0ad)[_0xf03a('0x1f')]();};}function respondWithResult(_0x48dccc,_0x3d2964){_0x3d2964=_0x3d2964||0xc8;return function(_0x317e21){if(_0x317e21){return _0x48dccc['status'](_0x3d2964)[_0xf03a('0x20')](_0x317e21);}};}function respondWithFilteredResult(_0x55d41b,_0x52adfc){return function(_0x413c2f){if(_0x413c2f){var _0x1f5ccc=typeof _0x52adfc[_0xf03a('0x21')]===_0xf03a('0x22')&&typeof _0x52adfc[_0xf03a('0x23')]===_0xf03a('0x22');var _0xd5a6ee=_0x413c2f[_0xf03a('0x24')];var _0x18ca1a=_0x1f5ccc?0x0:_0x52adfc[_0xf03a('0x21')];var _0x710d7a=_0x1f5ccc?_0x413c2f['count']:_0x52adfc[_0xf03a('0x21')]+_0x52adfc[_0xf03a('0x23')];var _0x341d86;if(_0x710d7a>=_0xd5a6ee){_0x710d7a=_0xd5a6ee;_0x341d86=0xc8;}else{_0x341d86=0xce;}_0x55d41b[_0xf03a('0x1e')](_0x341d86);return _0x55d41b[_0xf03a('0x25')](_0xf03a('0x26'),_0x18ca1a+'-'+_0x710d7a+'/'+_0xd5a6ee)[_0xf03a('0x20')](_0x413c2f);}return null;};}function patchUpdates(_0x37a633){return function(_0x8cc057){try{jsonpatch[_0xf03a('0x27')](_0x8cc057,_0x37a633,!![]);}catch(_0xc10d99){return BPromise[_0xf03a('0x28')](_0xc10d99);}return _0x8cc057[_0xf03a('0x29')]();};}function saveUpdates(_0x4438a5,_0x4d7f73){return function(_0xb73874){if(_0xb73874){return _0xb73874[_0xf03a('0x2a')](_0x4438a5)[_0xf03a('0x2b')](function(_0xa6c0dc){return _0xa6c0dc;});}return null;};}function removeEntity(_0x27b2d8,_0x3c9949){return function(_0x4bae71){if(_0x4bae71){return _0x4bae71[_0xf03a('0x2c')]()[_0xf03a('0x2b')](function(){_0x27b2d8[_0xf03a('0x1e')](0xcc)[_0xf03a('0x1f')]();});}};}function handleEntityNotFound(_0x2a4ba9,_0x577eaf){return function(_0x357629){if(!_0x357629){_0x2a4ba9[_0xf03a('0x1d')](0x194);}return _0x357629;};}function handleError(_0x2c7a3f,_0x1051da){_0x1051da=_0x1051da||0x1f4;return function(_0x1d0583){logger[_0xf03a('0x2d')](_0x1d0583[_0xf03a('0x2e')]);if(_0x1d0583[_0xf03a('0x2f')]){delete _0x1d0583[_0xf03a('0x2f')];}_0x2c7a3f[_0xf03a('0x1e')](_0x1051da)[_0xf03a('0x30')](_0x1d0583);};}exports[_0xf03a('0x31')]=function(_0x80e84,_0x4ca15e){var _0x528a19={},_0x32c68d={},_0x31d2bd={'count':0x0,'rows':[]};var _0xe83643=_['map'](db[_0xf03a('0x32')][_0xf03a('0x33')],function(_0x55e647){return{'name':_0x55e647[_0xf03a('0x34')],'type':_0x55e647[_0xf03a('0x35')][_0xf03a('0x36')]};});_0x32c68d[_0xf03a('0x37')]=_[_0xf03a('0x38')](_0xe83643,'name');_0x32c68d['query']=_[_0xf03a('0x39')](_0x80e84[_0xf03a('0x3a')]);_0x32c68d[_0xf03a('0x3b')]=_[_0xf03a('0x3c')](_0x32c68d[_0xf03a('0x37')],_0x32c68d[_0xf03a('0x3a')]);_0x528a19[_0xf03a('0x3d')]=_[_0xf03a('0x3c')](_0x32c68d[_0xf03a('0x37')],qs['fields'](_0x80e84[_0xf03a('0x3a')][_0xf03a('0x3e')]));_0x528a19[_0xf03a('0x3d')]=_0x528a19[_0xf03a('0x3d')]['length']?_0x528a19[_0xf03a('0x3d')]:_0x32c68d[_0xf03a('0x37')];if(!_0x80e84[_0xf03a('0x3a')][_0xf03a('0x3f')](_0xf03a('0x40'))){_0x528a19[_0xf03a('0x23')]=qs[_0xf03a('0x23')](_0x80e84[_0xf03a('0x3a')][_0xf03a('0x23')]);_0x528a19[_0xf03a('0x21')]=qs[_0xf03a('0x21')](_0x80e84[_0xf03a('0x3a')]['offset']);}_0x528a19[_0xf03a('0x41')]=qs[_0xf03a('0x42')](_0x80e84['query'][_0xf03a('0x42')]);_0x528a19[_0xf03a('0x43')]=qs[_0xf03a('0x3b')](_[_0xf03a('0x44')](_0x80e84[_0xf03a('0x3a')],_0x32c68d[_0xf03a('0x3b')]),_0xe83643);if(_0x80e84['query'][_0xf03a('0x45')]){_0x528a19[_0xf03a('0x43')]=_[_0xf03a('0x46')](_0x528a19['where'],{'$or':_[_0xf03a('0x38')](_0xe83643,function(_0x16f2ab){if(_0x16f2ab[_0xf03a('0x35')]!=='VIRTUAL'){var _0x3167c5={};_0x3167c5[_0x16f2ab['name']]={'$like':'%'+_0x80e84[_0xf03a('0x3a')][_0xf03a('0x45')]+'%'};return _0x3167c5;}})});}_0x528a19=_[_0xf03a('0x46')]({},_0x528a19,_0x80e84[_0xf03a('0x47')]);var _0x189bf3={'where':_0x528a19['where']};return db[_0xf03a('0x32')][_0xf03a('0x24')](_0x189bf3)[_0xf03a('0x2b')](function(_0x2976c8){_0x31d2bd['count']=_0x2976c8;if(_0x80e84[_0xf03a('0x3a')]['includeAll']){_0x528a19['include']=[{'all':!![]}];}return db['Dynamics365Configuration'][_0xf03a('0x48')](_0x528a19);})[_0xf03a('0x2b')](function(_0x143513){_0x31d2bd[_0xf03a('0x49')]=_0x143513;return _0x31d2bd;})[_0xf03a('0x2b')](respondWithFilteredResult(_0x4ca15e,_0x528a19))[_0xf03a('0x4a')](handleError(_0x4ca15e,null));};exports[_0xf03a('0x4b')]=function(_0x3d9ebc,_0x85b1f6){var _0x48f63e={'raw':![],'where':{'id':_0x3d9ebc[_0xf03a('0x4c')]['id']}},_0x130866={};_0x130866[_0xf03a('0x37')]=_[_0xf03a('0x39')](db[_0xf03a('0x32')][_0xf03a('0x33')]);_0x130866['query']=_[_0xf03a('0x39')](_0x3d9ebc[_0xf03a('0x3a')]);_0x130866['filters']=_[_0xf03a('0x3c')](_0x130866[_0xf03a('0x37')],_0x130866[_0xf03a('0x3a')]);_0x48f63e[_0xf03a('0x3d')]=_[_0xf03a('0x3c')](_0x130866[_0xf03a('0x37')],qs[_0xf03a('0x3e')](_0x3d9ebc[_0xf03a('0x3a')][_0xf03a('0x3e')]));_0x48f63e['attributes']=_0x48f63e[_0xf03a('0x3d')][_0xf03a('0x4d')]?_0x48f63e[_0xf03a('0x3d')]:_0x130866[_0xf03a('0x37')];if(_0x3d9ebc[_0xf03a('0x3a')]['includeAll']){_0x48f63e['include']=[{'all':!![]}];}_0x48f63e=_[_0xf03a('0x46')]({},_0x48f63e,_0x3d9ebc[_0xf03a('0x47')]);return db['Dynamics365Configuration'][_0xf03a('0x4e')](_0x48f63e)[_0xf03a('0x2b')](handleEntityNotFound(_0x85b1f6,null))[_0xf03a('0x2b')](respondWithResult(_0x85b1f6,null))[_0xf03a('0x4a')](handleError(_0x85b1f6,null));};exports['create']=function(_0x4e644c,_0x4e36da){return db[_0xf03a('0x32')][_0xf03a('0x4f')](_0x4e644c['body'],{})['then'](respondWithResult(_0x4e36da,0xc9))[_0xf03a('0x4a')](handleError(_0x4e36da,null));};exports[_0xf03a('0x2a')]=function(_0x1b3744,_0x47f59c){if(_0x1b3744[_0xf03a('0x50')]['id']){delete _0x1b3744['body']['id'];}return db[_0xf03a('0x32')][_0xf03a('0x4e')]({'where':{'id':_0x1b3744[_0xf03a('0x4c')]['id']}})['then'](handleEntityNotFound(_0x47f59c,null))['then'](saveUpdates(_0x1b3744['body'],null))[_0xf03a('0x2b')](respondWithResult(_0x47f59c,null))[_0xf03a('0x4a')](handleError(_0x47f59c,null));};exports[_0xf03a('0x2c')]=function(_0x1bb647,_0x5bee86){return db[_0xf03a('0x32')][_0xf03a('0x4e')]({'where':{'id':_0x1bb647[_0xf03a('0x4c')]['id']}})[_0xf03a('0x2b')](handleEntityNotFound(_0x5bee86,null))[_0xf03a('0x2b')](removeEntity(_0x5bee86,null))[_0xf03a('0x4a')](handleError(_0x5bee86,null));};exports[_0xf03a('0x51')]=function(_0x38251d,_0xcd0930,_0x313c80){var _0x4699f8={};var _0x298b7e={};var _0x59a1e9;var _0x1f1d1e;return db[_0xf03a('0x32')][_0xf03a('0x52')]({'where':{'id':_0x38251d[_0xf03a('0x4c')]['id']}})['then'](handleEntityNotFound(_0xcd0930,null))[_0xf03a('0x2b')](function(_0x48bb9d){if(_0x48bb9d){_0x59a1e9=_0x48bb9d;_0x298b7e[_0xf03a('0x37')]=_[_0xf03a('0x39')](db[_0xf03a('0x53')][_0xf03a('0x33')]);_0x298b7e[_0xf03a('0x3a')]=_[_0xf03a('0x39')](_0x38251d[_0xf03a('0x3a')]);_0x298b7e['filters']=_['intersection'](_0x298b7e[_0xf03a('0x37')],_0x298b7e[_0xf03a('0x3a')]);_0x4699f8[_0xf03a('0x3d')]=_[_0xf03a('0x3c')](_0x298b7e[_0xf03a('0x37')],qs[_0xf03a('0x3e')](_0x38251d[_0xf03a('0x3a')][_0xf03a('0x3e')]));_0x4699f8[_0xf03a('0x3d')]=_0x4699f8[_0xf03a('0x3d')][_0xf03a('0x4d')]?_0x4699f8[_0xf03a('0x3d')]:_0x298b7e['model'];_0x4699f8[_0xf03a('0x41')]=qs[_0xf03a('0x42')](_0x38251d[_0xf03a('0x3a')][_0xf03a('0x42')]);_0x4699f8[_0xf03a('0x43')]=qs[_0xf03a('0x3b')](_[_0xf03a('0x44')](_0x38251d[_0xf03a('0x3a')],_0x298b7e[_0xf03a('0x3b')]));if(_0x38251d['query'][_0xf03a('0x45')]){_0x4699f8['where']=_['merge'](_0x4699f8[_0xf03a('0x43')],{'$or':_[_0xf03a('0x38')](_0x4699f8[_0xf03a('0x3d')],function(_0x5ab638){var _0x3c3a05={};_0x3c3a05[_0x5ab638]={'$like':'%'+_0x38251d['query'][_0xf03a('0x45')]+'%'};return _0x3c3a05;})});}_0x4699f8=_['merge']({},_0x4699f8,_0x38251d[_0xf03a('0x47')]);return _0x59a1e9['getFields'](_0x4699f8);}})[_0xf03a('0x2b')](function(_0x39c1d1){if(_0x39c1d1){_0x1f1d1e=_0x39c1d1['length'];if(!_0x38251d[_0xf03a('0x3a')][_0xf03a('0x3f')](_0xf03a('0x40'))){_0x4699f8['limit']=qs[_0xf03a('0x23')](_0x38251d[_0xf03a('0x3a')][_0xf03a('0x23')]);_0x4699f8[_0xf03a('0x21')]=qs[_0xf03a('0x21')](_0x38251d[_0xf03a('0x3a')][_0xf03a('0x21')]);}return _0x59a1e9[_0xf03a('0x51')](_0x4699f8);}})['then'](function(_0x357d11){if(_0x357d11){return _0x357d11?{'count':_0x1f1d1e,'rows':_0x357d11}:null;}})[_0xf03a('0x2b')](respondWithResult(_0xcd0930,null))[_0xf03a('0x4a')](handleError(_0xcd0930,null));};exports[_0xf03a('0x54')]=function(_0x5d3599,_0x434cf6,_0x5eba3c){var _0x19faa1={};var _0x5b2e1e={};var _0x223f25;var _0x5f0ae7;return db['Dynamics365Configuration'][_0xf03a('0x52')]({'where':{'id':_0x5d3599['params']['id']}})[_0xf03a('0x2b')](handleEntityNotFound(_0x434cf6,null))[_0xf03a('0x2b')](function(_0x2f9db2){if(_0x2f9db2){_0x223f25=_0x2f9db2;_0x5b2e1e[_0xf03a('0x37')]=_[_0xf03a('0x39')](db[_0xf03a('0x53')][_0xf03a('0x33')]);_0x5b2e1e[_0xf03a('0x3a')]=_[_0xf03a('0x39')](_0x5d3599['query']);_0x5b2e1e[_0xf03a('0x3b')]=_[_0xf03a('0x3c')](_0x5b2e1e[_0xf03a('0x37')],_0x5b2e1e[_0xf03a('0x3a')]);_0x19faa1[_0xf03a('0x3d')]=_[_0xf03a('0x3c')](_0x5b2e1e[_0xf03a('0x37')],qs[_0xf03a('0x3e')](_0x5d3599[_0xf03a('0x3a')]['fields']));_0x19faa1[_0xf03a('0x3d')]=_0x19faa1['attributes']['length']?_0x19faa1[_0xf03a('0x3d')]:_0x5b2e1e[_0xf03a('0x37')];_0x19faa1[_0xf03a('0x41')]=qs[_0xf03a('0x42')](_0x5d3599[_0xf03a('0x3a')]['sort']);_0x19faa1[_0xf03a('0x43')]=qs[_0xf03a('0x3b')](_[_0xf03a('0x44')](_0x5d3599[_0xf03a('0x3a')],_0x5b2e1e[_0xf03a('0x3b')]));if(_0x5d3599[_0xf03a('0x3a')][_0xf03a('0x45')]){_0x19faa1[_0xf03a('0x43')]=_[_0xf03a('0x46')](_0x19faa1[_0xf03a('0x43')],{'$or':_['map'](_0x19faa1[_0xf03a('0x3d')],function(_0x3d9f69){var _0x31bec5={};_0x31bec5[_0x3d9f69]={'$like':'%'+_0x5d3599['query'][_0xf03a('0x45')]+'%'};return _0x31bec5;})});}_0x19faa1=_[_0xf03a('0x46')]({},_0x19faa1,_0x5d3599[_0xf03a('0x47')]);return _0x223f25[_0xf03a('0x54')](_0x19faa1);}})[_0xf03a('0x2b')](function(_0x374ec2){if(_0x374ec2){_0x5f0ae7=_0x374ec2[_0xf03a('0x4d')];if(!_0x5d3599[_0xf03a('0x3a')][_0xf03a('0x3f')](_0xf03a('0x40'))){_0x19faa1[_0xf03a('0x23')]=qs['limit'](_0x5d3599[_0xf03a('0x3a')][_0xf03a('0x23')]);_0x19faa1['offset']=qs[_0xf03a('0x21')](_0x5d3599[_0xf03a('0x3a')][_0xf03a('0x21')]);}return _0x223f25['getSubjects'](_0x19faa1);}})[_0xf03a('0x2b')](function(_0x4ef19f){if(_0x4ef19f){return _0x4ef19f?{'count':_0x5f0ae7,'rows':_0x4ef19f}:null;}})[_0xf03a('0x2b')](respondWithResult(_0x434cf6,null))['catch'](handleError(_0x434cf6,null));};exports['getDescriptions']=function(_0xc31fff,_0x45348a,_0x3144a4){var _0x2fb5f1={};var _0x25cc7a={};var _0x4913bb;var _0x3c7ca2;return db[_0xf03a('0x32')]['findOne']({'where':{'id':_0xc31fff['params']['id']}})[_0xf03a('0x2b')](handleEntityNotFound(_0x45348a,null))[_0xf03a('0x2b')](function(_0xa9ba2e){if(_0xa9ba2e){_0x4913bb=_0xa9ba2e;_0x25cc7a[_0xf03a('0x37')]=_[_0xf03a('0x39')](db[_0xf03a('0x53')][_0xf03a('0x33')]);_0x25cc7a[_0xf03a('0x3a')]=_[_0xf03a('0x39')](_0xc31fff[_0xf03a('0x3a')]);_0x25cc7a[_0xf03a('0x3b')]=_[_0xf03a('0x3c')](_0x25cc7a[_0xf03a('0x37')],_0x25cc7a[_0xf03a('0x3a')]);_0x2fb5f1[_0xf03a('0x3d')]=_[_0xf03a('0x3c')](_0x25cc7a[_0xf03a('0x37')],qs[_0xf03a('0x3e')](_0xc31fff[_0xf03a('0x3a')]['fields']));_0x2fb5f1[_0xf03a('0x3d')]=_0x2fb5f1[_0xf03a('0x3d')][_0xf03a('0x4d')]?_0x2fb5f1[_0xf03a('0x3d')]:_0x25cc7a[_0xf03a('0x37')];_0x2fb5f1[_0xf03a('0x41')]=qs['sort'](_0xc31fff['query'][_0xf03a('0x42')]);_0x2fb5f1[_0xf03a('0x43')]=qs[_0xf03a('0x3b')](_[_0xf03a('0x44')](_0xc31fff[_0xf03a('0x3a')],_0x25cc7a[_0xf03a('0x3b')]));if(_0xc31fff[_0xf03a('0x3a')][_0xf03a('0x45')]){_0x2fb5f1[_0xf03a('0x43')]=_[_0xf03a('0x46')](_0x2fb5f1[_0xf03a('0x43')],{'$or':_[_0xf03a('0x38')](_0x2fb5f1[_0xf03a('0x3d')],function(_0x90fd86){var _0x103034={};_0x103034[_0x90fd86]={'$like':'%'+_0xc31fff[_0xf03a('0x3a')]['filter']+'%'};return _0x103034;})});}_0x2fb5f1=_[_0xf03a('0x46')]({},_0x2fb5f1,_0xc31fff['options']);return _0x4913bb[_0xf03a('0x55')](_0x2fb5f1);}})[_0xf03a('0x2b')](function(_0x55811b){if(_0x55811b){_0x3c7ca2=_0x55811b[_0xf03a('0x4d')];if(!_0xc31fff['query'][_0xf03a('0x3f')]('nolimit')){_0x2fb5f1[_0xf03a('0x23')]=qs[_0xf03a('0x23')](_0xc31fff[_0xf03a('0x3a')]['limit']);_0x2fb5f1[_0xf03a('0x21')]=qs[_0xf03a('0x21')](_0xc31fff[_0xf03a('0x3a')][_0xf03a('0x21')]);}return _0x4913bb[_0xf03a('0x55')](_0x2fb5f1);}})[_0xf03a('0x2b')](function(_0x41b2cb){if(_0x41b2cb){return _0x41b2cb?{'count':_0x3c7ca2,'rows':_0x41b2cb}:null;}})[_0xf03a('0x2b')](respondWithResult(_0x45348a,null))[_0xf03a('0x4a')](handleError(_0x45348a,null));};