9de0dc2b671f69fdad8cc7f7f345e735f4d67f65
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.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 _0x3d8f=['destroy','error','stack','name','index','map','Dynamics365Field','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','rows','show','params','find','catch','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','count','offset','set','Content-Range','json','apply','reject','save','update','then'];(function(_0x255008,_0x157a3c){var _0x209b41=function(_0x2ca030){while(--_0x2ca030){_0x255008['push'](_0x255008['shift']());}};_0x209b41(++_0x157a3c);}(_0x3d8f,0x1d3));var _0xf3d8=function(_0x4fd0db,_0x151f07){_0x4fd0db=_0x4fd0db-0x0;var _0x3844ec=_0x3d8f[_0x4fd0db];return _0x3844ec;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf3d8('0x0'));var rimraf=require(_0xf3d8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf3d8('0x2'));var rp=require(_0xf3d8('0x3'));var moment=require(_0xf3d8('0x4'));var BPromise=require(_0xf3d8('0x5'));var Mustache=require(_0xf3d8('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0xf3d8('0x7'));var ejs=require(_0xf3d8('0x8'));var fs=require('fs');var _=require(_0xf3d8('0x9'));var squel=require(_0xf3d8('0xa'));var crypto=require(_0xf3d8('0xb'));var jsforce=require(_0xf3d8('0xc'));var deskjs=require(_0xf3d8('0xd'));var toCsv=require(_0xf3d8('0x7'));var querystring=require(_0xf3d8('0xe'));var Papa=require(_0xf3d8('0xf'));var Redis=require(_0xf3d8('0x10'));var authService=require(_0xf3d8('0x11'));var qs=require(_0xf3d8('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xf3d8('0x13'))(_0xf3d8('0x14'));var utils=require(_0xf3d8('0x15'));var config=require(_0xf3d8('0x16'));var db=require(_0xf3d8('0x17'))['db'];function respondWithStatusCode(_0x6e8adc,_0x522095){_0x522095=_0x522095||0xcc;return function(_0x61cdce){if(_0x61cdce){return _0x6e8adc[_0xf3d8('0x18')](_0x522095);}return _0x6e8adc[_0xf3d8('0x19')](_0x522095)[_0xf3d8('0x1a')]();};}function respondWithResult(_0x3e7aab,_0x4c25a7){_0x4c25a7=_0x4c25a7||0xc8;return function(_0x42ff23){if(_0x42ff23){return _0x3e7aab[_0xf3d8('0x19')](_0x4c25a7)['json'](_0x42ff23);}};}function respondWithFilteredResult(_0x148b47,_0x15780d){return function(_0x262437){if(_0x262437){var _0x34b3e1=_0x262437[_0xf3d8('0x1b')],_0x247aeb=_0x15780d[_0xf3d8('0x1c')],_0x3c67de=_0x15780d[_0xf3d8('0x1c')]+_0x15780d['limit'],_0x115773;if(_0x3c67de>=_0x34b3e1){_0x3c67de=_0x34b3e1;_0x115773=0xc8;}else{_0x115773=0xce;}_0x148b47[_0xf3d8('0x19')](_0x115773);return _0x148b47[_0xf3d8('0x1d')](_0xf3d8('0x1e'),_0x247aeb+'-'+_0x3c67de+'/'+_0x34b3e1)[_0xf3d8('0x1f')](_0x262437);}return null;};}function patchUpdates(_0x290e97){return function(_0x2fc8b6){try{jsonpatch[_0xf3d8('0x20')](_0x2fc8b6,_0x290e97,!![]);}catch(_0x1c25ae){return BPromise[_0xf3d8('0x21')](_0x1c25ae);}return _0x2fc8b6[_0xf3d8('0x22')]();};}function saveUpdates(_0x5a29ea,_0x3110d4){return function(_0x158f08){if(_0x158f08){return _0x158f08[_0xf3d8('0x23')](_0x5a29ea)[_0xf3d8('0x24')](function(_0x14cb5f){return _0x14cb5f;});}return null;};}function removeEntity(_0x2332d4,_0x3140f6){return function(_0x418c0a){if(_0x418c0a){return _0x418c0a[_0xf3d8('0x25')]()[_0xf3d8('0x24')](function(){_0x2332d4[_0xf3d8('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4c230d,_0x10ddc1){return function(_0x49c769){if(!_0x49c769){_0x4c230d[_0xf3d8('0x18')](0x194);}return _0x49c769;};}function handleError(_0x58f61a,_0x58d6e2){_0x58d6e2=_0x58d6e2||0x1f4;return function(_0x72e2aa){logger[_0xf3d8('0x26')](_0x72e2aa[_0xf3d8('0x27')]);if(_0x72e2aa[_0xf3d8('0x28')]){delete _0x72e2aa[_0xf3d8('0x28')];}_0x58f61a['status'](_0x58d6e2)['send'](_0x72e2aa);};}exports[_0xf3d8('0x29')]=function(_0x50839a,_0x244989){var _0xe9c94d={},_0x14609c={},_0x114320={'count':0x0,'rows':[]};var _0x5223fb=_[_0xf3d8('0x2a')](db[_0xf3d8('0x2b')][_0xf3d8('0x2c')],function(_0x2481f3){return{'name':_0x2481f3[_0xf3d8('0x2d')],'type':_0x2481f3[_0xf3d8('0x2e')]['key']};});_0x14609c[_0xf3d8('0x2f')]=_[_0xf3d8('0x2a')](_0x5223fb,_0xf3d8('0x28'));_0x14609c[_0xf3d8('0x30')]=_[_0xf3d8('0x31')](_0x50839a[_0xf3d8('0x30')]);_0x14609c[_0xf3d8('0x32')]=_[_0xf3d8('0x33')](_0x14609c[_0xf3d8('0x2f')],_0x14609c[_0xf3d8('0x30')]);_0xe9c94d[_0xf3d8('0x34')]=_[_0xf3d8('0x33')](_0x14609c['model'],qs[_0xf3d8('0x35')](_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x35')]));_0xe9c94d['attributes']=_0xe9c94d[_0xf3d8('0x34')][_0xf3d8('0x36')]?_0xe9c94d[_0xf3d8('0x34')]:_0x14609c['model'];if(!_0x50839a[_0xf3d8('0x30')]['hasOwnProperty'](_0xf3d8('0x37'))){_0xe9c94d[_0xf3d8('0x38')]=qs['limit'](_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x38')]);_0xe9c94d['offset']=qs[_0xf3d8('0x1c')](_0x50839a['query'][_0xf3d8('0x1c')]);}_0xe9c94d['order']=qs[_0xf3d8('0x39')](_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x39')]);_0xe9c94d[_0xf3d8('0x3a')]=qs[_0xf3d8('0x32')](_[_0xf3d8('0x3b')](_0x50839a['query'],_0x14609c[_0xf3d8('0x32')]),_0x5223fb);if(_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x3c')]){_0xe9c94d[_0xf3d8('0x3a')]=_[_0xf3d8('0x3d')](_0xe9c94d[_0xf3d8('0x3a')],{'$or':_[_0xf3d8('0x2a')](_0x5223fb,function(_0x3102a3){if(_0x3102a3[_0xf3d8('0x2e')]!==_0xf3d8('0x3e')){var _0x53b930={};_0x53b930[_0x3102a3[_0xf3d8('0x28')]]={'$like':'%'+_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x3c')]+'%'};return _0x53b930;}})});}_0xe9c94d=_[_0xf3d8('0x3d')]({},_0xe9c94d,_0x50839a[_0xf3d8('0x3f')]);var _0x26e794={'where':_0xe9c94d[_0xf3d8('0x3a')]};return db[_0xf3d8('0x2b')][_0xf3d8('0x1b')](_0x26e794)[_0xf3d8('0x24')](function(_0x4fe64d){_0x114320['count']=_0x4fe64d;if(_0x50839a[_0xf3d8('0x30')][_0xf3d8('0x40')]){_0xe9c94d['include']=[{'all':!![]}];}return db['Dynamics365Field']['findAll'](_0xe9c94d);})[_0xf3d8('0x24')](function(_0x5a37fd){_0x114320[_0xf3d8('0x41')]=_0x5a37fd;return _0x114320;})[_0xf3d8('0x24')](respondWithFilteredResult(_0x244989,_0xe9c94d))['catch'](handleError(_0x244989,null));};exports[_0xf3d8('0x42')]=function(_0x34ca21,_0x3cd2cf){var _0x17792e={'raw':!![],'where':{'id':_0x34ca21[_0xf3d8('0x43')]['id']}},_0x458106={};_0x458106[_0xf3d8('0x2f')]=_['keys'](db[_0xf3d8('0x2b')][_0xf3d8('0x2c')]);_0x458106[_0xf3d8('0x30')]=_[_0xf3d8('0x31')](_0x34ca21[_0xf3d8('0x30')]);_0x458106[_0xf3d8('0x32')]=_['intersection'](_0x458106[_0xf3d8('0x2f')],_0x458106[_0xf3d8('0x30')]);_0x17792e[_0xf3d8('0x34')]=_['intersection'](_0x458106[_0xf3d8('0x2f')],qs[_0xf3d8('0x35')](_0x34ca21[_0xf3d8('0x30')][_0xf3d8('0x35')]));_0x17792e[_0xf3d8('0x34')]=_0x17792e[_0xf3d8('0x34')][_0xf3d8('0x36')]?_0x17792e[_0xf3d8('0x34')]:_0x458106[_0xf3d8('0x2f')];if(_0x34ca21[_0xf3d8('0x30')]['includeAll']){_0x17792e['include']=[{'all':!![]}];}_0x17792e=_[_0xf3d8('0x3d')]({},_0x17792e,_0x34ca21[_0xf3d8('0x3f')]);return db[_0xf3d8('0x2b')][_0xf3d8('0x44')](_0x17792e)[_0xf3d8('0x24')](handleEntityNotFound(_0x3cd2cf,null))['then'](respondWithResult(_0x3cd2cf,null))[_0xf3d8('0x45')](handleError(_0x3cd2cf,null));};exports[_0xf3d8('0x46')]=function(_0x3c20e4,_0x3dc682){return db['Dynamics365Field'][_0xf3d8('0x46')](_0x3c20e4[_0xf3d8('0x47')],{})[_0xf3d8('0x24')](respondWithResult(_0x3dc682,0xc9))['catch'](handleError(_0x3dc682,null));};exports[_0xf3d8('0x23')]=function(_0x5b0ea1,_0x447ad0){if(_0x5b0ea1[_0xf3d8('0x47')]['id']){delete _0x5b0ea1[_0xf3d8('0x47')]['id'];}return db[_0xf3d8('0x2b')][_0xf3d8('0x44')]({'where':{'id':_0x5b0ea1[_0xf3d8('0x43')]['id']}})[_0xf3d8('0x24')](handleEntityNotFound(_0x447ad0,null))[_0xf3d8('0x24')](saveUpdates(_0x5b0ea1[_0xf3d8('0x47')],null))[_0xf3d8('0x24')](respondWithResult(_0x447ad0,null))[_0xf3d8('0x45')](handleError(_0x447ad0,null));};exports[_0xf3d8('0x25')]=function(_0x5294a8,_0x70bfcb){return db['Dynamics365Field']['find']({'where':{'id':_0x5294a8['params']['id']}})[_0xf3d8('0x24')](handleEntityNotFound(_0x70bfcb,null))[_0xf3d8('0x24')](removeEntity(_0x70bfcb,null))[_0xf3d8('0x45')](handleError(_0x70bfcb,null));};