Built motion from commit (unavailable).|2.4.3
[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 _0x59c2=['where','pick','filter','merge','map','type','key','field','options','includeAll','include','rows','show','keys','create','body','find','params','order','getFields','getSubjects','findOne','Dynamics365Field','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','api','../../config/utils','../../mysqldb','jayson/promise','client','http','test','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','Dynamics365Configuration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','reject','update','stack','name','send','index','Dynamics365Configuration','rawAttributes','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort'];(function(_0x5d8e11,_0x1b2574){var _0x25fa53=function(_0x5376ce){while(--_0x5376ce){_0x5d8e11['push'](_0x5d8e11['shift']());}};_0x25fa53(++_0x1b2574);}(_0x59c2,0x11d));var _0x259c=function(_0x37ae2e,_0x35be3a){_0x37ae2e=_0x37ae2e-0x0;var _0x19c50f=_0x59c2[_0x37ae2e];return _0x19c50f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x259c('0x0'));var rimraf=require(_0x259c('0x1'));var zipdir=require(_0x259c('0x2'));var jsonpatch=require(_0x259c('0x3'));var rp=require(_0x259c('0x4'));var moment=require(_0x259c('0x5'));var BPromise=require(_0x259c('0x6'));var Mustache=require('mustache');var util=require(_0x259c('0x7'));var path=require(_0x259c('0x8'));var sox=require(_0x259c('0x9'));var csv=require('to-csv');var ejs=require(_0x259c('0xa'));var fs=require('fs');var _=require(_0x259c('0xb'));var squel=require(_0x259c('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x259c('0xd'));var toCsv=require('to-csv');var querystring=require(_0x259c('0xe'));var Papa=require('papaparse');var Redis=require(_0x259c('0xf'));var authService=require(_0x259c('0x10'));var qs=require(_0x259c('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x259c('0x12'));var utils=require(_0x259c('0x13'));var config=require('../../config/environment');var db=require(_0x259c('0x14'))['db'];var jayson=require(_0x259c('0x15'));var client=jayson[_0x259c('0x16')][_0x259c('0x17')]({'port':0x232a});function checkPasswordPattern(_0x43e3e0,_0x54dc1b,_0x36c25b){if(_0x36c25b){var _0x5beb90=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x5beb90[_0x259c('0x18')](_0x54dc1b)){return _0x43e3e0;}else{throw new Error(_0x259c('0x19'));}}else{return _0x43e3e0;}}function respondWithRpcPromise(_0x4b2d68,_0x5088a6,_0xe50d25,_0x5e5143){return new BPromise(function(_0x188347,_0x46ef70){var _0x504fcd=_0x5e5143||client;return _0x504fcd[_0x259c('0x1a')](_0x4b2d68,_0xe50d25)[_0x259c('0x1b')](function(_0x19a4d6){logger[_0x259c('0x1c')](_0x259c('0x1d'),_0x5088a6,_0x259c('0x1e'));logger[_0x259c('0x1f')]('Dynamics365Configuration,\x20%s,\x20%s,\x20%s',_0x5088a6,_0x259c('0x1e'),JSON[_0x259c('0x20')](_0x19a4d6));if(_0x19a4d6[_0x259c('0x21')]){if(_0x19a4d6[_0x259c('0x21')]['code']===0x1f4){logger[_0x259c('0x21')](_0x259c('0x1d'),_0x5088a6,_0x19a4d6[_0x259c('0x21')]['message']);return _0x46ef70(_0x19a4d6[_0x259c('0x21')][_0x259c('0x22')]);}logger['error'](_0x259c('0x1d'),_0x5088a6,_0x19a4d6[_0x259c('0x21')][_0x259c('0x22')]);return _0x188347(_0x19a4d6[_0x259c('0x21')][_0x259c('0x22')]);}else{logger['info'](_0x259c('0x1d'),_0x5088a6,_0x259c('0x1e'));_0x188347(_0x19a4d6[_0x259c('0x23')][_0x259c('0x22')]);}})[_0x259c('0x24')](function(_0xb0e21e){logger[_0x259c('0x21')](_0x259c('0x1d'),_0x5088a6,_0xb0e21e);_0x46ef70(_0xb0e21e);});});}function respondWithStatusCode(_0x2257cf,_0x38da2e){_0x38da2e=_0x38da2e||0xcc;return function(_0x33aa31){if(_0x33aa31){return _0x2257cf[_0x259c('0x25')](_0x38da2e);}return _0x2257cf[_0x259c('0x26')](_0x38da2e)[_0x259c('0x27')]();};}function respondWithResult(_0x4b4180,_0x1ac2cd){_0x1ac2cd=_0x1ac2cd||0xc8;return function(_0x51e5e9){if(_0x51e5e9){return _0x4b4180['status'](_0x1ac2cd)['json'](_0x51e5e9);}};}function respondWithFilteredResult(_0x90cdd8,_0x27cd81){return function(_0x4b09a3){if(_0x4b09a3){var _0x8544ed=_0x4b09a3[_0x259c('0x28')],_0x23d91a=_0x27cd81[_0x259c('0x29')],_0x45a2a0=_0x27cd81[_0x259c('0x29')]+_0x27cd81[_0x259c('0x2a')],_0xd337f0;if(_0x45a2a0>=_0x8544ed){_0x45a2a0=_0x8544ed;_0xd337f0=0xc8;}else{_0xd337f0=0xce;}_0x90cdd8[_0x259c('0x26')](_0xd337f0);return _0x90cdd8[_0x259c('0x2b')](_0x259c('0x2c'),_0x23d91a+'-'+_0x45a2a0+'/'+_0x8544ed)['json'](_0x4b09a3);}return null;};}function patchUpdates(_0x581f85){return function(_0x32888f){try{jsonpatch['apply'](_0x32888f,_0x581f85,!![]);}catch(_0x4fae63){return BPromise[_0x259c('0x2d')](_0x4fae63);}return _0x32888f['save']();};}function saveUpdates(_0x9d70ff,_0x2335e4){return function(_0x325ee3){if(_0x325ee3){return _0x325ee3[_0x259c('0x2e')](_0x9d70ff)[_0x259c('0x1b')](function(_0x3f0e3b){return _0x3f0e3b;});}return null;};}function removeEntity(_0x50d374,_0x4e8963){return function(_0x5d4038){if(_0x5d4038){return _0x5d4038['destroy']()['then'](function(){_0x50d374[_0x259c('0x26')](0xcc)[_0x259c('0x27')]();});}};}function handleEntityNotFound(_0x1f0c56,_0x2fec7e){return function(_0x3f5daa){if(!_0x3f5daa){_0x1f0c56['sendStatus'](0x194);}return _0x3f5daa;};}function handleError(_0xaf249c,_0x7bf7fe){_0x7bf7fe=_0x7bf7fe||0x1f4;return function(_0x1f1adf){logger[_0x259c('0x21')](_0x1f1adf[_0x259c('0x2f')]);if(_0x1f1adf[_0x259c('0x30')]){delete _0x1f1adf[_0x259c('0x30')];}_0xaf249c[_0x259c('0x26')](_0x7bf7fe)[_0x259c('0x31')](_0x1f1adf);};}exports[_0x259c('0x32')]=function(_0x687ab4,_0x3ca79e){var _0x372dfe={},_0x48a045={},_0xa1d580={'count':0x0,'rows':[]};var _0x12cebf=db[_0x259c('0x33')][_0x259c('0x34')];_0x48a045[_0x259c('0x35')]=_['keys'](_0x12cebf);_0x48a045[_0x259c('0x36')]=_['keys'](_0x687ab4[_0x259c('0x36')]);_0x48a045[_0x259c('0x37')]=_[_0x259c('0x38')](_0x48a045['model'],_0x48a045[_0x259c('0x36')]);_0x372dfe['attributes']=_[_0x259c('0x38')](_0x48a045[_0x259c('0x35')],qs['fields'](_0x687ab4[_0x259c('0x36')][_0x259c('0x39')]));_0x372dfe[_0x259c('0x3a')]=_0x372dfe[_0x259c('0x3a')][_0x259c('0x3b')]?_0x372dfe[_0x259c('0x3a')]:_0x48a045[_0x259c('0x35')];if(!_0x687ab4['query'][_0x259c('0x3c')](_0x259c('0x3d'))){_0x372dfe[_0x259c('0x2a')]=qs[_0x259c('0x2a')](_0x687ab4[_0x259c('0x36')][_0x259c('0x2a')]);_0x372dfe[_0x259c('0x29')]=qs['offset'](_0x687ab4['query'][_0x259c('0x29')]);}_0x372dfe['order']=qs[_0x259c('0x3e')](_0x687ab4['query']['sort']);_0x372dfe[_0x259c('0x3f')]=qs['filters'](_[_0x259c('0x40')](_0x687ab4[_0x259c('0x36')],_0x48a045[_0x259c('0x37')]));if(_0x687ab4[_0x259c('0x36')][_0x259c('0x41')]){_0x372dfe[_0x259c('0x3f')]=_[_0x259c('0x42')](_0x372dfe[_0x259c('0x3f')],{'$or':_[_0x259c('0x43')](_0x12cebf,function(_0x89b529){if(_0x89b529[_0x259c('0x44')][_0x259c('0x45')]!=='VIRTUAL'){var _0x7e77e7={};_0x7e77e7[_0x89b529[_0x259c('0x46')]]={'$like':'%'+_0x687ab4['query'][_0x259c('0x41')]+'%'};return _0x7e77e7;}})});}_0x372dfe=_['merge']({},_0x372dfe,_0x687ab4[_0x259c('0x47')]);var _0x4c70b5={'where':_0x372dfe['where']};return db['Dynamics365Configuration']['count'](_0x4c70b5)[_0x259c('0x1b')](function(_0x45f308){_0xa1d580['count']=_0x45f308;if(_0x687ab4[_0x259c('0x36')][_0x259c('0x48')]){_0x372dfe[_0x259c('0x49')]=[{'all':!![]}];}return db['Dynamics365Configuration']['findAll'](_0x372dfe);})['then'](function(_0x5f2549){_0xa1d580[_0x259c('0x4a')]=_0x5f2549;return _0xa1d580;})[_0x259c('0x1b')](respondWithFilteredResult(_0x3ca79e,_0x372dfe))['catch'](handleError(_0x3ca79e,null));};exports[_0x259c('0x4b')]=function(_0x4694c8,_0x9e26b3){var _0x4af6d9={'raw':![],'where':{'id':_0x4694c8['params']['id']}},_0x54652b={};_0x54652b['model']=_[_0x259c('0x4c')](db[_0x259c('0x33')][_0x259c('0x34')]);_0x54652b['query']=_[_0x259c('0x4c')](_0x4694c8[_0x259c('0x36')]);_0x54652b['filters']=_[_0x259c('0x38')](_0x54652b[_0x259c('0x35')],_0x54652b[_0x259c('0x36')]);_0x4af6d9[_0x259c('0x3a')]=_[_0x259c('0x38')](_0x54652b['model'],qs['fields'](_0x4694c8[_0x259c('0x36')][_0x259c('0x39')]));_0x4af6d9['attributes']=_0x4af6d9[_0x259c('0x3a')][_0x259c('0x3b')]?_0x4af6d9[_0x259c('0x3a')]:_0x54652b[_0x259c('0x35')];if(_0x4694c8[_0x259c('0x36')]['includeAll']){_0x4af6d9['include']=[{'all':!![]}];}_0x4af6d9=_[_0x259c('0x42')]({},_0x4af6d9,_0x4694c8[_0x259c('0x47')]);return db[_0x259c('0x33')]['find'](_0x4af6d9)[_0x259c('0x1b')](handleEntityNotFound(_0x9e26b3,null))[_0x259c('0x1b')](respondWithResult(_0x9e26b3,null))[_0x259c('0x24')](handleError(_0x9e26b3,null));};exports[_0x259c('0x4d')]=function(_0x3ffae2,_0x4870aa){return db['Dynamics365Configuration'][_0x259c('0x4d')](_0x3ffae2[_0x259c('0x4e')],{})['then'](respondWithResult(_0x4870aa,0xc9))[_0x259c('0x24')](handleError(_0x4870aa,null));};exports[_0x259c('0x2e')]=function(_0x419dd4,_0x3d3957){if(_0x419dd4[_0x259c('0x4e')]['id']){delete _0x419dd4[_0x259c('0x4e')]['id'];}return db[_0x259c('0x33')][_0x259c('0x4f')]({'where':{'id':_0x419dd4[_0x259c('0x50')]['id']}})['then'](handleEntityNotFound(_0x3d3957,null))[_0x259c('0x1b')](saveUpdates(_0x419dd4[_0x259c('0x4e')],null))[_0x259c('0x1b')](respondWithResult(_0x3d3957,null))[_0x259c('0x24')](handleError(_0x3d3957,null));};exports['destroy']=function(_0x5697df,_0x19a719){return db[_0x259c('0x33')][_0x259c('0x4f')]({'where':{'id':_0x5697df['params']['id']}})[_0x259c('0x1b')](handleEntityNotFound(_0x19a719,null))['then'](removeEntity(_0x19a719,null))[_0x259c('0x24')](handleError(_0x19a719,null));};exports['getFields']=function(_0x11fafd,_0x526f5a,_0x2825ff){var _0x41fdb3={};var _0x5b0224={};var _0x2e3874;var _0x50e084;return db[_0x259c('0x33')]['findOne']({'where':{'id':_0x11fafd['params']['id']}})[_0x259c('0x1b')](handleEntityNotFound(_0x526f5a,null))[_0x259c('0x1b')](function(_0x3b0719){if(_0x3b0719){_0x2e3874=_0x3b0719;_0x5b0224[_0x259c('0x35')]=_[_0x259c('0x4c')](db['Dynamics365Field']['rawAttributes']);_0x5b0224[_0x259c('0x36')]=_[_0x259c('0x4c')](_0x11fafd[_0x259c('0x36')]);_0x5b0224[_0x259c('0x37')]=_[_0x259c('0x38')](_0x5b0224['model'],_0x5b0224[_0x259c('0x36')]);_0x41fdb3[_0x259c('0x3a')]=_[_0x259c('0x38')](_0x5b0224['model'],qs[_0x259c('0x39')](_0x11fafd[_0x259c('0x36')]['fields']));_0x41fdb3[_0x259c('0x3a')]=_0x41fdb3[_0x259c('0x3a')][_0x259c('0x3b')]?_0x41fdb3[_0x259c('0x3a')]:_0x5b0224['model'];_0x41fdb3[_0x259c('0x51')]=qs[_0x259c('0x3e')](_0x11fafd[_0x259c('0x36')][_0x259c('0x3e')]);_0x41fdb3[_0x259c('0x3f')]=qs[_0x259c('0x37')](_[_0x259c('0x40')](_0x11fafd[_0x259c('0x36')],_0x5b0224[_0x259c('0x37')]));if(_0x11fafd[_0x259c('0x36')]['filter']){_0x41fdb3['where']=_['merge'](_0x41fdb3[_0x259c('0x3f')],{'$or':_[_0x259c('0x43')](_0x41fdb3[_0x259c('0x3a')],function(_0xc3523f){var _0x37d4da={};_0x37d4da[_0xc3523f]={'$like':'%'+_0x11fafd[_0x259c('0x36')][_0x259c('0x41')]+'%'};return _0x37d4da;})});}_0x41fdb3=_[_0x259c('0x42')]({},_0x41fdb3,_0x11fafd[_0x259c('0x47')]);return _0x2e3874[_0x259c('0x52')](_0x41fdb3);}})[_0x259c('0x1b')](function(_0x3c938e){if(_0x3c938e){_0x50e084=_0x3c938e['length'];if(!_0x11fafd['query']['hasOwnProperty'](_0x259c('0x3d'))){_0x41fdb3[_0x259c('0x2a')]=qs[_0x259c('0x2a')](_0x11fafd[_0x259c('0x36')][_0x259c('0x2a')]);_0x41fdb3[_0x259c('0x29')]=qs[_0x259c('0x29')](_0x11fafd[_0x259c('0x36')]['offset']);}return _0x2e3874[_0x259c('0x52')](_0x41fdb3);}})[_0x259c('0x1b')](function(_0x35a955){if(_0x35a955){return _0x35a955?{'count':_0x50e084,'rows':_0x35a955}:null;}})['then'](respondWithResult(_0x526f5a,null))[_0x259c('0x24')](handleError(_0x526f5a,null));};exports[_0x259c('0x53')]=function(_0x27e998,_0x592ea3,_0x248329){var _0x2f64fb={};var _0xa944d3={};var _0x373c5a;var _0x2a9c05;return db['Dynamics365Configuration'][_0x259c('0x54')]({'where':{'id':_0x27e998[_0x259c('0x50')]['id']}})['then'](handleEntityNotFound(_0x592ea3,null))[_0x259c('0x1b')](function(_0x346fc0){if(_0x346fc0){_0x373c5a=_0x346fc0;_0xa944d3[_0x259c('0x35')]=_[_0x259c('0x4c')](db[_0x259c('0x55')][_0x259c('0x34')]);_0xa944d3['query']=_[_0x259c('0x4c')](_0x27e998[_0x259c('0x36')]);_0xa944d3[_0x259c('0x37')]=_[_0x259c('0x38')](_0xa944d3[_0x259c('0x35')],_0xa944d3[_0x259c('0x36')]);_0x2f64fb[_0x259c('0x3a')]=_['intersection'](_0xa944d3[_0x259c('0x35')],qs['fields'](_0x27e998[_0x259c('0x36')][_0x259c('0x39')]));_0x2f64fb['attributes']=_0x2f64fb[_0x259c('0x3a')][_0x259c('0x3b')]?_0x2f64fb[_0x259c('0x3a')]:_0xa944d3[_0x259c('0x35')];_0x2f64fb['order']=qs[_0x259c('0x3e')](_0x27e998[_0x259c('0x36')][_0x259c('0x3e')]);_0x2f64fb[_0x259c('0x3f')]=qs[_0x259c('0x37')](_[_0x259c('0x40')](_0x27e998[_0x259c('0x36')],_0xa944d3['filters']));if(_0x27e998[_0x259c('0x36')][_0x259c('0x41')]){_0x2f64fb['where']=_[_0x259c('0x42')](_0x2f64fb[_0x259c('0x3f')],{'$or':_['map'](_0x2f64fb[_0x259c('0x3a')],function(_0x5b6715){var _0x1afa54={};_0x1afa54[_0x5b6715]={'$like':'%'+_0x27e998[_0x259c('0x36')][_0x259c('0x41')]+'%'};return _0x1afa54;})});}_0x2f64fb=_[_0x259c('0x42')]({},_0x2f64fb,_0x27e998[_0x259c('0x47')]);return _0x373c5a['getSubjects'](_0x2f64fb);}})['then'](function(_0x178b23){if(_0x178b23){_0x2a9c05=_0x178b23[_0x259c('0x3b')];if(!_0x27e998[_0x259c('0x36')][_0x259c('0x3c')]('nolimit')){_0x2f64fb[_0x259c('0x2a')]=qs['limit'](_0x27e998[_0x259c('0x36')][_0x259c('0x2a')]);_0x2f64fb[_0x259c('0x29')]=qs[_0x259c('0x29')](_0x27e998[_0x259c('0x36')][_0x259c('0x29')]);}return _0x373c5a[_0x259c('0x53')](_0x2f64fb);}})[_0x259c('0x1b')](function(_0x5b83e7){if(_0x5b83e7){return _0x5b83e7?{'count':_0x2a9c05,'rows':_0x5b83e7}:null;}})[_0x259c('0x1b')](respondWithResult(_0x592ea3,null))[_0x259c('0x24')](handleError(_0x592ea3,null));};exports['getDescriptions']=function(_0x1d63c2,_0x11d520,_0xf4a112){var _0x100a6c={};var _0x7ca60={};var _0x4b053d;var _0xbe6087;return db[_0x259c('0x33')][_0x259c('0x54')]({'where':{'id':_0x1d63c2[_0x259c('0x50')]['id']}})['then'](handleEntityNotFound(_0x11d520,null))[_0x259c('0x1b')](function(_0x50688b){if(_0x50688b){_0x4b053d=_0x50688b;_0x7ca60[_0x259c('0x35')]=_[_0x259c('0x4c')](db[_0x259c('0x55')]['rawAttributes']);_0x7ca60[_0x259c('0x36')]=_['keys'](_0x1d63c2[_0x259c('0x36')]);_0x7ca60['filters']=_[_0x259c('0x38')](_0x7ca60[_0x259c('0x35')],_0x7ca60[_0x259c('0x36')]);_0x100a6c['attributes']=_['intersection'](_0x7ca60[_0x259c('0x35')],qs[_0x259c('0x39')](_0x1d63c2[_0x259c('0x36')][_0x259c('0x39')]));_0x100a6c['attributes']=_0x100a6c['attributes']['length']?_0x100a6c[_0x259c('0x3a')]:_0x7ca60['model'];_0x100a6c[_0x259c('0x51')]=qs[_0x259c('0x3e')](_0x1d63c2[_0x259c('0x36')][_0x259c('0x3e')]);_0x100a6c[_0x259c('0x3f')]=qs['filters'](_[_0x259c('0x40')](_0x1d63c2[_0x259c('0x36')],_0x7ca60[_0x259c('0x37')]));if(_0x1d63c2[_0x259c('0x36')][_0x259c('0x41')]){_0x100a6c[_0x259c('0x3f')]=_[_0x259c('0x42')](_0x100a6c[_0x259c('0x3f')],{'$or':_[_0x259c('0x43')](_0x100a6c[_0x259c('0x3a')],function(_0x308a5b){var _0xc076b8={};_0xc076b8[_0x308a5b]={'$like':'%'+_0x1d63c2['query'][_0x259c('0x41')]+'%'};return _0xc076b8;})});}_0x100a6c=_[_0x259c('0x42')]({},_0x100a6c,_0x1d63c2[_0x259c('0x47')]);return _0x4b053d[_0x259c('0x56')](_0x100a6c);}})[_0x259c('0x1b')](function(_0x47dc8d){if(_0x47dc8d){_0xbe6087=_0x47dc8d[_0x259c('0x3b')];if(!_0x1d63c2['query']['hasOwnProperty'](_0x259c('0x3d'))){_0x100a6c[_0x259c('0x2a')]=qs[_0x259c('0x2a')](_0x1d63c2['query'][_0x259c('0x2a')]);_0x100a6c[_0x259c('0x29')]=qs['offset'](_0x1d63c2['query']['offset']);}return _0x4b053d[_0x259c('0x56')](_0x100a6c);}})[_0x259c('0x1b')](function(_0x2515c1){if(_0x2515c1){return _0x2515c1?{'count':_0xbe6087,'rows':_0x2515c1}:null;}})[_0x259c('0x1b')](respondWithResult(_0x11d520,null))['catch'](handleError(_0x11d520,null));};