Built motion from commit a61a4a20.|2.5.46
[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 _0x89b0=['length','model','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','params','find','create','body','getFields','findOne','Dynamics365Field','where','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','fs-extra','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','map','Dynamics365Configuration','rawAttributes','type','key','keys','query','filters','intersection','attributes','fields'];(function(_0x330c57,_0x17f485){var _0x4d22bb=function(_0x2856a4){while(--_0x2856a4){_0x330c57['push'](_0x330c57['shift']());}};_0x4d22bb(++_0x17f485);}(_0x89b0,0x65));var _0x089b=function(_0x32503a,_0x16dc4c){_0x32503a=_0x32503a-0x0;var _0x19618c=_0x89b0[_0x32503a];return _0x19618c;};'use strict';var emlformat=require(_0x089b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x089b('0x1'));var jsonpatch=require(_0x089b('0x2'));var rp=require(_0x089b('0x3'));var moment=require('moment');var BPromise=require(_0x089b('0x4'));var Mustache=require('mustache');var util=require(_0x089b('0x5'));var path=require(_0x089b('0x6'));var sox=require(_0x089b('0x7'));var csv=require(_0x089b('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x089b('0x9'));var _=require('lodash');var squel=require(_0x089b('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x089b('0xb'));var toCsv=require(_0x089b('0x8'));var querystring=require(_0x089b('0xc'));var Papa=require('papaparse');var Redis=require(_0x089b('0xd'));var authService=require(_0x089b('0xe'));var qs=require(_0x089b('0xf'));var as=require(_0x089b('0x10'));var hardwareService=require(_0x089b('0x11'));var logger=require('../../config/logger')(_0x089b('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x089b('0x13'));var db=require(_0x089b('0x14'))['db'];function respondWithStatusCode(_0x476561,_0x25f6ec){_0x25f6ec=_0x25f6ec||0xcc;return function(_0x9a86ca){if(_0x9a86ca){return _0x476561[_0x089b('0x15')](_0x25f6ec);}return _0x476561[_0x089b('0x16')](_0x25f6ec)[_0x089b('0x17')]();};}function respondWithResult(_0x11b609,_0x575f0d){_0x575f0d=_0x575f0d||0xc8;return function(_0x57086e){if(_0x57086e){return _0x11b609['status'](_0x575f0d)['json'](_0x57086e);}};}function respondWithFilteredResult(_0x3f2a01,_0x1a8fca){return function(_0x2f439d){if(_0x2f439d){var _0x107410=typeof _0x1a8fca[_0x089b('0x18')]==='undefined'&&typeof _0x1a8fca[_0x089b('0x19')]===_0x089b('0x1a');var _0x5324ca=_0x2f439d[_0x089b('0x1b')];var _0x4788df=_0x107410?0x0:_0x1a8fca[_0x089b('0x18')];var _0x2374a8=_0x107410?_0x2f439d[_0x089b('0x1b')]:_0x1a8fca[_0x089b('0x18')]+_0x1a8fca[_0x089b('0x19')];var _0x52fd83;if(_0x2374a8>=_0x5324ca){_0x2374a8=_0x5324ca;_0x52fd83=0xc8;}else{_0x52fd83=0xce;}_0x3f2a01[_0x089b('0x16')](_0x52fd83);return _0x3f2a01[_0x089b('0x1c')](_0x089b('0x1d'),_0x4788df+'-'+_0x2374a8+'/'+_0x5324ca)[_0x089b('0x1e')](_0x2f439d);}return null;};}function patchUpdates(_0x350469){return function(_0x4f57a5){try{jsonpatch[_0x089b('0x1f')](_0x4f57a5,_0x350469,!![]);}catch(_0x103a61){return BPromise[_0x089b('0x20')](_0x103a61);}return _0x4f57a5[_0x089b('0x21')]();};}function saveUpdates(_0x48497a,_0x48182f){return function(_0x58de04){if(_0x58de04){return _0x58de04[_0x089b('0x22')](_0x48497a)[_0x089b('0x23')](function(_0x444044){return _0x444044;});}return null;};}function removeEntity(_0x2c289d,_0x1301ea){return function(_0x2a8aa){if(_0x2a8aa){return _0x2a8aa['destroy']()['then'](function(){_0x2c289d[_0x089b('0x16')](0xcc)[_0x089b('0x17')]();});}};}function handleEntityNotFound(_0x450097,_0x25c9a3){return function(_0x4210dc){if(!_0x4210dc){_0x450097[_0x089b('0x15')](0x194);}return _0x4210dc;};}function handleError(_0x3615bb,_0x492717){_0x492717=_0x492717||0x1f4;return function(_0x3dd8f5){logger[_0x089b('0x24')](_0x3dd8f5[_0x089b('0x25')]);if(_0x3dd8f5[_0x089b('0x26')]){delete _0x3dd8f5[_0x089b('0x26')];}_0x3615bb[_0x089b('0x16')](_0x492717)[_0x089b('0x27')](_0x3dd8f5);};}exports['index']=function(_0x44f0e5,_0x1ff654){var _0x1ed056={},_0x589593={},_0xf525e6={'count':0x0,'rows':[]};var _0x5221b0=_[_0x089b('0x28')](db[_0x089b('0x29')][_0x089b('0x2a')],function(_0x27c10f){return{'name':_0x27c10f['fieldName'],'type':_0x27c10f[_0x089b('0x2b')][_0x089b('0x2c')]};});_0x589593['model']=_[_0x089b('0x28')](_0x5221b0,_0x089b('0x26'));_0x589593['query']=_[_0x089b('0x2d')](_0x44f0e5[_0x089b('0x2e')]);_0x589593[_0x089b('0x2f')]=_[_0x089b('0x30')](_0x589593['model'],_0x589593[_0x089b('0x2e')]);_0x1ed056[_0x089b('0x31')]=_[_0x089b('0x30')](_0x589593['model'],qs[_0x089b('0x32')](_0x44f0e5[_0x089b('0x2e')][_0x089b('0x32')]));_0x1ed056[_0x089b('0x31')]=_0x1ed056[_0x089b('0x31')][_0x089b('0x33')]?_0x1ed056[_0x089b('0x31')]:_0x589593[_0x089b('0x34')];if(!_0x44f0e5[_0x089b('0x2e')][_0x089b('0x35')](_0x089b('0x36'))){_0x1ed056['limit']=qs['limit'](_0x44f0e5[_0x089b('0x2e')][_0x089b('0x19')]);_0x1ed056['offset']=qs[_0x089b('0x18')](_0x44f0e5[_0x089b('0x2e')][_0x089b('0x18')]);}_0x1ed056[_0x089b('0x37')]=qs[_0x089b('0x38')](_0x44f0e5[_0x089b('0x2e')][_0x089b('0x38')]);_0x1ed056['where']=qs[_0x089b('0x2f')](_[_0x089b('0x39')](_0x44f0e5['query'],_0x589593[_0x089b('0x2f')]),_0x5221b0);if(_0x44f0e5[_0x089b('0x2e')][_0x089b('0x3a')]){_0x1ed056['where']=_[_0x089b('0x3b')](_0x1ed056['where'],{'$or':_[_0x089b('0x28')](_0x5221b0,function(_0x2c8bcc){if(_0x2c8bcc[_0x089b('0x2b')]!==_0x089b('0x3c')){var _0x17d221={};_0x17d221[_0x2c8bcc[_0x089b('0x26')]]={'$like':'%'+_0x44f0e5[_0x089b('0x2e')][_0x089b('0x3a')]+'%'};return _0x17d221;}})});}_0x1ed056=_[_0x089b('0x3b')]({},_0x1ed056,_0x44f0e5[_0x089b('0x3d')]);var _0x55cf96={'where':_0x1ed056['where']};return db[_0x089b('0x29')][_0x089b('0x1b')](_0x55cf96)[_0x089b('0x23')](function(_0x12cca5){_0xf525e6[_0x089b('0x1b')]=_0x12cca5;if(_0x44f0e5[_0x089b('0x2e')][_0x089b('0x3e')]){_0x1ed056[_0x089b('0x3f')]=[{'all':!![]}];}return db[_0x089b('0x29')]['findAll'](_0x1ed056);})[_0x089b('0x23')](function(_0x452dab){_0xf525e6[_0x089b('0x40')]=_0x452dab;return _0xf525e6;})[_0x089b('0x23')](respondWithFilteredResult(_0x1ff654,_0x1ed056))[_0x089b('0x41')](handleError(_0x1ff654,null));};exports['show']=function(_0x51a2f8,_0x52c6e3){var _0x5cea2b={'raw':![],'where':{'id':_0x51a2f8[_0x089b('0x42')]['id']}},_0x478dae={};_0x478dae[_0x089b('0x34')]=_['keys'](db[_0x089b('0x29')][_0x089b('0x2a')]);_0x478dae['query']=_[_0x089b('0x2d')](_0x51a2f8['query']);_0x478dae[_0x089b('0x2f')]=_[_0x089b('0x30')](_0x478dae[_0x089b('0x34')],_0x478dae[_0x089b('0x2e')]);_0x5cea2b[_0x089b('0x31')]=_[_0x089b('0x30')](_0x478dae[_0x089b('0x34')],qs[_0x089b('0x32')](_0x51a2f8[_0x089b('0x2e')]['fields']));_0x5cea2b[_0x089b('0x31')]=_0x5cea2b[_0x089b('0x31')][_0x089b('0x33')]?_0x5cea2b[_0x089b('0x31')]:_0x478dae[_0x089b('0x34')];if(_0x51a2f8[_0x089b('0x2e')][_0x089b('0x3e')]){_0x5cea2b['include']=[{'all':!![]}];}_0x5cea2b=_[_0x089b('0x3b')]({},_0x5cea2b,_0x51a2f8['options']);return db['Dynamics365Configuration'][_0x089b('0x43')](_0x5cea2b)[_0x089b('0x23')](handleEntityNotFound(_0x52c6e3,null))[_0x089b('0x23')](respondWithResult(_0x52c6e3,null))[_0x089b('0x41')](handleError(_0x52c6e3,null));};exports[_0x089b('0x44')]=function(_0x4d8883,_0x238392){return db[_0x089b('0x29')]['create'](_0x4d8883['body'],{})[_0x089b('0x23')](respondWithResult(_0x238392,0xc9))[_0x089b('0x41')](handleError(_0x238392,null));};exports[_0x089b('0x22')]=function(_0x12bd5c,_0x196e5b){if(_0x12bd5c[_0x089b('0x45')]['id']){delete _0x12bd5c[_0x089b('0x45')]['id'];}return db[_0x089b('0x29')][_0x089b('0x43')]({'where':{'id':_0x12bd5c['params']['id']}})[_0x089b('0x23')](handleEntityNotFound(_0x196e5b,null))[_0x089b('0x23')](saveUpdates(_0x12bd5c[_0x089b('0x45')],null))[_0x089b('0x23')](respondWithResult(_0x196e5b,null))[_0x089b('0x41')](handleError(_0x196e5b,null));};exports['destroy']=function(_0x48557d,_0x4b3675){return db['Dynamics365Configuration'][_0x089b('0x43')]({'where':{'id':_0x48557d['params']['id']}})[_0x089b('0x23')](handleEntityNotFound(_0x4b3675,null))[_0x089b('0x23')](removeEntity(_0x4b3675,null))[_0x089b('0x41')](handleError(_0x4b3675,null));};exports[_0x089b('0x46')]=function(_0x564c66,_0x5c2b53,_0x381a27){var _0x3afce4={};var _0x1a019d={};var _0x19e41c;var _0xd918c;return db['Dynamics365Configuration'][_0x089b('0x47')]({'where':{'id':_0x564c66['params']['id']}})['then'](handleEntityNotFound(_0x5c2b53,null))[_0x089b('0x23')](function(_0xd20edf){if(_0xd20edf){_0x19e41c=_0xd20edf;_0x1a019d['model']=_[_0x089b('0x2d')](db[_0x089b('0x48')][_0x089b('0x2a')]);_0x1a019d[_0x089b('0x2e')]=_[_0x089b('0x2d')](_0x564c66[_0x089b('0x2e')]);_0x1a019d[_0x089b('0x2f')]=_[_0x089b('0x30')](_0x1a019d['model'],_0x1a019d[_0x089b('0x2e')]);_0x3afce4[_0x089b('0x31')]=_[_0x089b('0x30')](_0x1a019d[_0x089b('0x34')],qs['fields'](_0x564c66[_0x089b('0x2e')][_0x089b('0x32')]));_0x3afce4['attributes']=_0x3afce4[_0x089b('0x31')][_0x089b('0x33')]?_0x3afce4[_0x089b('0x31')]:_0x1a019d[_0x089b('0x34')];_0x3afce4[_0x089b('0x37')]=qs[_0x089b('0x38')](_0x564c66[_0x089b('0x2e')]['sort']);_0x3afce4[_0x089b('0x49')]=qs['filters'](_['pick'](_0x564c66[_0x089b('0x2e')],_0x1a019d[_0x089b('0x2f')]));if(_0x564c66['query'][_0x089b('0x3a')]){_0x3afce4[_0x089b('0x49')]=_[_0x089b('0x3b')](_0x3afce4[_0x089b('0x49')],{'$or':_['map'](_0x3afce4['attributes'],function(_0x46e66c){var _0xdf06b5={};_0xdf06b5[_0x46e66c]={'$like':'%'+_0x564c66['query'][_0x089b('0x3a')]+'%'};return _0xdf06b5;})});}_0x3afce4=_[_0x089b('0x3b')]({},_0x3afce4,_0x564c66[_0x089b('0x3d')]);return _0x19e41c['getFields'](_0x3afce4);}})['then'](function(_0x55abf0){if(_0x55abf0){_0xd918c=_0x55abf0[_0x089b('0x33')];if(!_0x564c66[_0x089b('0x2e')][_0x089b('0x35')]('nolimit')){_0x3afce4['limit']=qs[_0x089b('0x19')](_0x564c66[_0x089b('0x2e')][_0x089b('0x19')]);_0x3afce4['offset']=qs[_0x089b('0x18')](_0x564c66[_0x089b('0x2e')][_0x089b('0x18')]);}return _0x19e41c[_0x089b('0x46')](_0x3afce4);}})[_0x089b('0x23')](function(_0x1f7854){if(_0x1f7854){return _0x1f7854?{'count':_0xd918c,'rows':_0x1f7854}:null;}})[_0x089b('0x23')](respondWithResult(_0x5c2b53,null))[_0x089b('0x41')](handleError(_0x5c2b53,null));};exports[_0x089b('0x4a')]=function(_0x22d370,_0x350719,_0x23ff42){var _0x20ecc2={};var _0x3609e2={};var _0x56730b;var _0x1ff8b4;return db['Dynamics365Configuration'][_0x089b('0x47')]({'where':{'id':_0x22d370[_0x089b('0x42')]['id']}})[_0x089b('0x23')](handleEntityNotFound(_0x350719,null))['then'](function(_0x1912fa){if(_0x1912fa){_0x56730b=_0x1912fa;_0x3609e2[_0x089b('0x34')]=_[_0x089b('0x2d')](db[_0x089b('0x48')][_0x089b('0x2a')]);_0x3609e2['query']=_['keys'](_0x22d370['query']);_0x3609e2['filters']=_[_0x089b('0x30')](_0x3609e2[_0x089b('0x34')],_0x3609e2[_0x089b('0x2e')]);_0x20ecc2[_0x089b('0x31')]=_[_0x089b('0x30')](_0x3609e2[_0x089b('0x34')],qs[_0x089b('0x32')](_0x22d370[_0x089b('0x2e')][_0x089b('0x32')]));_0x20ecc2['attributes']=_0x20ecc2[_0x089b('0x31')][_0x089b('0x33')]?_0x20ecc2[_0x089b('0x31')]:_0x3609e2[_0x089b('0x34')];_0x20ecc2[_0x089b('0x37')]=qs[_0x089b('0x38')](_0x22d370[_0x089b('0x2e')][_0x089b('0x38')]);_0x20ecc2['where']=qs[_0x089b('0x2f')](_[_0x089b('0x39')](_0x22d370[_0x089b('0x2e')],_0x3609e2[_0x089b('0x2f')]));if(_0x22d370['query'][_0x089b('0x3a')]){_0x20ecc2['where']=_[_0x089b('0x3b')](_0x20ecc2[_0x089b('0x49')],{'$or':_[_0x089b('0x28')](_0x20ecc2[_0x089b('0x31')],function(_0x12eb9b){var _0x18146c={};_0x18146c[_0x12eb9b]={'$like':'%'+_0x22d370[_0x089b('0x2e')][_0x089b('0x3a')]+'%'};return _0x18146c;})});}_0x20ecc2=_[_0x089b('0x3b')]({},_0x20ecc2,_0x22d370[_0x089b('0x3d')]);return _0x56730b[_0x089b('0x4a')](_0x20ecc2);}})['then'](function(_0x1f0253){if(_0x1f0253){_0x1ff8b4=_0x1f0253[_0x089b('0x33')];if(!_0x22d370[_0x089b('0x2e')][_0x089b('0x35')](_0x089b('0x36'))){_0x20ecc2[_0x089b('0x19')]=qs[_0x089b('0x19')](_0x22d370['query'][_0x089b('0x19')]);_0x20ecc2['offset']=qs[_0x089b('0x18')](_0x22d370[_0x089b('0x2e')][_0x089b('0x18')]);}return _0x56730b[_0x089b('0x4a')](_0x20ecc2);}})[_0x089b('0x23')](function(_0x1d675d){if(_0x1d675d){return _0x1d675d?{'count':_0x1ff8b4,'rows':_0x1d675d}:null;}})['then'](respondWithResult(_0x350719,null))['catch'](handleError(_0x350719,null));};exports[_0x089b('0x4b')]=function(_0x429175,_0x106162,_0x371968){var _0x2bb1d7={};var _0xee6abf={};var _0x582111;var _0x409c0c;return db[_0x089b('0x29')][_0x089b('0x47')]({'where':{'id':_0x429175[_0x089b('0x42')]['id']}})[_0x089b('0x23')](handleEntityNotFound(_0x106162,null))['then'](function(_0x1ec91d){if(_0x1ec91d){_0x582111=_0x1ec91d;_0xee6abf[_0x089b('0x34')]=_[_0x089b('0x2d')](db[_0x089b('0x48')][_0x089b('0x2a')]);_0xee6abf[_0x089b('0x2e')]=_[_0x089b('0x2d')](_0x429175['query']);_0xee6abf['filters']=_['intersection'](_0xee6abf['model'],_0xee6abf[_0x089b('0x2e')]);_0x2bb1d7[_0x089b('0x31')]=_['intersection'](_0xee6abf['model'],qs[_0x089b('0x32')](_0x429175[_0x089b('0x2e')]['fields']));_0x2bb1d7['attributes']=_0x2bb1d7['attributes'][_0x089b('0x33')]?_0x2bb1d7[_0x089b('0x31')]:_0xee6abf[_0x089b('0x34')];_0x2bb1d7['order']=qs[_0x089b('0x38')](_0x429175['query'][_0x089b('0x38')]);_0x2bb1d7[_0x089b('0x49')]=qs[_0x089b('0x2f')](_[_0x089b('0x39')](_0x429175[_0x089b('0x2e')],_0xee6abf[_0x089b('0x2f')]));if(_0x429175[_0x089b('0x2e')][_0x089b('0x3a')]){_0x2bb1d7[_0x089b('0x49')]=_[_0x089b('0x3b')](_0x2bb1d7['where'],{'$or':_['map'](_0x2bb1d7['attributes'],function(_0x573346){var _0x3df993={};_0x3df993[_0x573346]={'$like':'%'+_0x429175['query']['filter']+'%'};return _0x3df993;})});}_0x2bb1d7=_[_0x089b('0x3b')]({},_0x2bb1d7,_0x429175[_0x089b('0x3d')]);return _0x582111[_0x089b('0x4b')](_0x2bb1d7);}})['then'](function(_0x47102c){if(_0x47102c){_0x409c0c=_0x47102c[_0x089b('0x33')];if(!_0x429175[_0x089b('0x2e')][_0x089b('0x35')](_0x089b('0x36'))){_0x2bb1d7[_0x089b('0x19')]=qs[_0x089b('0x19')](_0x429175[_0x089b('0x2e')][_0x089b('0x19')]);_0x2bb1d7[_0x089b('0x18')]=qs['offset'](_0x429175[_0x089b('0x2e')][_0x089b('0x18')]);}return _0x582111[_0x089b('0x4b')](_0x2bb1d7);}})['then'](function(_0x1d39be){if(_0x1d39be){return _0x1d39be?{'count':_0x409c0c,'rows':_0x1d39be}:null;}})[_0x089b('0x23')](respondWithResult(_0x106162,null))[_0x089b('0x41')](handleError(_0x106162,null));};