Built motion from commit 06eb8eb0.|2.6.31
[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 _0x2e47=['order','hasOwnProperty','getSubjects','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','destroy','sendStatus','error','stack','name','send','map','Dynamics365Configuration','fieldName','type','query','keys','intersection','model','attributes','fields','length','nolimit','sort','where','pick','filters','filter','merge','VIRTUAL','options','then','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','body','getFields','Dynamics365Field'];(function(_0x46c6e1,_0x3e103d){var _0x23f5dd=function(_0xcc1bd5){while(--_0xcc1bd5){_0x46c6e1['push'](_0x46c6e1['shift']());}};_0x23f5dd(++_0x3e103d);}(_0x2e47,0x1ea));var _0x72e4=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x2e47[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x72e4('0x0'));var zipdir=require(_0x72e4('0x1'));var jsonpatch=require(_0x72e4('0x2'));var rp=require(_0x72e4('0x3'));var moment=require(_0x72e4('0x4'));var BPromise=require(_0x72e4('0x5'));var Mustache=require(_0x72e4('0x6'));var util=require('util');var path=require(_0x72e4('0x7'));var sox=require(_0x72e4('0x8'));var csv=require(_0x72e4('0x9'));var ejs=require(_0x72e4('0xa'));var fs=require('fs');var fs_extra=require(_0x72e4('0xb'));var _=require(_0x72e4('0xc'));var squel=require(_0x72e4('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x72e4('0xe'));var toCsv=require(_0x72e4('0x9'));var querystring=require(_0x72e4('0xf'));var Papa=require(_0x72e4('0x10'));var Redis=require(_0x72e4('0x11'));var authService=require(_0x72e4('0x12'));var qs=require(_0x72e4('0x13'));var as=require(_0x72e4('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0x72e4('0x15'));var config=require(_0x72e4('0x16'));var licenseUtil=require(_0x72e4('0x17'));var db=require(_0x72e4('0x18'))['db'];function respondWithStatusCode(_0x5b3d5e,_0x3307e5){_0x3307e5=_0x3307e5||0xcc;return function(_0x168746){if(_0x168746){return _0x5b3d5e['sendStatus'](_0x3307e5);}return _0x5b3d5e[_0x72e4('0x19')](_0x3307e5)[_0x72e4('0x1a')]();};}function respondWithResult(_0x1e72ba,_0x360443){_0x360443=_0x360443||0xc8;return function(_0x1d0fa5){if(_0x1d0fa5){return _0x1e72ba[_0x72e4('0x19')](_0x360443)[_0x72e4('0x1b')](_0x1d0fa5);}};}function respondWithFilteredResult(_0x3caa44,_0x546a22){return function(_0x584898){if(_0x584898){var _0x335fc6=typeof _0x546a22[_0x72e4('0x1c')]===_0x72e4('0x1d')&&typeof _0x546a22['limit']===_0x72e4('0x1d');var _0x964890=_0x584898['count'];var _0x5783cb=_0x335fc6?0x0:_0x546a22[_0x72e4('0x1c')];var _0x2dcf82=_0x335fc6?_0x584898[_0x72e4('0x1e')]:_0x546a22[_0x72e4('0x1c')]+_0x546a22[_0x72e4('0x1f')];var _0x6b107e;if(_0x2dcf82>=_0x964890){_0x2dcf82=_0x964890;_0x6b107e=0xc8;}else{_0x6b107e=0xce;}_0x3caa44['status'](_0x6b107e);return _0x3caa44[_0x72e4('0x20')](_0x72e4('0x21'),_0x5783cb+'-'+_0x2dcf82+'/'+_0x964890)['json'](_0x584898);}return null;};}function patchUpdates(_0x4b2f3d){return function(_0x32bbdd){try{jsonpatch[_0x72e4('0x22')](_0x32bbdd,_0x4b2f3d,!![]);}catch(_0xf9e53e){return BPromise[_0x72e4('0x23')](_0xf9e53e);}return _0x32bbdd[_0x72e4('0x24')]();};}function saveUpdates(_0x543806,_0x4ca0a1){return function(_0x574cde){if(_0x574cde){return _0x574cde[_0x72e4('0x25')](_0x543806)['then'](function(_0x31ae1b){return _0x31ae1b;});}return null;};}function removeEntity(_0x2f950c,_0x370ce3){return function(_0x17920d){if(_0x17920d){return _0x17920d[_0x72e4('0x26')]()['then'](function(){_0x2f950c[_0x72e4('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x58960d,_0x598df9){return function(_0x3d39cc){if(!_0x3d39cc){_0x58960d[_0x72e4('0x27')](0x194);}return _0x3d39cc;};}function handleError(_0x8cdf03,_0x4ad57c){_0x4ad57c=_0x4ad57c||0x1f4;return function(_0x129902){logger[_0x72e4('0x28')](_0x129902[_0x72e4('0x29')]);if(_0x129902[_0x72e4('0x2a')]){delete _0x129902[_0x72e4('0x2a')];}_0x8cdf03[_0x72e4('0x19')](_0x4ad57c)[_0x72e4('0x2b')](_0x129902);};}exports['index']=function(_0x485e9f,_0x57259f){var _0x274b44={},_0x3737f8={},_0x58f94a={'count':0x0,'rows':[]};var _0x3a3709=_[_0x72e4('0x2c')](db[_0x72e4('0x2d')]['rawAttributes'],function(_0x5cb023){return{'name':_0x5cb023[_0x72e4('0x2e')],'type':_0x5cb023[_0x72e4('0x2f')]['key']};});_0x3737f8['model']=_[_0x72e4('0x2c')](_0x3a3709,_0x72e4('0x2a'));_0x3737f8[_0x72e4('0x30')]=_[_0x72e4('0x31')](_0x485e9f[_0x72e4('0x30')]);_0x3737f8['filters']=_[_0x72e4('0x32')](_0x3737f8[_0x72e4('0x33')],_0x3737f8[_0x72e4('0x30')]);_0x274b44[_0x72e4('0x34')]=_['intersection'](_0x3737f8[_0x72e4('0x33')],qs['fields'](_0x485e9f['query'][_0x72e4('0x35')]));_0x274b44[_0x72e4('0x34')]=_0x274b44[_0x72e4('0x34')][_0x72e4('0x36')]?_0x274b44[_0x72e4('0x34')]:_0x3737f8[_0x72e4('0x33')];if(!_0x485e9f['query']['hasOwnProperty'](_0x72e4('0x37'))){_0x274b44['limit']=qs[_0x72e4('0x1f')](_0x485e9f[_0x72e4('0x30')][_0x72e4('0x1f')]);_0x274b44['offset']=qs[_0x72e4('0x1c')](_0x485e9f[_0x72e4('0x30')]['offset']);}_0x274b44['order']=qs[_0x72e4('0x38')](_0x485e9f['query']['sort']);_0x274b44[_0x72e4('0x39')]=qs['filters'](_[_0x72e4('0x3a')](_0x485e9f[_0x72e4('0x30')],_0x3737f8[_0x72e4('0x3b')]),_0x3a3709);if(_0x485e9f[_0x72e4('0x30')][_0x72e4('0x3c')]){_0x274b44[_0x72e4('0x39')]=_[_0x72e4('0x3d')](_0x274b44[_0x72e4('0x39')],{'$or':_[_0x72e4('0x2c')](_0x3a3709,function(_0x4c6ca6){if(_0x4c6ca6[_0x72e4('0x2f')]!==_0x72e4('0x3e')){var _0x184786={};_0x184786[_0x4c6ca6[_0x72e4('0x2a')]]={'$like':'%'+_0x485e9f[_0x72e4('0x30')]['filter']+'%'};return _0x184786;}})});}_0x274b44=_['merge']({},_0x274b44,_0x485e9f[_0x72e4('0x3f')]);var _0x9c3023={'where':_0x274b44[_0x72e4('0x39')]};return db[_0x72e4('0x2d')][_0x72e4('0x1e')](_0x9c3023)[_0x72e4('0x40')](function(_0x46e8d6){_0x58f94a['count']=_0x46e8d6;if(_0x485e9f[_0x72e4('0x30')][_0x72e4('0x41')]){_0x274b44['include']=[{'all':!![]}];}return db[_0x72e4('0x2d')][_0x72e4('0x42')](_0x274b44);})[_0x72e4('0x40')](function(_0x142d4c){_0x58f94a[_0x72e4('0x43')]=_0x142d4c;return _0x58f94a;})[_0x72e4('0x40')](respondWithFilteredResult(_0x57259f,_0x274b44))[_0x72e4('0x44')](handleError(_0x57259f,null));};exports[_0x72e4('0x45')]=function(_0x3734f3,_0x5f4e7b){var _0x41e402={'raw':![],'where':{'id':_0x3734f3[_0x72e4('0x46')]['id']}},_0x33eb08={};_0x33eb08[_0x72e4('0x33')]=_[_0x72e4('0x31')](db[_0x72e4('0x2d')][_0x72e4('0x47')]);_0x33eb08[_0x72e4('0x30')]=_['keys'](_0x3734f3[_0x72e4('0x30')]);_0x33eb08[_0x72e4('0x3b')]=_[_0x72e4('0x32')](_0x33eb08[_0x72e4('0x33')],_0x33eb08[_0x72e4('0x30')]);_0x41e402[_0x72e4('0x34')]=_[_0x72e4('0x32')](_0x33eb08[_0x72e4('0x33')],qs['fields'](_0x3734f3[_0x72e4('0x30')]['fields']));_0x41e402[_0x72e4('0x34')]=_0x41e402[_0x72e4('0x34')][_0x72e4('0x36')]?_0x41e402[_0x72e4('0x34')]:_0x33eb08['model'];if(_0x3734f3[_0x72e4('0x30')][_0x72e4('0x41')]){_0x41e402[_0x72e4('0x48')]=[{'all':!![]}];}_0x41e402=_[_0x72e4('0x3d')]({},_0x41e402,_0x3734f3['options']);return db[_0x72e4('0x2d')][_0x72e4('0x49')](_0x41e402)[_0x72e4('0x40')](handleEntityNotFound(_0x5f4e7b,null))[_0x72e4('0x40')](respondWithResult(_0x5f4e7b,null))['catch'](handleError(_0x5f4e7b,null));};exports['create']=function(_0x5a1dd0,_0xa724ce){return db[_0x72e4('0x2d')]['create'](_0x5a1dd0[_0x72e4('0x4a')],{})[_0x72e4('0x40')](respondWithResult(_0xa724ce,0xc9))[_0x72e4('0x44')](handleError(_0xa724ce,null));};exports['update']=function(_0x18ade1,_0xe166ee){if(_0x18ade1[_0x72e4('0x4a')]['id']){delete _0x18ade1[_0x72e4('0x4a')]['id'];}return db['Dynamics365Configuration'][_0x72e4('0x49')]({'where':{'id':_0x18ade1[_0x72e4('0x46')]['id']}})[_0x72e4('0x40')](handleEntityNotFound(_0xe166ee,null))[_0x72e4('0x40')](saveUpdates(_0x18ade1[_0x72e4('0x4a')],null))['then'](respondWithResult(_0xe166ee,null))[_0x72e4('0x44')](handleError(_0xe166ee,null));};exports['destroy']=function(_0x4e5cb0,_0x33511c){return db[_0x72e4('0x2d')][_0x72e4('0x49')]({'where':{'id':_0x4e5cb0[_0x72e4('0x46')]['id']}})[_0x72e4('0x40')](handleEntityNotFound(_0x33511c,null))[_0x72e4('0x40')](removeEntity(_0x33511c,null))[_0x72e4('0x44')](handleError(_0x33511c,null));};exports[_0x72e4('0x4b')]=function(_0x1c1546,_0x45505f,_0x212e96){var _0x1b0c92={};var _0xe422a7={};var _0xd6b66d;var _0x298870;return db[_0x72e4('0x2d')]['findOne']({'where':{'id':_0x1c1546['params']['id']}})['then'](handleEntityNotFound(_0x45505f,null))[_0x72e4('0x40')](function(_0x5d7d57){if(_0x5d7d57){_0xd6b66d=_0x5d7d57;_0xe422a7[_0x72e4('0x33')]=_[_0x72e4('0x31')](db[_0x72e4('0x4c')]['rawAttributes']);_0xe422a7[_0x72e4('0x30')]=_['keys'](_0x1c1546['query']);_0xe422a7[_0x72e4('0x3b')]=_[_0x72e4('0x32')](_0xe422a7['model'],_0xe422a7['query']);_0x1b0c92[_0x72e4('0x34')]=_[_0x72e4('0x32')](_0xe422a7[_0x72e4('0x33')],qs['fields'](_0x1c1546[_0x72e4('0x30')]['fields']));_0x1b0c92[_0x72e4('0x34')]=_0x1b0c92['attributes'][_0x72e4('0x36')]?_0x1b0c92[_0x72e4('0x34')]:_0xe422a7[_0x72e4('0x33')];_0x1b0c92[_0x72e4('0x4d')]=qs[_0x72e4('0x38')](_0x1c1546[_0x72e4('0x30')][_0x72e4('0x38')]);_0x1b0c92['where']=qs['filters'](_[_0x72e4('0x3a')](_0x1c1546[_0x72e4('0x30')],_0xe422a7[_0x72e4('0x3b')]));if(_0x1c1546[_0x72e4('0x30')][_0x72e4('0x3c')]){_0x1b0c92[_0x72e4('0x39')]=_['merge'](_0x1b0c92[_0x72e4('0x39')],{'$or':_[_0x72e4('0x2c')](_0x1b0c92[_0x72e4('0x34')],function(_0xd5e18d){var _0x1fe55d={};_0x1fe55d[_0xd5e18d]={'$like':'%'+_0x1c1546['query'][_0x72e4('0x3c')]+'%'};return _0x1fe55d;})});}_0x1b0c92=_[_0x72e4('0x3d')]({},_0x1b0c92,_0x1c1546[_0x72e4('0x3f')]);return _0xd6b66d[_0x72e4('0x4b')](_0x1b0c92);}})[_0x72e4('0x40')](function(_0x513c6b){if(_0x513c6b){_0x298870=_0x513c6b[_0x72e4('0x36')];if(!_0x1c1546[_0x72e4('0x30')][_0x72e4('0x4e')](_0x72e4('0x37'))){_0x1b0c92[_0x72e4('0x1f')]=qs['limit'](_0x1c1546[_0x72e4('0x30')][_0x72e4('0x1f')]);_0x1b0c92[_0x72e4('0x1c')]=qs[_0x72e4('0x1c')](_0x1c1546[_0x72e4('0x30')][_0x72e4('0x1c')]);}return _0xd6b66d['getFields'](_0x1b0c92);}})[_0x72e4('0x40')](function(_0x33afcf){if(_0x33afcf){return _0x33afcf?{'count':_0x298870,'rows':_0x33afcf}:null;}})['then'](respondWithResult(_0x45505f,null))['catch'](handleError(_0x45505f,null));};exports[_0x72e4('0x4f')]=function(_0x274203,_0x28d022,_0x34d193){var _0x2b5eec={};var _0x44488b={};var _0x57990d;var _0x10857f;return db[_0x72e4('0x2d')]['findOne']({'where':{'id':_0x274203[_0x72e4('0x46')]['id']}})[_0x72e4('0x40')](handleEntityNotFound(_0x28d022,null))[_0x72e4('0x40')](function(_0x111cd4){if(_0x111cd4){_0x57990d=_0x111cd4;_0x44488b['model']=_['keys'](db[_0x72e4('0x4c')][_0x72e4('0x47')]);_0x44488b['query']=_[_0x72e4('0x31')](_0x274203[_0x72e4('0x30')]);_0x44488b['filters']=_[_0x72e4('0x32')](_0x44488b[_0x72e4('0x33')],_0x44488b[_0x72e4('0x30')]);_0x2b5eec[_0x72e4('0x34')]=_['intersection'](_0x44488b[_0x72e4('0x33')],qs[_0x72e4('0x35')](_0x274203[_0x72e4('0x30')]['fields']));_0x2b5eec[_0x72e4('0x34')]=_0x2b5eec['attributes'][_0x72e4('0x36')]?_0x2b5eec[_0x72e4('0x34')]:_0x44488b[_0x72e4('0x33')];_0x2b5eec[_0x72e4('0x4d')]=qs[_0x72e4('0x38')](_0x274203['query'][_0x72e4('0x38')]);_0x2b5eec[_0x72e4('0x39')]=qs['filters'](_[_0x72e4('0x3a')](_0x274203[_0x72e4('0x30')],_0x44488b[_0x72e4('0x3b')]));if(_0x274203[_0x72e4('0x30')][_0x72e4('0x3c')]){_0x2b5eec[_0x72e4('0x39')]=_[_0x72e4('0x3d')](_0x2b5eec[_0x72e4('0x39')],{'$or':_['map'](_0x2b5eec[_0x72e4('0x34')],function(_0x230dbe){var _0x50d2f1={};_0x50d2f1[_0x230dbe]={'$like':'%'+_0x274203[_0x72e4('0x30')][_0x72e4('0x3c')]+'%'};return _0x50d2f1;})});}_0x2b5eec=_[_0x72e4('0x3d')]({},_0x2b5eec,_0x274203['options']);return _0x57990d[_0x72e4('0x4f')](_0x2b5eec);}})[_0x72e4('0x40')](function(_0x5c8ecb){if(_0x5c8ecb){_0x10857f=_0x5c8ecb['length'];if(!_0x274203['query'][_0x72e4('0x4e')](_0x72e4('0x37'))){_0x2b5eec[_0x72e4('0x1f')]=qs['limit'](_0x274203['query'][_0x72e4('0x1f')]);_0x2b5eec[_0x72e4('0x1c')]=qs[_0x72e4('0x1c')](_0x274203[_0x72e4('0x30')][_0x72e4('0x1c')]);}return _0x57990d[_0x72e4('0x4f')](_0x2b5eec);}})[_0x72e4('0x40')](function(_0x4b54e8){if(_0x4b54e8){return _0x4b54e8?{'count':_0x10857f,'rows':_0x4b54e8}:null;}})[_0x72e4('0x40')](respondWithResult(_0x28d022,null))['catch'](handleError(_0x28d022,null));};exports[_0x72e4('0x50')]=function(_0x54b70f,_0x8f62b0,_0x53884d){var _0xba5639={};var _0x11c1f1={};var _0xf81b5a;var _0x14f64c;return db[_0x72e4('0x2d')]['findOne']({'where':{'id':_0x54b70f[_0x72e4('0x46')]['id']}})['then'](handleEntityNotFound(_0x8f62b0,null))[_0x72e4('0x40')](function(_0x158357){if(_0x158357){_0xf81b5a=_0x158357;_0x11c1f1[_0x72e4('0x33')]=_[_0x72e4('0x31')](db['Dynamics365Field'][_0x72e4('0x47')]);_0x11c1f1[_0x72e4('0x30')]=_['keys'](_0x54b70f[_0x72e4('0x30')]);_0x11c1f1[_0x72e4('0x3b')]=_[_0x72e4('0x32')](_0x11c1f1[_0x72e4('0x33')],_0x11c1f1[_0x72e4('0x30')]);_0xba5639[_0x72e4('0x34')]=_[_0x72e4('0x32')](_0x11c1f1[_0x72e4('0x33')],qs[_0x72e4('0x35')](_0x54b70f[_0x72e4('0x30')][_0x72e4('0x35')]));_0xba5639[_0x72e4('0x34')]=_0xba5639[_0x72e4('0x34')][_0x72e4('0x36')]?_0xba5639[_0x72e4('0x34')]:_0x11c1f1[_0x72e4('0x33')];_0xba5639[_0x72e4('0x4d')]=qs[_0x72e4('0x38')](_0x54b70f[_0x72e4('0x30')][_0x72e4('0x38')]);_0xba5639[_0x72e4('0x39')]=qs[_0x72e4('0x3b')](_['pick'](_0x54b70f[_0x72e4('0x30')],_0x11c1f1['filters']));if(_0x54b70f[_0x72e4('0x30')][_0x72e4('0x3c')]){_0xba5639[_0x72e4('0x39')]=_[_0x72e4('0x3d')](_0xba5639[_0x72e4('0x39')],{'$or':_[_0x72e4('0x2c')](_0xba5639['attributes'],function(_0x21aec8){var _0x327270={};_0x327270[_0x21aec8]={'$like':'%'+_0x54b70f[_0x72e4('0x30')][_0x72e4('0x3c')]+'%'};return _0x327270;})});}_0xba5639=_[_0x72e4('0x3d')]({},_0xba5639,_0x54b70f[_0x72e4('0x3f')]);return _0xf81b5a[_0x72e4('0x50')](_0xba5639);}})['then'](function(_0x3ef3c7){if(_0x3ef3c7){_0x14f64c=_0x3ef3c7[_0x72e4('0x36')];if(!_0x54b70f[_0x72e4('0x30')][_0x72e4('0x4e')]('nolimit')){_0xba5639[_0x72e4('0x1f')]=qs[_0x72e4('0x1f')](_0x54b70f[_0x72e4('0x30')][_0x72e4('0x1f')]);_0xba5639[_0x72e4('0x1c')]=qs[_0x72e4('0x1c')](_0x54b70f[_0x72e4('0x30')][_0x72e4('0x1c')]);}return _0xf81b5a['getDescriptions'](_0xba5639);}})[_0x72e4('0x40')](function(_0x2cd65d){if(_0x2cd65d){return _0x2cd65d?{'count':_0x14f64c,'rows':_0x2cd65d}:null;}})[_0x72e4('0x40')](respondWithResult(_0x8f62b0,null))['catch'](handleError(_0x8f62b0,null));};