Built motion from commit ffdca78c.|2.6.24
[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 _0xd6e8=['rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','length','find','create','body','getFields','findOne','Dynamics365Field','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','then','error','stack','name','index','map','Dynamics365Configuration'];(function(_0x2c36b8,_0x15c12f){var _0x5a796f=function(_0x173b74){while(--_0x173b74){_0x2c36b8['push'](_0x2c36b8['shift']());}};_0x5a796f(++_0x15c12f);}(_0xd6e8,0x1be));var _0x8d6e=function(_0x685346,_0x3ef2e5){_0x685346=_0x685346-0x0;var _0x52e15b=_0xd6e8[_0x685346];return _0x52e15b;};'use strict';var emlformat=require(_0x8d6e('0x0'));var rimraf=require(_0x8d6e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8d6e('0x2'));var rp=require(_0x8d6e('0x3'));var moment=require(_0x8d6e('0x4'));var BPromise=require(_0x8d6e('0x5'));var Mustache=require(_0x8d6e('0x6'));var util=require(_0x8d6e('0x7'));var path=require('path');var sox=require(_0x8d6e('0x8'));var csv=require(_0x8d6e('0x9'));var ejs=require(_0x8d6e('0xa'));var fs=require('fs');var fs_extra=require(_0x8d6e('0xb'));var _=require(_0x8d6e('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x8d6e('0xd'));var deskjs=require(_0x8d6e('0xe'));var toCsv=require(_0x8d6e('0x9'));var querystring=require(_0x8d6e('0xf'));var Papa=require(_0x8d6e('0x10'));var Redis=require(_0x8d6e('0x11'));var authService=require(_0x8d6e('0x12'));var qs=require(_0x8d6e('0x13'));var as=require(_0x8d6e('0x14'));var hardwareService=require(_0x8d6e('0x15'));var logger=require(_0x8d6e('0x16'))(_0x8d6e('0x17'));var utils=require(_0x8d6e('0x18'));var config=require(_0x8d6e('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x279b8a,_0x39c944){_0x39c944=_0x39c944||0xcc;return function(_0x49941d){if(_0x49941d){return _0x279b8a[_0x8d6e('0x1a')](_0x39c944);}return _0x279b8a['status'](_0x39c944)['end']();};}function respondWithResult(_0x184bde,_0x24f767){_0x24f767=_0x24f767||0xc8;return function(_0x4fe011){if(_0x4fe011){return _0x184bde[_0x8d6e('0x1b')](_0x24f767)[_0x8d6e('0x1c')](_0x4fe011);}};}function respondWithFilteredResult(_0x2d4d3c,_0x5a3bf3){return function(_0x34c405){if(_0x34c405){var _0x284267=typeof _0x5a3bf3[_0x8d6e('0x1d')]===_0x8d6e('0x1e')&&typeof _0x5a3bf3[_0x8d6e('0x1f')]===_0x8d6e('0x1e');var _0x34ee8b=_0x34c405[_0x8d6e('0x20')];var _0x42a543=_0x284267?0x0:_0x5a3bf3['offset'];var _0x523853=_0x284267?_0x34c405['count']:_0x5a3bf3['offset']+_0x5a3bf3[_0x8d6e('0x1f')];var _0x5197a1;if(_0x523853>=_0x34ee8b){_0x523853=_0x34ee8b;_0x5197a1=0xc8;}else{_0x5197a1=0xce;}_0x2d4d3c[_0x8d6e('0x1b')](_0x5197a1);return _0x2d4d3c[_0x8d6e('0x21')]('Content-Range',_0x42a543+'-'+_0x523853+'/'+_0x34ee8b)[_0x8d6e('0x1c')](_0x34c405);}return null;};}function patchUpdates(_0x1b3748){return function(_0x266605){try{jsonpatch[_0x8d6e('0x22')](_0x266605,_0x1b3748,!![]);}catch(_0x3d9c3e){return BPromise[_0x8d6e('0x23')](_0x3d9c3e);}return _0x266605[_0x8d6e('0x24')]();};}function saveUpdates(_0x3c7f29,_0x50a1af){return function(_0x2d3f22){if(_0x2d3f22){return _0x2d3f22[_0x8d6e('0x25')](_0x3c7f29)['then'](function(_0x47a3d0){return _0x47a3d0;});}return null;};}function removeEntity(_0x42dee6,_0x3576e2){return function(_0x2289d7){if(_0x2289d7){return _0x2289d7[_0x8d6e('0x26')]()[_0x8d6e('0x27')](function(){_0x42dee6['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x306f44,_0x81fc6){return function(_0x5d34b4){if(!_0x5d34b4){_0x306f44[_0x8d6e('0x1a')](0x194);}return _0x5d34b4;};}function handleError(_0x4dd200,_0x435a6f){_0x435a6f=_0x435a6f||0x1f4;return function(_0x124713){logger[_0x8d6e('0x28')](_0x124713[_0x8d6e('0x29')]);if(_0x124713[_0x8d6e('0x2a')]){delete _0x124713[_0x8d6e('0x2a')];}_0x4dd200['status'](_0x435a6f)['send'](_0x124713);};}exports[_0x8d6e('0x2b')]=function(_0x522870,_0x509014){var _0x4b109e={},_0x860207={},_0x4d332d={'count':0x0,'rows':[]};var _0x4db0e8=_[_0x8d6e('0x2c')](db[_0x8d6e('0x2d')][_0x8d6e('0x2e')],function(_0x57837b){return{'name':_0x57837b[_0x8d6e('0x2f')],'type':_0x57837b[_0x8d6e('0x30')][_0x8d6e('0x31')]};});_0x860207[_0x8d6e('0x32')]=_[_0x8d6e('0x2c')](_0x4db0e8,_0x8d6e('0x2a'));_0x860207[_0x8d6e('0x33')]=_[_0x8d6e('0x34')](_0x522870[_0x8d6e('0x33')]);_0x860207[_0x8d6e('0x35')]=_[_0x8d6e('0x36')](_0x860207['model'],_0x860207[_0x8d6e('0x33')]);_0x4b109e[_0x8d6e('0x37')]=_[_0x8d6e('0x36')](_0x860207['model'],qs['fields'](_0x522870[_0x8d6e('0x33')][_0x8d6e('0x38')]));_0x4b109e[_0x8d6e('0x37')]=_0x4b109e[_0x8d6e('0x37')]['length']?_0x4b109e['attributes']:_0x860207[_0x8d6e('0x32')];if(!_0x522870[_0x8d6e('0x33')]['hasOwnProperty'](_0x8d6e('0x39'))){_0x4b109e[_0x8d6e('0x1f')]=qs['limit'](_0x522870['query'][_0x8d6e('0x1f')]);_0x4b109e[_0x8d6e('0x1d')]=qs[_0x8d6e('0x1d')](_0x522870[_0x8d6e('0x33')][_0x8d6e('0x1d')]);}_0x4b109e[_0x8d6e('0x3a')]=qs[_0x8d6e('0x3b')](_0x522870[_0x8d6e('0x33')][_0x8d6e('0x3b')]);_0x4b109e[_0x8d6e('0x3c')]=qs['filters'](_[_0x8d6e('0x3d')](_0x522870[_0x8d6e('0x33')],_0x860207[_0x8d6e('0x35')]),_0x4db0e8);if(_0x522870[_0x8d6e('0x33')][_0x8d6e('0x3e')]){_0x4b109e['where']=_[_0x8d6e('0x3f')](_0x4b109e[_0x8d6e('0x3c')],{'$or':_[_0x8d6e('0x2c')](_0x4db0e8,function(_0x137296){if(_0x137296[_0x8d6e('0x30')]!==_0x8d6e('0x40')){var _0x5aa1f0={};_0x5aa1f0[_0x137296[_0x8d6e('0x2a')]]={'$like':'%'+_0x522870[_0x8d6e('0x33')][_0x8d6e('0x3e')]+'%'};return _0x5aa1f0;}})});}_0x4b109e=_['merge']({},_0x4b109e,_0x522870[_0x8d6e('0x41')]);var _0xf9293c={'where':_0x4b109e['where']};return db[_0x8d6e('0x2d')][_0x8d6e('0x20')](_0xf9293c)[_0x8d6e('0x27')](function(_0x22116f){_0x4d332d[_0x8d6e('0x20')]=_0x22116f;if(_0x522870['query'][_0x8d6e('0x42')]){_0x4b109e[_0x8d6e('0x43')]=[{'all':!![]}];}return db[_0x8d6e('0x2d')][_0x8d6e('0x44')](_0x4b109e);})[_0x8d6e('0x27')](function(_0x37e553){_0x4d332d[_0x8d6e('0x45')]=_0x37e553;return _0x4d332d;})['then'](respondWithFilteredResult(_0x509014,_0x4b109e))[_0x8d6e('0x46')](handleError(_0x509014,null));};exports['show']=function(_0x467aca,_0x2ad329){var _0x2b1be4={'raw':![],'where':{'id':_0x467aca[_0x8d6e('0x47')]['id']}},_0x9434ef={};_0x9434ef['model']=_['keys'](db[_0x8d6e('0x2d')]['rawAttributes']);_0x9434ef['query']=_[_0x8d6e('0x34')](_0x467aca['query']);_0x9434ef['filters']=_['intersection'](_0x9434ef[_0x8d6e('0x32')],_0x9434ef[_0x8d6e('0x33')]);_0x2b1be4[_0x8d6e('0x37')]=_[_0x8d6e('0x36')](_0x9434ef[_0x8d6e('0x32')],qs['fields'](_0x467aca['query']['fields']));_0x2b1be4['attributes']=_0x2b1be4[_0x8d6e('0x37')][_0x8d6e('0x48')]?_0x2b1be4[_0x8d6e('0x37')]:_0x9434ef[_0x8d6e('0x32')];if(_0x467aca['query'][_0x8d6e('0x42')]){_0x2b1be4[_0x8d6e('0x43')]=[{'all':!![]}];}_0x2b1be4=_[_0x8d6e('0x3f')]({},_0x2b1be4,_0x467aca[_0x8d6e('0x41')]);return db[_0x8d6e('0x2d')][_0x8d6e('0x49')](_0x2b1be4)[_0x8d6e('0x27')](handleEntityNotFound(_0x2ad329,null))[_0x8d6e('0x27')](respondWithResult(_0x2ad329,null))[_0x8d6e('0x46')](handleError(_0x2ad329,null));};exports[_0x8d6e('0x4a')]=function(_0x3958a6,_0x3fcceb){return db[_0x8d6e('0x2d')][_0x8d6e('0x4a')](_0x3958a6['body'],{})[_0x8d6e('0x27')](respondWithResult(_0x3fcceb,0xc9))[_0x8d6e('0x46')](handleError(_0x3fcceb,null));};exports[_0x8d6e('0x25')]=function(_0x2f5d5a,_0x48c5b5){if(_0x2f5d5a[_0x8d6e('0x4b')]['id']){delete _0x2f5d5a[_0x8d6e('0x4b')]['id'];}return db['Dynamics365Configuration'][_0x8d6e('0x49')]({'where':{'id':_0x2f5d5a[_0x8d6e('0x47')]['id']}})[_0x8d6e('0x27')](handleEntityNotFound(_0x48c5b5,null))[_0x8d6e('0x27')](saveUpdates(_0x2f5d5a[_0x8d6e('0x4b')],null))[_0x8d6e('0x27')](respondWithResult(_0x48c5b5,null))[_0x8d6e('0x46')](handleError(_0x48c5b5,null));};exports[_0x8d6e('0x26')]=function(_0x2c58a6,_0x28d445){return db[_0x8d6e('0x2d')][_0x8d6e('0x49')]({'where':{'id':_0x2c58a6['params']['id']}})[_0x8d6e('0x27')](handleEntityNotFound(_0x28d445,null))[_0x8d6e('0x27')](removeEntity(_0x28d445,null))[_0x8d6e('0x46')](handleError(_0x28d445,null));};exports[_0x8d6e('0x4c')]=function(_0x94765b,_0x2cc689,_0x97a360){var _0x1713ed={};var _0x48943c={};var _0x6d790b;var _0x43da6d;return db['Dynamics365Configuration'][_0x8d6e('0x4d')]({'where':{'id':_0x94765b[_0x8d6e('0x47')]['id']}})[_0x8d6e('0x27')](handleEntityNotFound(_0x2cc689,null))[_0x8d6e('0x27')](function(_0x5debc5){if(_0x5debc5){_0x6d790b=_0x5debc5;_0x48943c[_0x8d6e('0x32')]=_['keys'](db[_0x8d6e('0x4e')]['rawAttributes']);_0x48943c[_0x8d6e('0x33')]=_[_0x8d6e('0x34')](_0x94765b[_0x8d6e('0x33')]);_0x48943c[_0x8d6e('0x35')]=_['intersection'](_0x48943c[_0x8d6e('0x32')],_0x48943c[_0x8d6e('0x33')]);_0x1713ed['attributes']=_[_0x8d6e('0x36')](_0x48943c[_0x8d6e('0x32')],qs[_0x8d6e('0x38')](_0x94765b[_0x8d6e('0x33')][_0x8d6e('0x38')]));_0x1713ed[_0x8d6e('0x37')]=_0x1713ed[_0x8d6e('0x37')]['length']?_0x1713ed[_0x8d6e('0x37')]:_0x48943c['model'];_0x1713ed['order']=qs[_0x8d6e('0x3b')](_0x94765b[_0x8d6e('0x33')]['sort']);_0x1713ed[_0x8d6e('0x3c')]=qs[_0x8d6e('0x35')](_['pick'](_0x94765b[_0x8d6e('0x33')],_0x48943c['filters']));if(_0x94765b[_0x8d6e('0x33')][_0x8d6e('0x3e')]){_0x1713ed[_0x8d6e('0x3c')]=_['merge'](_0x1713ed[_0x8d6e('0x3c')],{'$or':_['map'](_0x1713ed[_0x8d6e('0x37')],function(_0x2e0a12){var _0x724a60={};_0x724a60[_0x2e0a12]={'$like':'%'+_0x94765b['query'][_0x8d6e('0x3e')]+'%'};return _0x724a60;})});}_0x1713ed=_[_0x8d6e('0x3f')]({},_0x1713ed,_0x94765b[_0x8d6e('0x41')]);return _0x6d790b['getFields'](_0x1713ed);}})[_0x8d6e('0x27')](function(_0x31de87){if(_0x31de87){_0x43da6d=_0x31de87[_0x8d6e('0x48')];if(!_0x94765b['query'][_0x8d6e('0x4f')](_0x8d6e('0x39'))){_0x1713ed[_0x8d6e('0x1f')]=qs[_0x8d6e('0x1f')](_0x94765b[_0x8d6e('0x33')]['limit']);_0x1713ed[_0x8d6e('0x1d')]=qs['offset'](_0x94765b['query']['offset']);}return _0x6d790b[_0x8d6e('0x4c')](_0x1713ed);}})[_0x8d6e('0x27')](function(_0x37b94e){if(_0x37b94e){return _0x37b94e?{'count':_0x43da6d,'rows':_0x37b94e}:null;}})[_0x8d6e('0x27')](respondWithResult(_0x2cc689,null))[_0x8d6e('0x46')](handleError(_0x2cc689,null));};exports[_0x8d6e('0x50')]=function(_0x5526c5,_0x45bfc8,_0x1f1f4e){var _0x43548f={};var _0x4d156a={};var _0x4cbbd0;var _0xf60a8;return db[_0x8d6e('0x2d')][_0x8d6e('0x4d')]({'where':{'id':_0x5526c5[_0x8d6e('0x47')]['id']}})[_0x8d6e('0x27')](handleEntityNotFound(_0x45bfc8,null))[_0x8d6e('0x27')](function(_0x26a498){if(_0x26a498){_0x4cbbd0=_0x26a498;_0x4d156a[_0x8d6e('0x32')]=_['keys'](db[_0x8d6e('0x4e')]['rawAttributes']);_0x4d156a[_0x8d6e('0x33')]=_[_0x8d6e('0x34')](_0x5526c5['query']);_0x4d156a['filters']=_[_0x8d6e('0x36')](_0x4d156a[_0x8d6e('0x32')],_0x4d156a[_0x8d6e('0x33')]);_0x43548f[_0x8d6e('0x37')]=_['intersection'](_0x4d156a[_0x8d6e('0x32')],qs[_0x8d6e('0x38')](_0x5526c5[_0x8d6e('0x33')][_0x8d6e('0x38')]));_0x43548f[_0x8d6e('0x37')]=_0x43548f[_0x8d6e('0x37')][_0x8d6e('0x48')]?_0x43548f[_0x8d6e('0x37')]:_0x4d156a[_0x8d6e('0x32')];_0x43548f[_0x8d6e('0x3a')]=qs[_0x8d6e('0x3b')](_0x5526c5['query']['sort']);_0x43548f[_0x8d6e('0x3c')]=qs[_0x8d6e('0x35')](_['pick'](_0x5526c5[_0x8d6e('0x33')],_0x4d156a[_0x8d6e('0x35')]));if(_0x5526c5[_0x8d6e('0x33')][_0x8d6e('0x3e')]){_0x43548f[_0x8d6e('0x3c')]=_['merge'](_0x43548f[_0x8d6e('0x3c')],{'$or':_[_0x8d6e('0x2c')](_0x43548f[_0x8d6e('0x37')],function(_0x281616){var _0xd6cf5c={};_0xd6cf5c[_0x281616]={'$like':'%'+_0x5526c5[_0x8d6e('0x33')][_0x8d6e('0x3e')]+'%'};return _0xd6cf5c;})});}_0x43548f=_[_0x8d6e('0x3f')]({},_0x43548f,_0x5526c5['options']);return _0x4cbbd0[_0x8d6e('0x50')](_0x43548f);}})[_0x8d6e('0x27')](function(_0x58e929){if(_0x58e929){_0xf60a8=_0x58e929[_0x8d6e('0x48')];if(!_0x5526c5[_0x8d6e('0x33')]['hasOwnProperty'](_0x8d6e('0x39'))){_0x43548f['limit']=qs[_0x8d6e('0x1f')](_0x5526c5[_0x8d6e('0x33')][_0x8d6e('0x1f')]);_0x43548f['offset']=qs[_0x8d6e('0x1d')](_0x5526c5['query'][_0x8d6e('0x1d')]);}return _0x4cbbd0[_0x8d6e('0x50')](_0x43548f);}})[_0x8d6e('0x27')](function(_0x471fa1){if(_0x471fa1){return _0x471fa1?{'count':_0xf60a8,'rows':_0x471fa1}:null;}})['then'](respondWithResult(_0x45bfc8,null))['catch'](handleError(_0x45bfc8,null));};exports[_0x8d6e('0x51')]=function(_0x22fedb,_0x566186,_0x3bdcef){var _0x3c92ca={};var _0x43b8a9={};var _0xc0077e;var _0xabc10c;return db[_0x8d6e('0x2d')][_0x8d6e('0x4d')]({'where':{'id':_0x22fedb['params']['id']}})['then'](handleEntityNotFound(_0x566186,null))[_0x8d6e('0x27')](function(_0x40be44){if(_0x40be44){_0xc0077e=_0x40be44;_0x43b8a9[_0x8d6e('0x32')]=_[_0x8d6e('0x34')](db['Dynamics365Field'][_0x8d6e('0x2e')]);_0x43b8a9[_0x8d6e('0x33')]=_[_0x8d6e('0x34')](_0x22fedb[_0x8d6e('0x33')]);_0x43b8a9[_0x8d6e('0x35')]=_[_0x8d6e('0x36')](_0x43b8a9['model'],_0x43b8a9['query']);_0x3c92ca['attributes']=_[_0x8d6e('0x36')](_0x43b8a9[_0x8d6e('0x32')],qs[_0x8d6e('0x38')](_0x22fedb[_0x8d6e('0x33')][_0x8d6e('0x38')]));_0x3c92ca['attributes']=_0x3c92ca[_0x8d6e('0x37')][_0x8d6e('0x48')]?_0x3c92ca['attributes']:_0x43b8a9['model'];_0x3c92ca['order']=qs[_0x8d6e('0x3b')](_0x22fedb[_0x8d6e('0x33')][_0x8d6e('0x3b')]);_0x3c92ca[_0x8d6e('0x3c')]=qs[_0x8d6e('0x35')](_[_0x8d6e('0x3d')](_0x22fedb[_0x8d6e('0x33')],_0x43b8a9[_0x8d6e('0x35')]));if(_0x22fedb['query'][_0x8d6e('0x3e')]){_0x3c92ca['where']=_['merge'](_0x3c92ca[_0x8d6e('0x3c')],{'$or':_[_0x8d6e('0x2c')](_0x3c92ca[_0x8d6e('0x37')],function(_0x522e36){var _0x1988c3={};_0x1988c3[_0x522e36]={'$like':'%'+_0x22fedb['query'][_0x8d6e('0x3e')]+'%'};return _0x1988c3;})});}_0x3c92ca=_[_0x8d6e('0x3f')]({},_0x3c92ca,_0x22fedb[_0x8d6e('0x41')]);return _0xc0077e['getDescriptions'](_0x3c92ca);}})[_0x8d6e('0x27')](function(_0x42197e){if(_0x42197e){_0xabc10c=_0x42197e['length'];if(!_0x22fedb[_0x8d6e('0x33')]['hasOwnProperty'](_0x8d6e('0x39'))){_0x3c92ca[_0x8d6e('0x1f')]=qs[_0x8d6e('0x1f')](_0x22fedb['query'][_0x8d6e('0x1f')]);_0x3c92ca[_0x8d6e('0x1d')]=qs[_0x8d6e('0x1d')](_0x22fedb[_0x8d6e('0x33')]['offset']);}return _0xc0077e[_0x8d6e('0x51')](_0x3c92ca);}})[_0x8d6e('0x27')](function(_0x1d4ddc){if(_0x1d4ddc){return _0x1d4ddc?{'count':_0xabc10c,'rows':_0x1d4ddc}:null;}})[_0x8d6e('0x27')](respondWithResult(_0x566186,null))['catch'](handleError(_0x566186,null));};