Built motion from commit 753c950e.|2.5.42
[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 _0x0011=['to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','undefined','count','offset','limit','set','apply','reject','save','then','sendStatus','stack','name','send','map','Dynamics365Configuration','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','body','update','destroy','findOne','Dynamics365Field','pick','getFields','hasOwnProperty','getSubjects','getDescriptions','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js'];(function(_0x2ee8ae,_0x1393e9){var _0x5e9faf=function(_0x40eb1d){while(--_0x40eb1d){_0x2ee8ae['push'](_0x2ee8ae['shift']());}};_0x5e9faf(++_0x1393e9);}(_0x0011,0x8f));var _0x1001=function(_0x1035c1,_0x2d8583){_0x1035c1=_0x1035c1-0x0;var _0x308d67=_0x0011[_0x1035c1];return _0x308d67;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1001('0x0'));var zipdir=require(_0x1001('0x1'));var jsonpatch=require(_0x1001('0x2'));var rp=require(_0x1001('0x3'));var moment=require(_0x1001('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x1001('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x1001('0x6'));var fs=require('fs');var fs_extra=require(_0x1001('0x7'));var _=require(_0x1001('0x8'));var squel=require(_0x1001('0x9'));var crypto=require(_0x1001('0xa'));var jsforce=require(_0x1001('0xb'));var deskjs=require(_0x1001('0xc'));var toCsv=require(_0x1001('0xd'));var querystring=require('querystring');var Papa=require(_0x1001('0xe'));var Redis=require('ioredis');var authService=require(_0x1001('0xf'));var qs=require(_0x1001('0x10'));var as=require(_0x1001('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1001('0x12'))(_0x1001('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x1001('0x14'));var db=require(_0x1001('0x15'))['db'];function respondWithStatusCode(_0x56b732,_0x2c5d95){_0x2c5d95=_0x2c5d95||0xcc;return function(_0x55e719){if(_0x55e719){return _0x56b732['sendStatus'](_0x2c5d95);}return _0x56b732[_0x1001('0x16')](_0x2c5d95)[_0x1001('0x17')]();};}function respondWithResult(_0x410f40,_0x3b3364){_0x3b3364=_0x3b3364||0xc8;return function(_0x12c352){if(_0x12c352){return _0x410f40[_0x1001('0x16')](_0x3b3364)[_0x1001('0x18')](_0x12c352);}};}function respondWithFilteredResult(_0x1a26e8,_0x407718){return function(_0x278a77){if(_0x278a77){var _0x5ddfcc=typeof _0x407718['offset']===_0x1001('0x19')&&typeof _0x407718['limit']===_0x1001('0x19');var _0x338086=_0x278a77[_0x1001('0x1a')];var _0xfad4ec=_0x5ddfcc?0x0:_0x407718['offset'];var _0x2f9a7e=_0x5ddfcc?_0x278a77[_0x1001('0x1a')]:_0x407718[_0x1001('0x1b')]+_0x407718[_0x1001('0x1c')];var _0x3c0f65;if(_0x2f9a7e>=_0x338086){_0x2f9a7e=_0x338086;_0x3c0f65=0xc8;}else{_0x3c0f65=0xce;}_0x1a26e8['status'](_0x3c0f65);return _0x1a26e8[_0x1001('0x1d')]('Content-Range',_0xfad4ec+'-'+_0x2f9a7e+'/'+_0x338086)['json'](_0x278a77);}return null;};}function patchUpdates(_0x6cd39f){return function(_0x5c6d99){try{jsonpatch[_0x1001('0x1e')](_0x5c6d99,_0x6cd39f,!![]);}catch(_0x149d50){return BPromise[_0x1001('0x1f')](_0x149d50);}return _0x5c6d99[_0x1001('0x20')]();};}function saveUpdates(_0x54730a,_0x4ac2e9){return function(_0x59fd33){if(_0x59fd33){return _0x59fd33['update'](_0x54730a)['then'](function(_0x4096c4){return _0x4096c4;});}return null;};}function removeEntity(_0x391ffc,_0x539a71){return function(_0x562fb2){if(_0x562fb2){return _0x562fb2['destroy']()[_0x1001('0x21')](function(){_0x391ffc[_0x1001('0x16')](0xcc)[_0x1001('0x17')]();});}};}function handleEntityNotFound(_0x4f79dc,_0x44c24d){return function(_0x4635d5){if(!_0x4635d5){_0x4f79dc[_0x1001('0x22')](0x194);}return _0x4635d5;};}function handleError(_0xec7643,_0x4f4ae0){_0x4f4ae0=_0x4f4ae0||0x1f4;return function(_0x361f89){logger['error'](_0x361f89[_0x1001('0x23')]);if(_0x361f89[_0x1001('0x24')]){delete _0x361f89[_0x1001('0x24')];}_0xec7643[_0x1001('0x16')](_0x4f4ae0)[_0x1001('0x25')](_0x361f89);};}exports['index']=function(_0x271ecc,_0x1f8a0a){var _0x396882={},_0x16a901={},_0x245969={'count':0x0,'rows':[]};var _0x2fe579=_[_0x1001('0x26')](db[_0x1001('0x27')]['rawAttributes'],function(_0x4b239b){return{'name':_0x4b239b[_0x1001('0x28')],'type':_0x4b239b[_0x1001('0x29')][_0x1001('0x2a')]};});_0x16a901['model']=_[_0x1001('0x26')](_0x2fe579,_0x1001('0x24'));_0x16a901[_0x1001('0x2b')]=_[_0x1001('0x2c')](_0x271ecc[_0x1001('0x2b')]);_0x16a901[_0x1001('0x2d')]=_[_0x1001('0x2e')](_0x16a901[_0x1001('0x2f')],_0x16a901[_0x1001('0x2b')]);_0x396882[_0x1001('0x30')]=_['intersection'](_0x16a901[_0x1001('0x2f')],qs[_0x1001('0x31')](_0x271ecc[_0x1001('0x2b')][_0x1001('0x31')]));_0x396882[_0x1001('0x30')]=_0x396882['attributes'][_0x1001('0x32')]?_0x396882[_0x1001('0x30')]:_0x16a901[_0x1001('0x2f')];if(!_0x271ecc['query']['hasOwnProperty'](_0x1001('0x33'))){_0x396882[_0x1001('0x1c')]=qs['limit'](_0x271ecc[_0x1001('0x2b')][_0x1001('0x1c')]);_0x396882[_0x1001('0x1b')]=qs['offset'](_0x271ecc[_0x1001('0x2b')][_0x1001('0x1b')]);}_0x396882[_0x1001('0x34')]=qs[_0x1001('0x35')](_0x271ecc[_0x1001('0x2b')]['sort']);_0x396882['where']=qs['filters'](_['pick'](_0x271ecc[_0x1001('0x2b')],_0x16a901[_0x1001('0x2d')]),_0x2fe579);if(_0x271ecc[_0x1001('0x2b')][_0x1001('0x36')]){_0x396882[_0x1001('0x37')]=_[_0x1001('0x38')](_0x396882[_0x1001('0x37')],{'$or':_['map'](_0x2fe579,function(_0x5c48de){if(_0x5c48de['type']!==_0x1001('0x39')){var _0xe6c1e5={};_0xe6c1e5[_0x5c48de['name']]={'$like':'%'+_0x271ecc[_0x1001('0x2b')][_0x1001('0x36')]+'%'};return _0xe6c1e5;}})});}_0x396882=_[_0x1001('0x38')]({},_0x396882,_0x271ecc[_0x1001('0x3a')]);var _0x2a4b0={'where':_0x396882[_0x1001('0x37')]};return db['Dynamics365Configuration']['count'](_0x2a4b0)['then'](function(_0x51c1b4){_0x245969[_0x1001('0x1a')]=_0x51c1b4;if(_0x271ecc[_0x1001('0x2b')][_0x1001('0x3b')]){_0x396882[_0x1001('0x3c')]=[{'all':!![]}];}return db['Dynamics365Configuration'][_0x1001('0x3d')](_0x396882);})[_0x1001('0x21')](function(_0x575ce9){_0x245969[_0x1001('0x3e')]=_0x575ce9;return _0x245969;})[_0x1001('0x21')](respondWithFilteredResult(_0x1f8a0a,_0x396882))[_0x1001('0x3f')](handleError(_0x1f8a0a,null));};exports['show']=function(_0x4adac8,_0xf0cfb0){var _0x16e1d2={'raw':![],'where':{'id':_0x4adac8[_0x1001('0x40')]['id']}},_0x2dadde={};_0x2dadde[_0x1001('0x2f')]=_[_0x1001('0x2c')](db[_0x1001('0x27')][_0x1001('0x41')]);_0x2dadde['query']=_[_0x1001('0x2c')](_0x4adac8[_0x1001('0x2b')]);_0x2dadde[_0x1001('0x2d')]=_[_0x1001('0x2e')](_0x2dadde[_0x1001('0x2f')],_0x2dadde[_0x1001('0x2b')]);_0x16e1d2[_0x1001('0x30')]=_[_0x1001('0x2e')](_0x2dadde[_0x1001('0x2f')],qs[_0x1001('0x31')](_0x4adac8['query'][_0x1001('0x31')]));_0x16e1d2[_0x1001('0x30')]=_0x16e1d2[_0x1001('0x30')]['length']?_0x16e1d2['attributes']:_0x2dadde[_0x1001('0x2f')];if(_0x4adac8[_0x1001('0x2b')]['includeAll']){_0x16e1d2[_0x1001('0x3c')]=[{'all':!![]}];}_0x16e1d2=_[_0x1001('0x38')]({},_0x16e1d2,_0x4adac8['options']);return db[_0x1001('0x27')][_0x1001('0x42')](_0x16e1d2)[_0x1001('0x21')](handleEntityNotFound(_0xf0cfb0,null))['then'](respondWithResult(_0xf0cfb0,null))['catch'](handleError(_0xf0cfb0,null));};exports[_0x1001('0x43')]=function(_0x18d00b,_0x41b836){return db[_0x1001('0x27')][_0x1001('0x43')](_0x18d00b[_0x1001('0x44')],{})['then'](respondWithResult(_0x41b836,0xc9))[_0x1001('0x3f')](handleError(_0x41b836,null));};exports[_0x1001('0x45')]=function(_0xe65eae,_0x402623){if(_0xe65eae['body']['id']){delete _0xe65eae[_0x1001('0x44')]['id'];}return db[_0x1001('0x27')]['find']({'where':{'id':_0xe65eae[_0x1001('0x40')]['id']}})[_0x1001('0x21')](handleEntityNotFound(_0x402623,null))[_0x1001('0x21')](saveUpdates(_0xe65eae[_0x1001('0x44')],null))['then'](respondWithResult(_0x402623,null))['catch'](handleError(_0x402623,null));};exports[_0x1001('0x46')]=function(_0x1a8664,_0xac589d){return db[_0x1001('0x27')][_0x1001('0x42')]({'where':{'id':_0x1a8664['params']['id']}})[_0x1001('0x21')](handleEntityNotFound(_0xac589d,null))[_0x1001('0x21')](removeEntity(_0xac589d,null))[_0x1001('0x3f')](handleError(_0xac589d,null));};exports['getFields']=function(_0x50bace,_0x1681de,_0x4d925c){var _0x14156a={};var _0x4da8fa={};var _0x43a593;var _0x248fd4;return db[_0x1001('0x27')][_0x1001('0x47')]({'where':{'id':_0x50bace[_0x1001('0x40')]['id']}})[_0x1001('0x21')](handleEntityNotFound(_0x1681de,null))['then'](function(_0xbe96e7){if(_0xbe96e7){_0x43a593=_0xbe96e7;_0x4da8fa[_0x1001('0x2f')]=_[_0x1001('0x2c')](db[_0x1001('0x48')][_0x1001('0x41')]);_0x4da8fa['query']=_[_0x1001('0x2c')](_0x50bace[_0x1001('0x2b')]);_0x4da8fa[_0x1001('0x2d')]=_['intersection'](_0x4da8fa['model'],_0x4da8fa[_0x1001('0x2b')]);_0x14156a[_0x1001('0x30')]=_[_0x1001('0x2e')](_0x4da8fa[_0x1001('0x2f')],qs[_0x1001('0x31')](_0x50bace['query']['fields']));_0x14156a['attributes']=_0x14156a[_0x1001('0x30')][_0x1001('0x32')]?_0x14156a[_0x1001('0x30')]:_0x4da8fa[_0x1001('0x2f')];_0x14156a[_0x1001('0x34')]=qs[_0x1001('0x35')](_0x50bace['query'][_0x1001('0x35')]);_0x14156a[_0x1001('0x37')]=qs[_0x1001('0x2d')](_[_0x1001('0x49')](_0x50bace['query'],_0x4da8fa['filters']));if(_0x50bace[_0x1001('0x2b')][_0x1001('0x36')]){_0x14156a[_0x1001('0x37')]=_['merge'](_0x14156a[_0x1001('0x37')],{'$or':_[_0x1001('0x26')](_0x14156a[_0x1001('0x30')],function(_0x275895){var _0x2d5758={};_0x2d5758[_0x275895]={'$like':'%'+_0x50bace[_0x1001('0x2b')][_0x1001('0x36')]+'%'};return _0x2d5758;})});}_0x14156a=_['merge']({},_0x14156a,_0x50bace[_0x1001('0x3a')]);return _0x43a593[_0x1001('0x4a')](_0x14156a);}})['then'](function(_0x4b213c){if(_0x4b213c){_0x248fd4=_0x4b213c[_0x1001('0x32')];if(!_0x50bace['query'][_0x1001('0x4b')](_0x1001('0x33'))){_0x14156a[_0x1001('0x1c')]=qs[_0x1001('0x1c')](_0x50bace[_0x1001('0x2b')][_0x1001('0x1c')]);_0x14156a['offset']=qs['offset'](_0x50bace[_0x1001('0x2b')][_0x1001('0x1b')]);}return _0x43a593[_0x1001('0x4a')](_0x14156a);}})[_0x1001('0x21')](function(_0x584fd0){if(_0x584fd0){return _0x584fd0?{'count':_0x248fd4,'rows':_0x584fd0}:null;}})['then'](respondWithResult(_0x1681de,null))[_0x1001('0x3f')](handleError(_0x1681de,null));};exports[_0x1001('0x4c')]=function(_0x36e715,_0x2bf97f,_0xaa4c5a){var _0x345e08={};var _0x3a38c1={};var _0x1d05e3;var _0x35304d;return db['Dynamics365Configuration']['findOne']({'where':{'id':_0x36e715['params']['id']}})[_0x1001('0x21')](handleEntityNotFound(_0x2bf97f,null))[_0x1001('0x21')](function(_0x8aeb6d){if(_0x8aeb6d){_0x1d05e3=_0x8aeb6d;_0x3a38c1['model']=_[_0x1001('0x2c')](db[_0x1001('0x48')]['rawAttributes']);_0x3a38c1[_0x1001('0x2b')]=_[_0x1001('0x2c')](_0x36e715['query']);_0x3a38c1[_0x1001('0x2d')]=_[_0x1001('0x2e')](_0x3a38c1[_0x1001('0x2f')],_0x3a38c1[_0x1001('0x2b')]);_0x345e08['attributes']=_[_0x1001('0x2e')](_0x3a38c1[_0x1001('0x2f')],qs[_0x1001('0x31')](_0x36e715[_0x1001('0x2b')]['fields']));_0x345e08[_0x1001('0x30')]=_0x345e08['attributes'][_0x1001('0x32')]?_0x345e08[_0x1001('0x30')]:_0x3a38c1['model'];_0x345e08['order']=qs[_0x1001('0x35')](_0x36e715[_0x1001('0x2b')][_0x1001('0x35')]);_0x345e08[_0x1001('0x37')]=qs[_0x1001('0x2d')](_[_0x1001('0x49')](_0x36e715[_0x1001('0x2b')],_0x3a38c1[_0x1001('0x2d')]));if(_0x36e715[_0x1001('0x2b')][_0x1001('0x36')]){_0x345e08[_0x1001('0x37')]=_[_0x1001('0x38')](_0x345e08['where'],{'$or':_[_0x1001('0x26')](_0x345e08['attributes'],function(_0x1db8f8){var _0x31c949={};_0x31c949[_0x1db8f8]={'$like':'%'+_0x36e715['query'][_0x1001('0x36')]+'%'};return _0x31c949;})});}_0x345e08=_[_0x1001('0x38')]({},_0x345e08,_0x36e715['options']);return _0x1d05e3[_0x1001('0x4c')](_0x345e08);}})['then'](function(_0x665170){if(_0x665170){_0x35304d=_0x665170[_0x1001('0x32')];if(!_0x36e715[_0x1001('0x2b')]['hasOwnProperty']('nolimit')){_0x345e08['limit']=qs['limit'](_0x36e715[_0x1001('0x2b')][_0x1001('0x1c')]);_0x345e08[_0x1001('0x1b')]=qs['offset'](_0x36e715[_0x1001('0x2b')][_0x1001('0x1b')]);}return _0x1d05e3['getSubjects'](_0x345e08);}})[_0x1001('0x21')](function(_0x36c69c){if(_0x36c69c){return _0x36c69c?{'count':_0x35304d,'rows':_0x36c69c}:null;}})[_0x1001('0x21')](respondWithResult(_0x2bf97f,null))[_0x1001('0x3f')](handleError(_0x2bf97f,null));};exports[_0x1001('0x4d')]=function(_0x2f98db,_0x4978bd,_0x22e55c){var _0x5f283c={};var _0x2dcda1={};var _0x37d343;var _0x248bf4;return db[_0x1001('0x27')][_0x1001('0x47')]({'where':{'id':_0x2f98db['params']['id']}})[_0x1001('0x21')](handleEntityNotFound(_0x4978bd,null))['then'](function(_0x5f00b5){if(_0x5f00b5){_0x37d343=_0x5f00b5;_0x2dcda1[_0x1001('0x2f')]=_['keys'](db['Dynamics365Field'][_0x1001('0x41')]);_0x2dcda1[_0x1001('0x2b')]=_[_0x1001('0x2c')](_0x2f98db[_0x1001('0x2b')]);_0x2dcda1['filters']=_[_0x1001('0x2e')](_0x2dcda1[_0x1001('0x2f')],_0x2dcda1[_0x1001('0x2b')]);_0x5f283c[_0x1001('0x30')]=_[_0x1001('0x2e')](_0x2dcda1['model'],qs[_0x1001('0x31')](_0x2f98db[_0x1001('0x2b')][_0x1001('0x31')]));_0x5f283c[_0x1001('0x30')]=_0x5f283c[_0x1001('0x30')][_0x1001('0x32')]?_0x5f283c[_0x1001('0x30')]:_0x2dcda1[_0x1001('0x2f')];_0x5f283c[_0x1001('0x34')]=qs[_0x1001('0x35')](_0x2f98db['query'][_0x1001('0x35')]);_0x5f283c[_0x1001('0x37')]=qs['filters'](_[_0x1001('0x49')](_0x2f98db[_0x1001('0x2b')],_0x2dcda1[_0x1001('0x2d')]));if(_0x2f98db[_0x1001('0x2b')][_0x1001('0x36')]){_0x5f283c[_0x1001('0x37')]=_['merge'](_0x5f283c[_0x1001('0x37')],{'$or':_['map'](_0x5f283c[_0x1001('0x30')],function(_0x348ce1){var _0x5dfa57={};_0x5dfa57[_0x348ce1]={'$like':'%'+_0x2f98db[_0x1001('0x2b')][_0x1001('0x36')]+'%'};return _0x5dfa57;})});}_0x5f283c=_['merge']({},_0x5f283c,_0x2f98db['options']);return _0x37d343[_0x1001('0x4d')](_0x5f283c);}})[_0x1001('0x21')](function(_0x5caa79){if(_0x5caa79){_0x248bf4=_0x5caa79[_0x1001('0x32')];if(!_0x2f98db[_0x1001('0x2b')]['hasOwnProperty'](_0x1001('0x33'))){_0x5f283c[_0x1001('0x1c')]=qs[_0x1001('0x1c')](_0x2f98db[_0x1001('0x2b')][_0x1001('0x1c')]);_0x5f283c[_0x1001('0x1b')]=qs[_0x1001('0x1b')](_0x2f98db[_0x1001('0x2b')]['offset']);}return _0x37d343[_0x1001('0x4d')](_0x5f283c);}})[_0x1001('0x21')](function(_0x189bef){if(_0x189bef){return _0x189bef?{'count':_0x248bf4,'rows':_0x189bef}:null;}})[_0x1001('0x21')](respondWithResult(_0x4978bd,null))[_0x1001('0x3f')](handleError(_0x4978bd,null));};