Built motion from commit (unavailable).|2.3.1
[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 _0x351d=['debug','stringify','error','code','message','request\x20sent','result','sendStatus','end','json','count','limit','set','Content-Range','update','destroy','status','stack','name','send','index','Dynamics365Configuration','rawAttributes','model','keys','query','intersection','attributes','fields','hasOwnProperty','nolimit','offset','order','sort','pick','filter','where','map','type','key','VIRTUAL','field','includeAll','include','findAll','rows','show','params','filters','length','merge','options','catch','body','find','getFields','findOne','Dynamics365Field','getSubjects','getDescriptions','html-pdf','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','squel','crypto','desk.js','../../components/auth/service','ioredis','../../components/parsers/qs','api','../../config/utils','../../mysqldb','http','request','then','info','Dynamics365Configuration,\x20%s,\x20%s'];(function(_0x4782eb,_0x1dafc9){var _0x9f1353=function(_0x1b74b4){while(--_0x1b74b4){_0x4782eb['push'](_0x4782eb['shift']());}};_0x9f1353(++_0x1dafc9);}(_0x351d,0x90));var _0xd351=function(_0x225c21,_0x2d4385){_0x225c21=_0x225c21-0x0;var _0x242412=_0x351d[_0x225c21];return _0x242412;};'use strict';var pdf=require(_0xd351('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xd351('0x1'));var zipdir=require(_0xd351('0x2'));var jsonpatch=require(_0xd351('0x3'));var rp=require('request-promise');var moment=require(_0xd351('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xd351('0x5'));var util=require(_0xd351('0x6'));var path=require('path');var sox=require(_0xd351('0x7'));var csv=require(_0xd351('0x8'));var ejs=require(_0xd351('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd351('0xa'));var crypto=require(_0xd351('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xd351('0xc'));var toCsv=require(_0xd351('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var authService=require(_0xd351('0xd'));var hardwareService=require('../../config/license/hardware');var Redis=require(_0xd351('0xe'));var qs=require(_0xd351('0xf'));var logger=require('../../config/logger')(_0xd351('0x10'));var utils=require(_0xd351('0x11'));var config=require('../../config/environment');var db=require(_0xd351('0x12'))['db'];var jayson=require('jayson/promise');var client=jayson['client'][_0xd351('0x13')]({'port':0x232a});function respondWithRpcPromise(_0x15549a,_0x23445f,_0x1eb2a9,_0x4917d5){return new BPromise(function(_0x358382,_0x316cf6){var _0x597d7c=_0x4917d5||client;return _0x597d7c[_0xd351('0x14')](_0x15549a,_0x1eb2a9)[_0xd351('0x15')](function(_0x3c2299){logger[_0xd351('0x16')](_0xd351('0x17'),_0x23445f,'request\x20sent');logger[_0xd351('0x18')]('Dynamics365Configuration,\x20%s,\x20%s,\x20%s',_0x23445f,'request\x20sent',JSON[_0xd351('0x19')](_0x3c2299));if(_0x3c2299['error']){if(_0x3c2299[_0xd351('0x1a')][_0xd351('0x1b')]===0x1f4){logger[_0xd351('0x1a')]('Dynamics365Configuration,\x20%s,\x20%s',_0x23445f,_0x3c2299[_0xd351('0x1a')][_0xd351('0x1c')]);return _0x316cf6(_0x3c2299[_0xd351('0x1a')][_0xd351('0x1c')]);}logger['error'](_0xd351('0x17'),_0x23445f,_0x3c2299['error']['message']);return _0x358382(_0x3c2299[_0xd351('0x1a')]['message']);}else{logger[_0xd351('0x16')](_0xd351('0x17'),_0x23445f,_0xd351('0x1d'));_0x358382(_0x3c2299[_0xd351('0x1e')][_0xd351('0x1c')]);}})['catch'](function(_0x18625b){logger[_0xd351('0x1a')](_0xd351('0x17'),_0x23445f,_0x18625b);_0x316cf6(_0x18625b);});});}function respondWithStatusCode(_0x4e447f,_0x1ce7f7){_0x1ce7f7=_0x1ce7f7||0xcc;return function(_0x2d9aa0){if(_0x2d9aa0){return _0x4e447f[_0xd351('0x1f')](_0x1ce7f7);}return _0x4e447f['status'](_0x1ce7f7)[_0xd351('0x20')]();};}function respondWithResult(_0x34a5cb,_0x4626c4){_0x4626c4=_0x4626c4||0xc8;return function(_0x469e7d){if(_0x469e7d){return _0x34a5cb['status'](_0x4626c4)[_0xd351('0x21')](_0x469e7d);}};}function respondWithFilteredResult(_0x483c92,_0x358bff){return function(_0x8ad0a6){if(_0x8ad0a6){var _0x54f471=_0x8ad0a6[_0xd351('0x22')],_0x2648d0=_0x358bff['offset'],_0x55b4d3=_0x358bff['offset']+_0x358bff[_0xd351('0x23')],_0x50d67e;if(_0x55b4d3>=_0x54f471){_0x55b4d3=_0x54f471;_0x50d67e=0xc8;}else{_0x50d67e=0xce;}_0x483c92['status'](_0x50d67e);return _0x483c92[_0xd351('0x24')](_0xd351('0x25'),_0x2648d0+'-'+_0x55b4d3+'/'+_0x54f471)[_0xd351('0x21')](_0x8ad0a6);}return null;};}function patchUpdates(_0x4d3f48){return function(_0x71ce9c){try{jsonpatch['apply'](_0x71ce9c,_0x4d3f48,!![]);}catch(_0x1c826b){return BPromise['reject'](_0x1c826b);}return _0x71ce9c['save']();};}function saveUpdates(_0xeb4da9,_0x38c82f){return function(_0x3f9ef3){if(_0x3f9ef3){return _0x3f9ef3[_0xd351('0x26')](_0xeb4da9)['then'](function(_0x341da0){return _0x341da0;});}return null;};}function removeEntity(_0x1f7ee8,_0x38023c){return function(_0x41da60){if(_0x41da60){return _0x41da60[_0xd351('0x27')]()[_0xd351('0x15')](function(){_0x1f7ee8[_0xd351('0x28')](0xcc)[_0xd351('0x20')]();});}};}function handleEntityNotFound(_0x19bddd,_0x571f64){return function(_0x3feab5){if(!_0x3feab5){_0x19bddd[_0xd351('0x1f')](0x194);}return _0x3feab5;};}function handleError(_0xa5a7d4,_0xcb3acf){_0xcb3acf=_0xcb3acf||0x1f4;return function(_0x5e6e6d){logger[_0xd351('0x1a')](_0x5e6e6d[_0xd351('0x29')]);if(_0x5e6e6d[_0xd351('0x2a')]){delete _0x5e6e6d[_0xd351('0x2a')];}_0xa5a7d4[_0xd351('0x28')](_0xcb3acf)[_0xd351('0x2b')](_0x5e6e6d);};}exports[_0xd351('0x2c')]=function(_0x177eb5,_0x238663){var _0x51b280={},_0x521663={},_0x1fae11={'count':0x0,'rows':[]};var _0xa31042=db[_0xd351('0x2d')][_0xd351('0x2e')];_0x521663[_0xd351('0x2f')]=_[_0xd351('0x30')](_0xa31042);_0x521663['query']=_['keys'](_0x177eb5[_0xd351('0x31')]);_0x521663['filters']=_[_0xd351('0x32')](_0x521663[_0xd351('0x2f')],_0x521663[_0xd351('0x31')]);_0x51b280[_0xd351('0x33')]=_[_0xd351('0x32')](_0x521663[_0xd351('0x2f')],qs[_0xd351('0x34')](_0x177eb5[_0xd351('0x31')][_0xd351('0x34')]));_0x51b280[_0xd351('0x33')]=_0x51b280[_0xd351('0x33')]['length']?_0x51b280[_0xd351('0x33')]:_0x521663['model'];if(!_0x177eb5[_0xd351('0x31')][_0xd351('0x35')](_0xd351('0x36'))){_0x51b280[_0xd351('0x23')]=qs[_0xd351('0x23')](_0x177eb5[_0xd351('0x31')]['limit']);_0x51b280[_0xd351('0x37')]=qs[_0xd351('0x37')](_0x177eb5['query'][_0xd351('0x37')]);}_0x51b280[_0xd351('0x38')]=qs[_0xd351('0x39')](_0x177eb5[_0xd351('0x31')][_0xd351('0x39')]);_0x51b280['where']=qs['filters'](_[_0xd351('0x3a')](_0x177eb5[_0xd351('0x31')],_0x521663['filters']));if(_0x177eb5['query'][_0xd351('0x3b')]){_0x51b280[_0xd351('0x3c')]=_['merge'](_0x51b280['where'],{'$or':_[_0xd351('0x3d')](_0xa31042,function(_0x18f9d1){if(_0x18f9d1[_0xd351('0x3e')][_0xd351('0x3f')]!==_0xd351('0x40')){var _0x33a262={};_0x33a262[_0x18f9d1[_0xd351('0x41')]]={'$like':'%'+_0x177eb5[_0xd351('0x31')][_0xd351('0x3b')]+'%'};return _0x33a262;}})});}_0x51b280=_['merge']({},_0x51b280,_0x177eb5['options']);var _0x35e651={'where':_0x51b280[_0xd351('0x3c')]};return db[_0xd351('0x2d')][_0xd351('0x22')](_0x35e651)[_0xd351('0x15')](function(_0x4332e7){_0x1fae11[_0xd351('0x22')]=_0x4332e7;if(_0x177eb5[_0xd351('0x31')][_0xd351('0x42')]){_0x51b280[_0xd351('0x43')]=[{'all':!![]}];}return db[_0xd351('0x2d')][_0xd351('0x44')](_0x51b280);})[_0xd351('0x15')](function(_0x42a162){_0x1fae11[_0xd351('0x45')]=_0x42a162;return _0x1fae11;})[_0xd351('0x15')](respondWithFilteredResult(_0x238663,_0x51b280))['catch'](handleError(_0x238663,null));};exports[_0xd351('0x46')]=function(_0x3ec78a,_0x8fe1b5){var _0x56616f={'raw':![],'where':{'id':_0x3ec78a[_0xd351('0x47')]['id']}},_0x25cf80={};_0x25cf80[_0xd351('0x2f')]=_[_0xd351('0x30')](db[_0xd351('0x2d')]['rawAttributes']);_0x25cf80[_0xd351('0x31')]=_['keys'](_0x3ec78a[_0xd351('0x31')]);_0x25cf80[_0xd351('0x48')]=_['intersection'](_0x25cf80['model'],_0x25cf80[_0xd351('0x31')]);_0x56616f[_0xd351('0x33')]=_[_0xd351('0x32')](_0x25cf80['model'],qs[_0xd351('0x34')](_0x3ec78a[_0xd351('0x31')]['fields']));_0x56616f[_0xd351('0x33')]=_0x56616f['attributes'][_0xd351('0x49')]?_0x56616f[_0xd351('0x33')]:_0x25cf80['model'];if(_0x3ec78a['query'][_0xd351('0x42')]){_0x56616f['include']=[{'all':!![]}];}_0x56616f=_[_0xd351('0x4a')]({},_0x56616f,_0x3ec78a[_0xd351('0x4b')]);return db[_0xd351('0x2d')]['find'](_0x56616f)[_0xd351('0x15')](handleEntityNotFound(_0x8fe1b5,null))['then'](respondWithResult(_0x8fe1b5,null))['catch'](handleError(_0x8fe1b5,null));};exports['create']=function(_0x7e4bad,_0x292af3){return db[_0xd351('0x2d')]['create'](_0x7e4bad['body'],{})[_0xd351('0x15')](respondWithResult(_0x292af3,0xc9))[_0xd351('0x4c')](handleError(_0x292af3,null));};exports['update']=function(_0x2a87cf,_0x202bc4){if(_0x2a87cf['body']['id']){delete _0x2a87cf[_0xd351('0x4d')]['id'];}return db['Dynamics365Configuration'][_0xd351('0x4e')]({'where':{'id':_0x2a87cf['params']['id']}})[_0xd351('0x15')](handleEntityNotFound(_0x202bc4,null))[_0xd351('0x15')](saveUpdates(_0x2a87cf[_0xd351('0x4d')],null))[_0xd351('0x15')](respondWithResult(_0x202bc4,null))[_0xd351('0x4c')](handleError(_0x202bc4,null));};exports[_0xd351('0x27')]=function(_0x1bcbb0,_0x55792e){return db['Dynamics365Configuration'][_0xd351('0x4e')]({'where':{'id':_0x1bcbb0[_0xd351('0x47')]['id']}})['then'](handleEntityNotFound(_0x55792e,null))[_0xd351('0x15')](removeEntity(_0x55792e,null))[_0xd351('0x4c')](handleError(_0x55792e,null));};exports[_0xd351('0x4f')]=function(_0x4da037,_0x169122,_0x5e2dac){var _0x5ab6b1={};var _0x2c0cb1={};var _0x434465;var _0x4d5a60;return db[_0xd351('0x2d')][_0xd351('0x50')]({'where':{'id':_0x4da037[_0xd351('0x47')]['id']}})[_0xd351('0x15')](handleEntityNotFound(_0x169122,null))[_0xd351('0x15')](function(_0x2dc745){if(_0x2dc745){_0x434465=_0x2dc745;_0x2c0cb1['model']=_[_0xd351('0x30')](db[_0xd351('0x51')][_0xd351('0x2e')]);_0x2c0cb1[_0xd351('0x31')]=_[_0xd351('0x30')](_0x4da037[_0xd351('0x31')]);_0x2c0cb1[_0xd351('0x48')]=_['intersection'](_0x2c0cb1[_0xd351('0x2f')],_0x2c0cb1['query']);_0x5ab6b1[_0xd351('0x33')]=_[_0xd351('0x32')](_0x2c0cb1[_0xd351('0x2f')],qs[_0xd351('0x34')](_0x4da037[_0xd351('0x31')]['fields']));_0x5ab6b1[_0xd351('0x33')]=_0x5ab6b1['attributes'][_0xd351('0x49')]?_0x5ab6b1[_0xd351('0x33')]:_0x2c0cb1[_0xd351('0x2f')];_0x5ab6b1[_0xd351('0x38')]=qs[_0xd351('0x39')](_0x4da037['query']['sort']);_0x5ab6b1[_0xd351('0x3c')]=qs[_0xd351('0x48')](_['pick'](_0x4da037[_0xd351('0x31')],_0x2c0cb1[_0xd351('0x48')]));if(_0x4da037[_0xd351('0x31')]['filter']){_0x5ab6b1[_0xd351('0x3c')]=_[_0xd351('0x4a')](_0x5ab6b1[_0xd351('0x3c')],{'$or':_[_0xd351('0x3d')](_0x5ab6b1['attributes'],function(_0x508e5f){var _0x40c78b={};_0x40c78b[_0x508e5f]={'$like':'%'+_0x4da037[_0xd351('0x31')][_0xd351('0x3b')]+'%'};return _0x40c78b;})});}_0x5ab6b1=_[_0xd351('0x4a')]({},_0x5ab6b1,_0x4da037[_0xd351('0x4b')]);return _0x434465[_0xd351('0x4f')](_0x5ab6b1);}})[_0xd351('0x15')](function(_0x5e2e06){if(_0x5e2e06){_0x4d5a60=_0x5e2e06[_0xd351('0x49')];if(!_0x4da037['query']['hasOwnProperty'](_0xd351('0x36'))){_0x5ab6b1[_0xd351('0x23')]=qs['limit'](_0x4da037[_0xd351('0x31')]['limit']);_0x5ab6b1['offset']=qs['offset'](_0x4da037[_0xd351('0x31')][_0xd351('0x37')]);}return _0x434465[_0xd351('0x4f')](_0x5ab6b1);}})['then'](function(_0xadafc9){if(_0xadafc9){return _0xadafc9?{'count':_0x4d5a60,'rows':_0xadafc9}:null;}})[_0xd351('0x15')](respondWithResult(_0x169122,null))[_0xd351('0x4c')](handleError(_0x169122,null));};exports[_0xd351('0x52')]=function(_0x2375db,_0x475534,_0x15fcab){var _0x6bf19c={};var _0x130617={};var _0x22672;var _0x18c261;return db['Dynamics365Configuration'][_0xd351('0x50')]({'where':{'id':_0x2375db[_0xd351('0x47')]['id']}})[_0xd351('0x15')](handleEntityNotFound(_0x475534,null))[_0xd351('0x15')](function(_0xf24a29){if(_0xf24a29){_0x22672=_0xf24a29;_0x130617[_0xd351('0x2f')]=_['keys'](db[_0xd351('0x51')][_0xd351('0x2e')]);_0x130617['query']=_['keys'](_0x2375db[_0xd351('0x31')]);_0x130617[_0xd351('0x48')]=_[_0xd351('0x32')](_0x130617[_0xd351('0x2f')],_0x130617[_0xd351('0x31')]);_0x6bf19c[_0xd351('0x33')]=_[_0xd351('0x32')](_0x130617[_0xd351('0x2f')],qs[_0xd351('0x34')](_0x2375db['query'][_0xd351('0x34')]));_0x6bf19c[_0xd351('0x33')]=_0x6bf19c['attributes'][_0xd351('0x49')]?_0x6bf19c['attributes']:_0x130617[_0xd351('0x2f')];_0x6bf19c['order']=qs[_0xd351('0x39')](_0x2375db[_0xd351('0x31')][_0xd351('0x39')]);_0x6bf19c[_0xd351('0x3c')]=qs[_0xd351('0x48')](_[_0xd351('0x3a')](_0x2375db[_0xd351('0x31')],_0x130617['filters']));if(_0x2375db[_0xd351('0x31')][_0xd351('0x3b')]){_0x6bf19c[_0xd351('0x3c')]=_[_0xd351('0x4a')](_0x6bf19c[_0xd351('0x3c')],{'$or':_['map'](_0x6bf19c[_0xd351('0x33')],function(_0x155c2c){var _0x38f59a={};_0x38f59a[_0x155c2c]={'$like':'%'+_0x2375db['query'][_0xd351('0x3b')]+'%'};return _0x38f59a;})});}_0x6bf19c=_[_0xd351('0x4a')]({},_0x6bf19c,_0x2375db[_0xd351('0x4b')]);return _0x22672[_0xd351('0x52')](_0x6bf19c);}})[_0xd351('0x15')](function(_0x248503){if(_0x248503){_0x18c261=_0x248503[_0xd351('0x49')];if(!_0x2375db[_0xd351('0x31')][_0xd351('0x35')]('nolimit')){_0x6bf19c[_0xd351('0x23')]=qs[_0xd351('0x23')](_0x2375db['query'][_0xd351('0x23')]);_0x6bf19c['offset']=qs['offset'](_0x2375db['query'][_0xd351('0x37')]);}return _0x22672[_0xd351('0x52')](_0x6bf19c);}})[_0xd351('0x15')](function(_0x5b2bf9){if(_0x5b2bf9){return _0x5b2bf9?{'count':_0x18c261,'rows':_0x5b2bf9}:null;}})[_0xd351('0x15')](respondWithResult(_0x475534,null))['catch'](handleError(_0x475534,null));};exports[_0xd351('0x53')]=function(_0x5b7dda,_0x3a3139,_0x12db28){var _0x27aec9={};var _0x16dd16={};var _0x35b148;var _0x1bb955;return db[_0xd351('0x2d')][_0xd351('0x50')]({'where':{'id':_0x5b7dda[_0xd351('0x47')]['id']}})[_0xd351('0x15')](handleEntityNotFound(_0x3a3139,null))[_0xd351('0x15')](function(_0x25694a){if(_0x25694a){_0x35b148=_0x25694a;_0x16dd16['model']=_[_0xd351('0x30')](db[_0xd351('0x51')][_0xd351('0x2e')]);_0x16dd16[_0xd351('0x31')]=_[_0xd351('0x30')](_0x5b7dda['query']);_0x16dd16[_0xd351('0x48')]=_[_0xd351('0x32')](_0x16dd16[_0xd351('0x2f')],_0x16dd16[_0xd351('0x31')]);_0x27aec9['attributes']=_[_0xd351('0x32')](_0x16dd16[_0xd351('0x2f')],qs['fields'](_0x5b7dda[_0xd351('0x31')][_0xd351('0x34')]));_0x27aec9[_0xd351('0x33')]=_0x27aec9[_0xd351('0x33')]['length']?_0x27aec9['attributes']:_0x16dd16[_0xd351('0x2f')];_0x27aec9[_0xd351('0x38')]=qs[_0xd351('0x39')](_0x5b7dda[_0xd351('0x31')]['sort']);_0x27aec9[_0xd351('0x3c')]=qs[_0xd351('0x48')](_[_0xd351('0x3a')](_0x5b7dda[_0xd351('0x31')],_0x16dd16[_0xd351('0x48')]));if(_0x5b7dda['query'][_0xd351('0x3b')]){_0x27aec9[_0xd351('0x3c')]=_['merge'](_0x27aec9[_0xd351('0x3c')],{'$or':_[_0xd351('0x3d')](_0x27aec9['attributes'],function(_0x1e5bba){var _0x55b81e={};_0x55b81e[_0x1e5bba]={'$like':'%'+_0x5b7dda[_0xd351('0x31')]['filter']+'%'};return _0x55b81e;})});}_0x27aec9=_[_0xd351('0x4a')]({},_0x27aec9,_0x5b7dda[_0xd351('0x4b')]);return _0x35b148[_0xd351('0x53')](_0x27aec9);}})[_0xd351('0x15')](function(_0x34835d){if(_0x34835d){_0x1bb955=_0x34835d[_0xd351('0x49')];if(!_0x5b7dda[_0xd351('0x31')][_0xd351('0x35')](_0xd351('0x36'))){_0x27aec9['limit']=qs[_0xd351('0x23')](_0x5b7dda[_0xd351('0x31')][_0xd351('0x23')]);_0x27aec9[_0xd351('0x37')]=qs[_0xd351('0x37')](_0x5b7dda[_0xd351('0x31')][_0xd351('0x37')]);}return _0x35b148[_0xd351('0x53')](_0x27aec9);}})['then'](function(_0x3b8f86){if(_0x3b8f86){return _0x3b8f86?{'count':_0x1bb955,'rows':_0x3b8f86}:null;}})['then'](respondWithResult(_0x3a3139,null))[_0xd351('0x4c')](handleError(_0x3a3139,null));};